设置代理编辑

按照以下步骤开始将 Android 应用程序的性能报告到 Elastic APM

设置 Gradle编辑

要求编辑

要求 最低版本

Android Gradle 插件

7.4.0

Android API 级别

24

对于使用 minSdkVersion < 26 的项目编辑

由于 Android 对 API 级别 < 26(换句话说,早于 Android 8.0)的设备上的 Java 8 功能支持有限,因此您必须为 minSdkVersion 小于 26 的应用程序添加 Java 8+ 反糖支持。如果您没有这样做,您的应用程序在运行使用早于 8.0 的 Android 操作系统版本的设备时可能会崩溃。这是因为 OpenTelemetry Java SDK(此 SDK 基于此)使用 Java 8 功能。

如果您的 minSdkVersion 为 26 或更高,则可以跳过此步骤。

添加 Elastic 代理 Gradle 插件编辑

要自动检测 支持的技术,请将 Elastic APM 代理插件 添加到应用程序的 build.gradle 文件中,如下所示

// Android app's build.gradle file
plugins {
    id "com.android.application"
    id "co.elastic.apm.android" version "0.19.0"
}

添加代理插件后,请对其进行配置。最小的配置将 Elastic APM 服务器端点设置为如下所示

// Android app's build.gradle file
plugins {
    //...
    id "co.elastic.apm.android" version "[latest_version]" 
}

elasticApm {
    // Minimal configuration
    serverUrl = "https://your.elastic.server"

    // Optional
    serviceName = "your app name" 
    serviceVersion = "0.0.0" 
    apiKey = "your server api key" 
    secretToken = "your server auth token" 
}

您可以在 Gradle 插件门户 中找到最新版本。

默认为您的 android.defaultConfig.applicationId 值。

默认为您的 android.defaultConfig.versionName 值。

默认为 null。有关 API 密钥的更多信息,请 点击这里

默认为 null。

当同时提供 secretTokenapiKey 时,apiKey 优先,secretToken 被忽略。

设置您的应用程序编辑

在将您的项目与上述 Gradle 更改同步后,需要在您的 Application 类 中初始化 Elastic APM 代理。此示例展示了配置代理的最简单方法

// Your Application class

class MyApp extends android.app.Application {

    @Override
    public void onCreate() {
        super.onCreate();
        ElasticApmAgent.initialize(this); 
    }
}

初始化 Elastic APM 代理一次。

(可选) 手动设置编辑

如果您无法像上面那样将 Elastic 代理 Gradle 插件添加到您的应用程序,请完成以下步骤以手动设置 Elastic SDK。

添加 SDK 依赖项编辑

将 Elastic APM 代理 SDK 添加到应用程序的 build.gradle 文件中,如下所示

// Android app's build.gradle file
dependencies {
    implementation "co.elastic.apm:android-sdk:0.19.0"
}

配置应用程序的信息和连接参数编辑

  • 设置您的应用程序名称、版本和环境名称,如 此处 所述。
  • 设置您的服务器连接参数,如 此处 所述。

没有 Gradle 插件,Elastic SDK 将无法为其 支持的技术 提供自动检测。

编译并运行编辑

剩下的就是编译并运行您的应用程序。就是这样!

下一步做什么?编辑

初始化代理(使用 Gradle 插件)后,您的应用程序将自动为所有 OkHttp 网络请求(包括由使用 OkHttp 的工具创建的请求,例如 Retrofit)以及所有 ActivityFragment 启动方法创建跟踪。

除了 Gradle 插件提供的自动检测外,无论 Gradle 插件是否可用,当应用程序中出现意外错误时,您都会收到自动崩溃报告。

所有这些事件都将包含一个 会话 ID,该 ID 将相关事件链接在一起,使您能够理解和诊断出现的任何问题。转到 Kibana 中的 APM 应用程序 开始探索您的数据。

如果您需要根据项目的需要自定义 Elastic APM 代理,请参阅 配置。如果您需要创建自己的自定义事务,请参阅 手动检测