Добавление информации к событиям

Описание HasTracerSystemInfo

Самую важную информацию о сбое предоставляет tracer sdk и вам не надо об этом беспокоиться:

  • date — дата и время наступления события;
  • board — Build.BOARD;
  • brand — Build.BRAND;
  • cpuABI — Build.SUPPORTED_ABIS;
  • device — Build.DEVICE;
  • display — Build.DISPLAY;
  • manufacturer — Build.MANUFACTURER;
  • model — Build.MODEL;
  • osVersionSdkInt — Build.VERSION.SDK_INT;
  • osVersionRelease — Build.VERSION.RELEASE;
  • cpuCount — Runtime.getRuntime().availableProcessors();
  • operatorName — имя оператора (если доступно).

Добавить дополнительную информации к сбою можно в реализации HasTracerSystemInfo в своем приложении:

class MyApplication : Application(), HasTracerSystemInfo {
    override val tracerSystemInfo: Map<String, String>
        get() = mapOf {
            "foo" to "bar",
        }
}
Полезным примером такой информации может быть userId, build flavor или vendor если сборка предназначена для предустановки.

HasTracerSystemInfo.tracerSystemInfo запрашивается каждый раз при наступлении события CRASH и NON-FATAL. Также он будет вызван 1 раз на старте приложения на случай наступления ANR.

Описание TracerCrashReport.log

К событию также прилагаются логи, предшествующие его наступлению. Вы можете добавить логи воспользовавшись методом TracerCrasgReport.log:

// при наступлении какого-то события
TracerCrashReport.log("button 100500 clicked")
// спустя 100500 строчек
TracerCrashReport.report(NoSuchElementException("Nothing here, see logs"))
// во вкладке logs этого non-fatal вы увидите строчку event button 100500 clicked

Логи накапливаются не бесконечно. На данный момент они собираются в циклический буффер размером 64Кб.

Обновлено 21 сентября 2023 г.
Was this information helpful?