UNPKG

perfetto-protos

Version:

Perfetto protos exposed via protobuf-es for browser and node

1,148 lines 43 kB
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; import type { AndroidProcessMetadata } from "./process_metadata_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file protos/perfetto/metrics/android/startup_metric.proto. */ export declare const file_protos_perfetto_metrics_android_startup_metric: GenFile; /** * Android app startup metrics. * * @generated from message perfetto.protos.AndroidStartupMetric */ export type AndroidStartupMetric = Message<"perfetto.protos.AndroidStartupMetric"> & { /** * @generated from field: repeated perfetto.protos.AndroidStartupMetric.Startup startup = 1; */ startup: AndroidStartupMetric_Startup[]; }; /** * Describes the message perfetto.protos.AndroidStartupMetric. * Use `create(AndroidStartupMetricSchema)` to create a new message. */ export declare const AndroidStartupMetricSchema: GenMessage<AndroidStartupMetric>; /** * A simplified view of the task state durations for a thread * and a span of time. * * @generated from message perfetto.protos.AndroidStartupMetric.TaskStateBreakdown */ export type AndroidStartupMetric_TaskStateBreakdown = Message<"perfetto.protos.AndroidStartupMetric.TaskStateBreakdown"> & { /** * @generated from field: optional int64 running_dur_ns = 1; */ runningDurNs: bigint; /** * @generated from field: optional int64 runnable_dur_ns = 2; */ runnableDurNs: bigint; /** * @generated from field: optional int64 uninterruptible_sleep_dur_ns = 3; */ uninterruptibleSleepDurNs: bigint; /** * @generated from field: optional int64 interruptible_sleep_dur_ns = 4; */ interruptibleSleepDurNs: bigint; /** * @generated from field: optional int64 uninterruptible_io_sleep_dur_ns = 5; */ uninterruptibleIoSleepDurNs: bigint; /** * @generated from field: optional int64 uninterruptible_non_io_sleep_dur_ns = 6; */ uninterruptibleNonIoSleepDurNs: bigint; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.TaskStateBreakdown. * Use `create(AndroidStartupMetric_TaskStateBreakdownSchema)` to create a new message. */ export declare const AndroidStartupMetric_TaskStateBreakdownSchema: GenMessage<AndroidStartupMetric_TaskStateBreakdown>; /** * @generated from message perfetto.protos.AndroidStartupMetric.McyclesByCoreType */ export type AndroidStartupMetric_McyclesByCoreType = Message<"perfetto.protos.AndroidStartupMetric.McyclesByCoreType"> & { /** * @generated from field: optional int64 little = 1; */ little: bigint; /** * @generated from field: optional int64 big = 2; */ big: bigint; /** * @generated from field: optional int64 bigger = 3; */ bigger: bigint; /** * @generated from field: optional int64 unknown = 4; */ unknown: bigint; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.McyclesByCoreType. * Use `create(AndroidStartupMetric_McyclesByCoreTypeSchema)` to create a new message. */ export declare const AndroidStartupMetric_McyclesByCoreTypeSchema: GenMessage<AndroidStartupMetric_McyclesByCoreType>; /** * @generated from message perfetto.protos.AndroidStartupMetric.Slice */ export type AndroidStartupMetric_Slice = Message<"perfetto.protos.AndroidStartupMetric.Slice"> & { /** * @generated from field: optional int64 dur_ns = 1; */ durNs: bigint; /** * @generated from field: optional double dur_ms = 2; */ durMs: number; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.Slice. * Use `create(AndroidStartupMetric_SliceSchema)` to create a new message. */ export declare const AndroidStartupMetric_SliceSchema: GenMessage<AndroidStartupMetric_Slice>; /** * Timing information spanning the intent received by the * activity manager to the first frame drawn. * Next id: 38 * * @generated from message perfetto.protos.AndroidStartupMetric.ToFirstFrame */ export type AndroidStartupMetric_ToFirstFrame = Message<"perfetto.protos.AndroidStartupMetric.ToFirstFrame"> & { /** * The duration between the intent received and first frame. * * @generated from field: optional int64 dur_ns = 1; */ durNs: bigint; /** * @generated from field: optional double dur_ms = 17; */ durMs: number; /** * Breakdown of time to first frame by task state for the main thread of * the process starting up. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.TaskStateBreakdown main_thread_by_task_state = 2; */ mainThreadByTaskState?: AndroidStartupMetric_TaskStateBreakdown; /** * The mcycles taken by this startup across all CPUs (broken down by core * type). * * @generated from field: optional perfetto.protos.AndroidStartupMetric.McyclesByCoreType mcycles_by_core_type = 26; */ mcyclesByCoreType?: AndroidStartupMetric_McyclesByCoreType; /** * In this timespan, how many processes (apart from the main activity) were * spawned. * * @generated from field: optional uint32 other_processes_spawned_count = 3; */ otherProcessesSpawnedCount: number; /** * Total time spent in activity manager between the initial intent * and the end of the activity starter. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_manager = 4; */ timeActivityManager?: AndroidStartupMetric_Slice; /** * The following slices follow the typical steps post-fork. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_thread_main = 5; */ timeActivityThreadMain?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_bind_application = 6; */ timeBindApplication?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_start = 7; */ timeActivityStart?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_resume = 8; */ timeActivityResume?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_activity_restart = 21; */ timeActivityRestart?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_choreographer = 9; */ timeChoreographer?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_inflate = 22; */ timeInflate?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_get_resources = 23; */ timeGetResources?: AndroidStartupMetric_Slice; /** * If we are starting a new process, record the duration from the * intent being received to the time we call the zygote. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_before_start_process = 10; */ timeBeforeStartProcess?: AndroidStartupMetric_Slice; /** * The actual duration of the process start (based on the zygote slice). * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_during_start_process = 11; */ timeDuringStartProcess?: AndroidStartupMetric_Slice; /** * The duration from launch to first running state thread of startup * process. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_to_running_state = 35; */ timeToRunningState?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice to_post_fork = 18; */ toPostFork?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice to_activity_thread_main = 19; */ toActivityThreadMain?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice to_bind_application = 20; */ toBindApplication?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_post_fork = 16; */ timePostFork?: AndroidStartupMetric_Slice; /** * Total time on class initialization during app startup. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_class_initialization = 36; */ timeClassInitialization?: AndroidStartupMetric_Slice; /** * The total time spent on opening dex files. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_dex_open = 24; */ timeDexOpen?: AndroidStartupMetric_Slice; /** * Total time spent verifying classes during app startup. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_verify_class = 25; */ timeVerifyClass?: AndroidStartupMetric_Slice; /** * Number of methods that were compiled by JIT during app startup. * * @generated from field: optional uint32 jit_compiled_methods = 27; */ jitCompiledMethods: number; /** * Number of class initializations during app startup. * * @generated from field: optional uint32 class_initialization_count = 37; */ classInitializationCount: number; /** * Time spent running CPU on jit thread pool. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_jit_thread_pool_on_cpu = 28; */ timeJitThreadPoolOnCpu?: AndroidStartupMetric_Slice; /** * Time spent on garbage collection. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_gc_total = 29; */ timeGcTotal?: AndroidStartupMetric_Slice; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_gc_on_cpu = 30; */ timeGcOnCpu?: AndroidStartupMetric_Slice; /** * Time spent in lock contention on the main thread of the process being * started up. This includes *all* types of lock contention not just monitor * contention. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_lock_contention_thread_main = 31; */ timeLockContentionThreadMain?: AndroidStartupMetric_Slice; /** * Time spent in monitor lock contention on the main thread of the * process being started up. This will be a subset of the time counted by * |time_lock_contention_thread_main|. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_monitor_contention_thread_main = 32; */ timeMonitorContentionThreadMain?: AndroidStartupMetric_Slice; /** * Time spent in opening dex files on the main thread of the process * being started up. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_dex_open_thread_main = 33; */ timeDexOpenThreadMain?: AndroidStartupMetric_Slice; /** * Time spent in dlopening .so files on the main thread of the process * being started up. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice time_dlopen_thread_main = 34; */ timeDlopenThreadMain?: AndroidStartupMetric_Slice; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.ToFirstFrame. * Use `create(AndroidStartupMetric_ToFirstFrameSchema)` to create a new message. */ export declare const AndroidStartupMetric_ToFirstFrameSchema: GenMessage<AndroidStartupMetric_ToFirstFrame>; /** * Metrics about startup which were developed by looking at experiments using * high-speed cameras (HSC). * * @generated from message perfetto.protos.AndroidStartupMetric.HscMetrics */ export type AndroidStartupMetric_HscMetrics = Message<"perfetto.protos.AndroidStartupMetric.HscMetrics"> & { /** * The duration of the full "startup" as defined by HSC tests. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice full_startup = 1; */ fullStartup?: AndroidStartupMetric_Slice; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.HscMetrics. * Use `create(AndroidStartupMetric_HscMetricsSchema)` to create a new message. */ export declare const AndroidStartupMetric_HscMetricsSchema: GenMessage<AndroidStartupMetric_HscMetrics>; /** * @generated from message perfetto.protos.AndroidStartupMetric.Activity */ export type AndroidStartupMetric_Activity = Message<"perfetto.protos.AndroidStartupMetric.Activity"> & { /** * @generated from field: optional string name = 1; */ name: string; /** * @generated from field: optional string method = 2; */ method: string; /** * @generated from field: optional int64 ts_method_start = 4; */ tsMethodStart: bigint; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.Activity. * Use `create(AndroidStartupMetric_ActivitySchema)` to create a new message. */ export declare const AndroidStartupMetric_ActivitySchema: GenMessage<AndroidStartupMetric_Activity>; /** * @generated from message perfetto.protos.AndroidStartupMetric.BinderTransaction */ export type AndroidStartupMetric_BinderTransaction = Message<"perfetto.protos.AndroidStartupMetric.BinderTransaction"> & { /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice duration = 1; */ duration?: AndroidStartupMetric_Slice; /** * @generated from field: optional string thread = 2; */ thread: string; /** * @generated from field: optional string destination_thread = 3; */ destinationThread: string; /** * @generated from field: optional string destination_process = 4; */ destinationProcess: string; /** * From * https://cs.android.com/android/platform/superproject/main/+/main:external/perfetto/protos/perfetto/trace/ftrace/binder.proto;l=15;drc=7b6a788162a30802f4c9d8d7a30a54e25edd30f1 * * @generated from field: optional string flags = 5; */ flags: string; /** * From * https://cs.android.com/android/platform/superproject/main/+/main:external/perfetto/protos/perfetto/trace/ftrace/binder.proto;l=14;drc=7b6a788162a30802f4c9d8d7a30a54e25edd30f1 * * @generated from field: optional string code = 6; */ code: string; /** * From * https://cs.android.com/android/platform/superproject/main/+/main:external/perfetto/protos/perfetto/trace/ftrace/binder.proto;l=37;drc=7b6a788162a30802f4c9d8d7a30a54e25edd30f1 * * @generated from field: optional int64 data_size = 7; */ dataSize: bigint; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.BinderTransaction. * Use `create(AndroidStartupMetric_BinderTransactionSchema)` to create a new message. */ export declare const AndroidStartupMetric_BinderTransactionSchema: GenMessage<AndroidStartupMetric_BinderTransaction>; /** * Metrics with information about the status of odex files and the outcome * of the loading process. * Multiple files might be loaded for a single startup. Platform might also * decide to discard an odex file and instead load a fallback, for example * in case the OS or apk were updated. * * @generated from message perfetto.protos.AndroidStartupMetric.OptimizationStatus */ export type AndroidStartupMetric_OptimizationStatus = Message<"perfetto.protos.AndroidStartupMetric.OptimizationStatus"> & { /** * @generated from field: optional string odex_status = 1; */ odexStatus: string; /** * @generated from field: optional string compilation_filter = 2; */ compilationFilter: string; /** * @generated from field: optional string compilation_reason = 3; */ compilationReason: string; /** * @generated from field: optional string location = 4; */ location: string; /** * @generated from field: optional string summary = 5; */ summary: string; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.OptimizationStatus. * Use `create(AndroidStartupMetric_OptimizationStatusSchema)` to create a new message. */ export declare const AndroidStartupMetric_OptimizationStatusSchema: GenMessage<AndroidStartupMetric_OptimizationStatus>; /** * Contains the name and duration of class verification occurred during * the startup. * * @generated from message perfetto.protos.AndroidStartupMetric.VerifyClass */ export type AndroidStartupMetric_VerifyClass = Message<"perfetto.protos.AndroidStartupMetric.VerifyClass"> & { /** * @generated from field: optional string name = 1; */ name: string; /** * @generated from field: optional int64 dur_ns = 2; */ durNs: bigint; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.VerifyClass. * Use `create(AndroidStartupMetric_VerifyClassSchema)` to create a new message. */ export declare const AndroidStartupMetric_VerifyClassSchema: GenMessage<AndroidStartupMetric_VerifyClass>; /** * Contains timestamps of important events which occurred during the * startup. * * @generated from message perfetto.protos.AndroidStartupMetric.EventTimestamps */ export type AndroidStartupMetric_EventTimestamps = Message<"perfetto.protos.AndroidStartupMetric.EventTimestamps"> & { /** * @generated from field: optional int64 intent_received = 1; */ intentReceived: bigint; /** * @generated from field: optional int64 first_frame = 2; */ firstFrame: bigint; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.EventTimestamps. * Use `create(AndroidStartupMetric_EventTimestampsSchema)` to create a new message. */ export declare const AndroidStartupMetric_EventTimestampsSchema: GenMessage<AndroidStartupMetric_EventTimestamps>; /** * Contains information about the state of a system during the app startup. * Useful to put the startup in context. * * @generated from message perfetto.protos.AndroidStartupMetric.SystemState */ export type AndroidStartupMetric_SystemState = Message<"perfetto.protos.AndroidStartupMetric.SystemState"> & { /** * Whether the dex2oat64 process was running concurrent to the startup. * Deprecated as of 10/2022. * * @generated from field: optional bool dex2oat_running = 1 [deprecated = true]; * @deprecated */ dex2oatRunning: boolean; /** * Whether the installd process was running concurrent to the startup. * Deprecated as of 10/2022. * * @generated from field: optional bool installd_running = 2 [deprecated = true]; * @deprecated */ installdRunning: boolean; /** * The number of broadcasts dispatched by the system during the app * launch. * * @generated from field: optional int64 broadcast_dispatched_count = 3; */ broadcastDispatchedCount: bigint; /** * The number of broadcasts received by an app or the system during the * app launch. Note that multiple packages can be subscribed to the same * broadcast so a single dsipatch can cause multiple packages to receive * and process a broadcast. * * @generated from field: optional int64 broadcast_received_count = 4; */ broadcastReceivedCount: bigint; /** * The most active (i.e. consuming the most mcycles) processes during the * app launch excluding the process(es) being launched. * Note: the exact number of returned is an implementation detail and * will likely change over time. * * @generated from field: repeated string most_active_non_launch_processes = 5; */ mostActiveNonLaunchProcesses: string[]; /** * Duration the installd process was running concurrent to the startup. * * @generated from field: optional int64 installd_dur_ns = 6; */ installdDurNs: bigint; /** * Duration the dex2oat64 process was running concurrent to the startup. * * @generated from field: optional int64 dex2oat_dur_ns = 7; */ dex2oatDurNs: bigint; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.SystemState. * Use `create(AndroidStartupMetric_SystemStateSchema)` to create a new message. */ export declare const AndroidStartupMetric_SystemStateSchema: GenMessage<AndroidStartupMetric_SystemState>; /** * Contains detailed information for slow startup causes. * * @generated from message perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed */ export type AndroidStartupMetric_SlowStartReasonDetailed = Message<"perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed"> & { /** * @generated from field: optional string reason = 1; */ reason: string; /** * @generated from field: optional string details = 2; */ details: string; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed. * Use `create(AndroidStartupMetric_SlowStartReasonDetailedSchema)` to create a new message. */ export declare const AndroidStartupMetric_SlowStartReasonDetailedSchema: GenMessage<AndroidStartupMetric_SlowStartReasonDetailed>; /** * Contains information for slow startup causes. * Next id: 11. * * @generated from message perfetto.protos.AndroidStartupMetric.SlowStartReason */ export type AndroidStartupMetric_SlowStartReason = Message<"perfetto.protos.AndroidStartupMetric.SlowStartReason"> & { /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.SlowStartReason.ReasonId reason_id = 1; */ reasonId: AndroidStartupMetric_SlowStartReason_ReasonId; /** * Brief description for human readability. * * @generated from field: optional string reason = 2; */ reason: string; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.SlowStartReason.SeverityLevel severity = 10; */ severity: AndroidStartupMetric_SlowStartReason_SeverityLevel; /** * Expected value (inherited from threshold definition). * * @generated from field: optional perfetto.protos.AndroidStartupMetric.ThresholdValue expected_value = 3; */ expectedValue?: AndroidStartupMetric_ThresholdValue; /** * Actual value, can be used to decide severity level. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.ActualValue actual_value = 4; */ actualValue?: AndroidStartupMetric_ActualValue; /** * Launch duration * * @generated from field: optional int64 launch_dur = 5; */ launchDur: bigint; /** * Sum of durations of slices and thread states in trace_slices_or_threads. * Can be used to decide if a couple of top slices or threads caused the * issue. * * @generated from field: optional int64 duration = 6; */ duration: bigint; /** * Information of a subset of slice and thread sections to focused on, * sorted by the duration in descending order. * By checking out the top slices/threads, developers can identify specific * slices or threads for further investigation. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo trace_slice_sections = 7; */ traceSliceSections?: AndroidStartupMetric_TraceSliceSectionInfo; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo trace_thread_sections = 8; */ traceThreadSections?: AndroidStartupMetric_TraceThreadSectionInfo; /** * Details specific for a reason. * * @generated from field: optional string additional_info = 9; */ additionalInfo: string; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.SlowStartReason. * Use `create(AndroidStartupMetric_SlowStartReasonSchema)` to create a new message. */ export declare const AndroidStartupMetric_SlowStartReasonSchema: GenMessage<AndroidStartupMetric_SlowStartReason>; /** * Points to reason description and solution. * * @generated from enum perfetto.protos.AndroidStartupMetric.SlowStartReason.ReasonId */ export declare enum AndroidStartupMetric_SlowStartReason_ReasonId { /** * @generated from enum value: REASON_ID_UNSPECIFIED = 0; */ REASON_ID_UNSPECIFIED = 0, /** * @generated from enum value: NO_BASELINE_OR_CLOUD_PROFILES = 1; */ NO_BASELINE_OR_CLOUD_PROFILES = 1, /** * @generated from enum value: RUN_FROM_APK = 2; */ RUN_FROM_APK = 2, /** * @generated from enum value: UNLOCK_RUNNING = 3; */ UNLOCK_RUNNING = 3, /** * @generated from enum value: APP_IN_DEBUGGABLE_MODE = 4; */ APP_IN_DEBUGGABLE_MODE = 4, /** * @generated from enum value: GC_ACTIVITY = 5; */ GC_ACTIVITY = 5, /** * @generated from enum value: DEX2OAT_RUNNING = 6; */ DEX2OAT_RUNNING = 6, /** * @generated from enum value: INSTALLD_RUNNING = 7; */ INSTALLD_RUNNING = 7, /** * @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_RUNNABLE = 8; */ MAIN_THREAD_TIME_SPENT_IN_RUNNABLE = 8, /** * @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_INTERRUPTIBLE_SLEEP = 9; */ MAIN_THREAD_TIME_SPENT_IN_INTERRUPTIBLE_SLEEP = 9, /** * @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_BLOCKING_IO = 10; */ MAIN_THREAD_TIME_SPENT_IN_BLOCKING_IO = 10, /** * @generated from enum value: MAIN_THREAD_TIME_SPENT_IN_OPEN_DEX_FILES_FROM_OAT = 11; */ MAIN_THREAD_TIME_SPENT_IN_OPEN_DEX_FILES_FROM_OAT = 11, /** * @generated from enum value: TIME_SPENT_IN_BIND_APPLICATION = 12; */ TIME_SPENT_IN_BIND_APPLICATION = 12, /** * @generated from enum value: TIME_SPENT_IN_VIEW_INFLATION = 13; */ TIME_SPENT_IN_VIEW_INFLATION = 13, /** * @generated from enum value: TIME_SPENT_IN_RESOURCES_MANAGER_GET_RESOURCES = 14; */ TIME_SPENT_IN_RESOURCES_MANAGER_GET_RESOURCES = 14, /** * @generated from enum value: TIME_SPENT_VERIFYING_CLASSES = 15; */ TIME_SPENT_VERIFYING_CLASSES = 15, /** * @generated from enum value: POTENTIAL_CPU_CONTENTION_WITH_ANOTHER_PROCESS = 16; */ POTENTIAL_CPU_CONTENTION_WITH_ANOTHER_PROCESS = 16, /** * @generated from enum value: JIT_ACTIVITY = 17; */ JIT_ACTIVITY = 17, /** * @generated from enum value: MAIN_THREAD_LOCK_CONTENTION = 18; */ MAIN_THREAD_LOCK_CONTENTION = 18, /** * @generated from enum value: MAIN_THREAD_MONITOR_CONTENTION = 19; */ MAIN_THREAD_MONITOR_CONTENTION = 19, /** * @generated from enum value: JIT_COMPILED_METHODS = 20; */ JIT_COMPILED_METHODS = 20, /** * @generated from enum value: BROADCAST_DISPATCHED_COUNT = 21; */ BROADCAST_DISPATCHED_COUNT = 21, /** * @generated from enum value: BROADCAST_RECEIVED_COUNT = 22; */ BROADCAST_RECEIVED_COUNT = 22, /** * @generated from enum value: STARTUP_RUNNING_CONCURRENT = 23; */ STARTUP_RUNNING_CONCURRENT = 23, /** * @generated from enum value: MAIN_THREAD_BINDER_TRANSCATIONS_BLOCKED = 24; */ MAIN_THREAD_BINDER_TRANSCATIONS_BLOCKED = 24 } /** * Describes the enum perfetto.protos.AndroidStartupMetric.SlowStartReason.ReasonId. */ export declare const AndroidStartupMetric_SlowStartReason_ReasonIdSchema: GenEnum<AndroidStartupMetric_SlowStartReason_ReasonId>; /** * Severity level for a reason. * * @generated from enum perfetto.protos.AndroidStartupMetric.SlowStartReason.SeverityLevel */ export declare enum AndroidStartupMetric_SlowStartReason_SeverityLevel { /** * @generated from enum value: SEVERITY_UNSPECIFIED = 0; */ SEVERITY_UNSPECIFIED = 0, /** * @generated from enum value: ERROR = 1; */ ERROR = 1, /** * @generated from enum value: WARNING = 2; */ WARNING = 2, /** * @generated from enum value: INFO = 3; */ INFO = 3 } /** * Describes the enum perfetto.protos.AndroidStartupMetric.SlowStartReason.SeverityLevel. */ export declare const AndroidStartupMetric_SlowStartReason_SeverityLevelSchema: GenEnum<AndroidStartupMetric_SlowStartReason_SeverityLevel>; /** * @generated from message perfetto.protos.AndroidStartupMetric.ThresholdValue */ export type AndroidStartupMetric_ThresholdValue = Message<"perfetto.protos.AndroidStartupMetric.ThresholdValue"> & { /** * Expected value. 1 for true and 0 for false for booleans. * * @generated from field: optional int64 value = 1; */ value: bigint; /** * @generated from field: optional perfetto.protos.AndroidStartupMetric.ThresholdValue.ThresholdUnit unit = 2; */ unit: AndroidStartupMetric_ThresholdValue_ThresholdUnit; /** * For numeric threshold values only. When higher_expected is true, * an app startup is considered performant if actual value is higher * than the threshold. * * @generated from field: optional bool higher_expected = 3; */ higherExpected: boolean; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.ThresholdValue. * Use `create(AndroidStartupMetric_ThresholdValueSchema)` to create a new message. */ export declare const AndroidStartupMetric_ThresholdValueSchema: GenMessage<AndroidStartupMetric_ThresholdValue>; /** * Expected value unit. Enum, e.g. "ns", "%" * * @generated from enum perfetto.protos.AndroidStartupMetric.ThresholdValue.ThresholdUnit */ export declare enum AndroidStartupMetric_ThresholdValue_ThresholdUnit { /** * @generated from enum value: THRESHOLD_UNIT_UNSPECIFIED = 0; */ THRESHOLD_UNIT_UNSPECIFIED = 0, /** * @generated from enum value: NS = 1; */ NS = 1, /** * @generated from enum value: PERCENTAGE = 2; */ PERCENTAGE = 2, /** * @generated from enum value: TRUE_OR_FALSE = 3; */ TRUE_OR_FALSE = 3, /** * @generated from enum value: COUNT = 4; */ COUNT = 4 } /** * Describes the enum perfetto.protos.AndroidStartupMetric.ThresholdValue.ThresholdUnit. */ export declare const AndroidStartupMetric_ThresholdValue_ThresholdUnitSchema: GenEnum<AndroidStartupMetric_ThresholdValue_ThresholdUnit>; /** * @generated from message perfetto.protos.AndroidStartupMetric.ActualValue */ export type AndroidStartupMetric_ActualValue = Message<"perfetto.protos.AndroidStartupMetric.ActualValue"> & { /** * Actual value. 1 for true and 0 for false for booleans. * * @generated from field: optional int64 value = 1; */ value: bigint; /** * Actual duration for percentage thresholds only. * E.g. if the threashold is 20% and the launch_duration is 1000ms, * then the actual duration is more than 200ms. * * @generated from field: optional int64 dur = 2; */ dur: bigint; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.ActualValue. * Use `create(AndroidStartupMetric_ActualValueSchema)` to create a new message. */ export declare const AndroidStartupMetric_ActualValueSchema: GenMessage<AndroidStartupMetric_ActualValue>; /** * Contains information for a section of a slice. * * @generated from message perfetto.protos.AndroidStartupMetric.TraceSliceSection */ export type AndroidStartupMetric_TraceSliceSection = Message<"perfetto.protos.AndroidStartupMetric.TraceSliceSection"> & { /** * @generated from field: optional int64 start_timestamp = 1; */ startTimestamp: bigint; /** * @generated from field: optional int64 end_timestamp = 2; */ endTimestamp: bigint; /** * @generated from field: optional uint32 slice_id = 3; */ sliceId: number; /** * @generated from field: optional string slice_name = 4; */ sliceName: string; /** * @generated from field: optional uint32 process_pid = 5; */ processPid: number; /** * @generated from field: optional uint32 thread_tid = 6; */ threadTid: number; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.TraceSliceSection. * Use `create(AndroidStartupMetric_TraceSliceSectionSchema)` to create a new message. */ export declare const AndroidStartupMetric_TraceSliceSectionSchema: GenMessage<AndroidStartupMetric_TraceSliceSection>; /** * Information for the SliceSections * * @generated from message perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo */ export type AndroidStartupMetric_TraceSliceSectionInfo = Message<"perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo"> & { /** * @generated from field: repeated perfetto.protos.AndroidStartupMetric.TraceSliceSection slice_section = 1; */ sliceSection: AndroidStartupMetric_TraceSliceSection[]; /** * @generated from field: optional int64 start_timestamp = 2; */ startTimestamp: bigint; /** * @generated from field: optional int64 end_timestamp = 3; */ endTimestamp: bigint; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.TraceSliceSectionInfo. * Use `create(AndroidStartupMetric_TraceSliceSectionInfoSchema)` to create a new message. */ export declare const AndroidStartupMetric_TraceSliceSectionInfoSchema: GenMessage<AndroidStartupMetric_TraceSliceSectionInfo>; /** * Contains information for a section of a thread. * * @generated from message perfetto.protos.AndroidStartupMetric.TraceThreadSection */ export type AndroidStartupMetric_TraceThreadSection = Message<"perfetto.protos.AndroidStartupMetric.TraceThreadSection"> & { /** * @generated from field: optional int64 start_timestamp = 1; */ startTimestamp: bigint; /** * @generated from field: optional int64 end_timestamp = 2; */ endTimestamp: bigint; /** * Deprecated as of 09/2024 * * @generated from field: optional uint32 thread_utid = 3; */ threadUtid: number; /** * @generated from field: optional string thread_name = 4; */ threadName: string; /** * @generated from field: optional uint32 process_pid = 5; */ processPid: number; /** * @generated from field: optional uint32 thread_tid = 6; */ threadTid: number; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.TraceThreadSection. * Use `create(AndroidStartupMetric_TraceThreadSectionSchema)` to create a new message. */ export declare const AndroidStartupMetric_TraceThreadSectionSchema: GenMessage<AndroidStartupMetric_TraceThreadSection>; /** * Information for the ThreadSections * * @generated from message perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo */ export type AndroidStartupMetric_TraceThreadSectionInfo = Message<"perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo"> & { /** * @generated from field: repeated perfetto.protos.AndroidStartupMetric.TraceThreadSection thread_section = 1; */ threadSection: AndroidStartupMetric_TraceThreadSection[]; /** * @generated from field: optional int64 start_timestamp = 2; */ startTimestamp: bigint; /** * @generated from field: optional int64 end_timestamp = 3; */ endTimestamp: bigint; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.TraceThreadSectionInfo. * Use `create(AndroidStartupMetric_TraceThreadSectionInfoSchema)` to create a new message. */ export declare const AndroidStartupMetric_TraceThreadSectionInfoSchema: GenMessage<AndroidStartupMetric_TraceThreadSectionInfo>; /** * Next id: 26 * * @generated from message perfetto.protos.AndroidStartupMetric.Startup */ export type AndroidStartupMetric_Startup = Message<"perfetto.protos.AndroidStartupMetric.Startup"> & { /** * Random id uniquely identifying an app startup in this trace. * * @generated from field: optional uint32 startup_id = 1; */ startupId: number; /** * Startup type (cold / warm / hot) * * @generated from field: optional string startup_type = 16; */ startupType: string; /** * Number of CPUs the device has * * @generated from field: optional uint32 cpu_count = 25; */ cpuCount: number; /** * Name of the package launched * * @generated from field: optional string package_name = 2; */ packageName: string; /** * Name of the process launched * * @generated from field: optional string process_name = 3; */ processName: string; /** * Details about the activities launched * * @generated from field: repeated perfetto.protos.AndroidStartupMetric.Activity activities = 11; */ activities: AndroidStartupMetric_Activity[]; /** * Details about slow binder transactions during the startup. The definition * of a slow transaction is an implementation detail. * * @generated from field: repeated perfetto.protos.AndroidStartupMetric.BinderTransaction long_binder_transactions = 14; */ longBinderTransactions: AndroidStartupMetric_BinderTransaction[]; /** * Did we ask the zygote for a new process * * @generated from field: optional bool zygote_new_process = 4; */ zygoteNewProcess: boolean; /** * Number of processes hosting the activity involved in the launch. * This will usually be 1. If it is 0, it is indicative of a data / process * error. If > 1, the process died during startup and the system respawned * it. * * @generated from field: optional uint32 activity_hosting_process_count = 6; */ activityHostingProcessCount: number; /** * Time it takes to display the first frame of the app`s UI. * Details: * https://developer.android.com/topic/performance/vitals/launch-time#time-initial * * @generated from field: optional int64 time_to_initial_display = 22; */ timeToInitialDisplay: bigint; /** * Time to full display (TTFD) is the time ittakes for an app to become * interactive for the user. * Datails: * https://developer.android.com/topic/performance/vitals/launch-time#time-full * * @generated from field: optional int64 time_to_full_display = 23; */ timeToFullDisplay: bigint; /** * Contains timestamps of important events which happened during * the startup. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.EventTimestamps event_timestamps = 13; */ eventTimestamps?: AndroidStartupMetric_EventTimestamps; /** * Timing information spanning the intent received by the * activity manager to the first frame drawn. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.ToFirstFrame to_first_frame = 5; */ toFirstFrame?: AndroidStartupMetric_ToFirstFrame; /** * Details about the process (uid, version, etc) * * @generated from field: optional perfetto.protos.AndroidProcessMetadata process = 7; */ process?: AndroidProcessMetadata; /** * Metrics about startup which were developed by looking at experiments * using high-speed cameras (HSC). * * @generated from field: optional perfetto.protos.AndroidStartupMetric.HscMetrics hsc = 8; */ hsc?: AndroidStartupMetric_HscMetrics; /** * The time taken in the startup from intent received to the start time * of the reportFullyDrawn slice. This should be longer than the time to * first frame as the application decides this after it starts rendering. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.Slice report_fully_drawn = 9; */ reportFullyDrawn?: AndroidStartupMetric_Slice; /** * Contains information about the status of odex files. * * @generated from field: repeated perfetto.protos.AndroidStartupMetric.OptimizationStatus optimization_status = 12; */ optimizationStatus: AndroidStartupMetric_OptimizationStatus[]; /** * Contains information about the class verification. * * @generated from field: repeated perfetto.protos.AndroidStartupMetric.VerifyClass verify_class = 19; */ verifyClass: AndroidStartupMetric_VerifyClass[]; /** * Contains the dlopen file names. * * @generated from field: repeated string dlopen_file = 20; */ dlopenFile: string[]; /** * Package name of startups running concurrent to the launch. * * @generated from field: repeated string startup_concurrent_to_launch = 18; */ startupConcurrentToLaunch: string[]; /** * Contains information about the state of the rest of the system during the * startup. This is useful for getting context about why a startup might * be slow beyond just what the app is doing. * * @generated from field: optional perfetto.protos.AndroidStartupMetric.SystemState system_state = 15; */ systemState?: AndroidStartupMetric_SystemState; /** * A list of identified potential causes for slow startup. * Optional. * * @generated from field: repeated string slow_start_reason = 17; */ slowStartReason: string[]; /** * Same as slow_start_reason, but with more detailed information, obsolete. * * @generated from field: repeated perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed slow_start_reason_detailed = 21; */ slowStartReasonDetailed: AndroidStartupMetric_SlowStartReasonDetailed[]; /** * Similar to slow_start_reason_detailed, but with much more comprehensive * info. such as expected threshold, actual value and threads/slices to * inspect. slow_start_reason will be obsolete once * slow_start_reason_with_details is completed since * slow_start_reason_with_details contains all the data in slow_start_reason * and more. * * @generated from field: repeated perfetto.protos.AndroidStartupMetric.SlowStartReason slow_start_reason_with_details = 24; */ slowStartReasonWithDetails: AndroidStartupMetric_SlowStartReason[]; }; /** * Describes the message perfetto.protos.AndroidStartupMetric.Startup. * Use `create(AndroidStartupMetric_StartupSchema)` to create a new message. */ export declare const AndroidStartupMetric_StartupSchema: GenMessage<AndroidStartupMetric_Startup>; //# sourceMappingURL=startup_metric_pb.d.ts.map