Быстрый старт

Регистрация и настройка

Для начала нужно:

  1. Зайти в аккаунт Tracer.
  2. Создать или вступить в организацию.
  3. Добавить андроид проект (нужно быть администратором или владельцем организации).

Подключение зависимостей на Трейсер к проекту

ВАЖНО! При каждом обновлении версии SDK настоятельно рекомендуется делать clean build.

В вашем <project>/settings.gradle.kts добавьте репозитории с плагином Трейсера и рантаймом Трейсера:

pluginManagement { repositories { // другие репозитории c вашими зависимостями mavenCentral() } } dependencyResolutionManagement { repositories { // другие репозитории c вашими зависимостями mavenCentral() } }

В вашем <project>/<app-module>/build.gradle.kts настройте необходимые параметры (подробнее в разделе Настройки конфигурации):

plugins { id("ru.ok.tracer").version("1.0.4") } tracer { create("defaultConfig") { // См. в разделе _«Настройки»_ pluginToken = "PLUGIN_TOKEN" appToken = "APP_TOKEN" // Ваши параметры конфигурации (подробее см. выше) // Например: uploadMapping = true uploadNativeSymbols = true additionalLibrariesPath = projectDir.toString() + "/aVeryNonstandardLibsDirectory" } // Также можно задавать конфигурацию для каждого flavor, buildType, buildVariant. // Конфигурации наследуют defaultConfig. create("debug") { // Параметры... } create("demoDebug") { // Параметры... } } dependencies { implementation(platform("ru.ok.tracer:tracer-platform:1.0.4")) // Плагины независимы друг от друга. Можно подключать только те, // которые необходимы в данный момент. // Сбор и анализ крешей и ANR implementation("ru.ok.tracer:tracer-crash-report") // Сбор и анализ нативных крешей implementation("ru.ok.tracer:tracer-crash-report-native") // Сбор и анализ хипдапмов при OOM implementation("ru.ok.tracer:tracer-heap-dumps") // Анализ потребления дискового места на устройстве implementation("ru.ok.tracer:tracer-disk-usage") // Семплирующий профайлер implementation("ru.ok.tracer:tracer-profiler-sampling") // Систрейс implementation("ru.ok.tracer:tracer-profiler-systrace") }

Включение плагинов трейсера и их конфигурация в проекте

В вашем 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:

ОпцияОписание
setApiUrl или provideApiUrlИзменяет адреса api Tracer-а. Используйте с умом.
setOverrideAppToken или provideOverrideAppTokenПереопределяет appToken из конфигурации gradle-плагина. Используйте с умом.
setDebugUploadОтвечает за включение/выключение загрузки данных в дебажной сборке приложения. По умолчанию загрузка данных выключена.

Deprecated-опции CoreTracerConfiguration.Builder, от которых мы откажемся в ближайшем будущем:

ОпцияОписание
setExperimentalMaxTagsCountПозволяет установить максимальное количество ключей, которые может хранить. По умолчанию установлено 30.

Рекомендуется использовать только для тестов!

Демо приложение

Ознакомиться с примером интеграции можно в нашем демо проекте