设置代理

编辑

此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力修复任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 约束。

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

设置 Gradle

编辑

要求

编辑
要求 最低版本

Android Gradle 插件

7.4.0

Android API 级别

24

对于使用 minSdkVersion < 26 的项目

编辑

由于 Android 对 API 级别 < 26 的设备(换句话说,早于 Android 8.0)的 Java 8 功能的支持有限,您必须为 minSdkVersion 低于 26 的应用添加 Java 8+ 解糖支持。如果不这样做,您的应用程序在运行 Android OS 8.0 之前的版本时可能会崩溃。这是因为此 SDK 所基于的 OpenTelemetry Java 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 Server 端点,如下所示

// 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 代理,请参阅配置。如果您需要创建自己的自定义事务,请参阅手动检测