Быстрый старт с Tracer: регистрация, подключение и помощь
Регистрация и настройка
Для начала процедуры выполните следующие дейсвтия.
- Зайти в учётную запись Tracer.
- Создайте или вступите в организацию.
- Добавить андроид проект (нужно быть администратором или владельцем организации).
Подключение зависимостей на трейсер к проекту
В вашем <project>/settings.gradle
.
pluginManagement {
repositories {
maven { url 'https://artifactory-external.vkpartner.ru/artifactory/maven/' }
}
} dependencyResolutionManagement {
repositories {
maven { url 'https://artifactory-external.vkpartner.ru/artifactory/maven/' }
}
}
В вашем <project>/<app-module>/build.gradle
.
plugins {
id 'ru.ok.tracer' version '0.2.7'
}
tracer {
defaultConfig {
// См. в разделе "Настройки"
pluginToken = "PLUGIN_TOKEN"
appToken = "APP_TOKEN"
// Включает загрузку маппингов для билда. По умолчанию включена
uploadMapping = true
}
// Также можно задавать конфигурацию для каждого flavor, buildType, buildVariant.
// Конфигурации наследуют defaultConfig.
debug {
// Параметры...
}
demoDebug {
// Параметры...
}
}
dependencies {
// Плагины независимы друг от друга. Можно подключать только те,
// которые необходимы в данный момент.
// Сбор и анализ крешей и ANR
implementation "ru.ok.tracer:tracer-crash-report:0.2.7"
// Сбор и анализ нативных крешей
implementation "ru.ok.tracer:tracer-crash-report-native:0.2.7"
// Сбор и анализ хипдапмов при OOM
implementation "ru.ok.tracer:tracer-heap-dumps:0.2.7"
// Анализ потребления дискового места на устройстве
implementation "ru.ok.tracer:tracer-disk-usage:0.2.7"
// Семплирующий профайлер
implementation "ru.ok.tracer:tracer-profiler-sampling:0.2.7"
// Систрейс
implementation "ru.ok.tracer:tracer-profiler-systrace:0.2.7"
}
Включение плагинов трейсера и их конфигурация в проекте
В вашем Application.kt
реализуйте интерфейс HasTracerConfiguration
(см. ниже).
class MyApplication : Application(), HasTracerConfiguration {
override val tracerConfiguration: List<TracerConfiguration>
get() = listOf(
CoreTracerConfiguration.build {
// опции ядра трейсера
},
CrashReportConfiguration.build {
// опции сборщика крэшей
},
CrashFreeConfiguration.build {
// опции подсчета crash free
},
HeapDumpConfiguration.build {
// опции сборщика хипдампов при ООМ
},
DiskUsageConfiguration.build {
// опции анализатора дискового пространства
},
SystraceProfilerConfiguration.build {
// опции systrace-профайлера в продакшене
},
SamplingProfilerConfiguration.build {
// опции семплирующего профайлера
},
)
}
Свойство HasTracerConfiguration.tracerConfiguration
будет запрошена ровно один раз при старте процесса до вызова Application.onCreate
но после Application.attachBaseContext
. В геттере уже можно обращаться к контексту приложения, но еще рано обращаться к тому, что проинициализируется в onCreate
.
Ниже представлено подробное описание опций:.
CoreTracerConfiguration
— смотрите ниже на этой странице.CrashReportConfiguration
иCrashFreeConfiguration
— на странице Crash и ANR.HeapDumpConfiguration
— на странице Heap Dumps.DiskUsageConfiguration
— на странице Disk Usage.SystraceProfilerConfiguration
— на странице Systrace Profiler.SamplingProfilerConfiguration
— на странице Sampling Profiler.
Описание CoreTracerConfiguration
В том редком случае, когда вы захотите сконфигурировать ядро трейсера в вашем проекте, нужно вернуть CoreTracerConfiguration
из HasTracerConfiguration
.
class MyApplication : Application(), HasTracerConfiguration {
override val tracerConfiguration: List<TracerConfiguration>
get() = listOf(
CoreTracerConfiguration.build {
// ваши опции
},
)
}
Ниже представлены опции CoreTracerConfiguration.Builder
.
setEnabled
— не используется и будет удалена в версии 0.3.x, ядро трейсера всегда включено, но не активно пока нет включенных плагинов.setHost
,provideHost
— изменение адреса трейсера.setStatHost
,provideStatHost
— изменение адреса трейсера для функциональности crash free.setCustomAppKey
,provideCustomAppKey
— заменяетsampleUploadToken
из конфигурацииgradle
-плагина.