//
// Copyright (C) 2019 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/metrics/metrics.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { AdServicesMetric } from "./android/ad_services_metric_pb";
import { file_protos_perfetto_metrics_android_ad_services_metric } from "./android/ad_services_metric_pb";
import type { AndroidBootMetric } from "./android/android_boot_pb";
import { file_protos_perfetto_metrics_android_android_boot } from "./android/android_boot_pb";
import type { AndroidBootUnagg } from "./android/android_boot_unagg_pb";
import { file_protos_perfetto_metrics_android_android_boot_unagg } from "./android/android_boot_unagg_pb";
import type { AndroidGarbageCollectionStats } from "./android/android_garbage_collection_stats_pb";
import { file_protos_perfetto_metrics_android_android_garbage_collection_stats } from "./android/android_garbage_collection_stats_pb";
import type { AndroidGarbageCollectionUnaggMetric } from "./android/android_garbage_collection_unagg_metric_pb";
import { file_protos_perfetto_metrics_android_android_garbage_collection_unagg_metric } from "./android/android_garbage_collection_unagg_metric_pb";
import type { AndroidAutoMultiuserMetric } from "./android/auto_metric_pb";
import { file_protos_perfetto_metrics_android_auto_metric } from "./android/auto_metric_pb";
import type { SysuiNotifShadeListBuilderMetric } from "./android/sysui_notif_shade_list_builder_metric_pb";
import { file_protos_perfetto_metrics_android_sysui_notif_shade_list_builder_metric } from "./android/sysui_notif_shade_list_builder_metric_pb";
import type { SysuiUpdateNotifOnUiModeChangedMetric } from "./android/sysui_update_notif_on_ui_mode_changed_metric_pb";
import { file_protos_perfetto_metrics_android_sysui_update_notif_on_ui_mode_changed_metric } from "./android/sysui_update_notif_on_ui_mode_changed_metric_pb";
import type { AndroidFrameTimelineMetric } from "./android/android_frame_timeline_metric_pb";
import { file_protos_perfetto_metrics_android_android_frame_timeline_metric } from "./android/android_frame_timeline_metric_pb";
import type { AndroidAnrMetric } from "./android/anr_metric_pb";
import { file_protos_perfetto_metrics_android_anr_metric } from "./android/anr_metric_pb";
import type { AndroidBatteryMetric } from "./android/batt_metric_pb";
import { file_protos_perfetto_metrics_android_batt_metric } from "./android/batt_metric_pb";
import type { AndroidSysUINotificationsBlockingCallsMetric } from "./android/android_sysui_notifications_blocking_calls_metric_pb";
import { file_protos_perfetto_metrics_android_android_sysui_notifications_blocking_calls_metric } from "./android/android_sysui_notifications_blocking_calls_metric_pb";
import type { AndroidBlockingCallsCujMetric } from "./android/android_blocking_calls_cuj_metric_pb";
import { file_protos_perfetto_metrics_android_android_blocking_calls_cuj_metric } from "./android/android_blocking_calls_cuj_metric_pb";
import type { AndroidCujBlockingCallsPerFrameMetric } from "./android/android_blocking_calls_cuj_per_frame_metric_pb";
import { file_protos_perfetto_metrics_android_android_blocking_calls_cuj_per_frame_metric } from "./android/android_blocking_calls_cuj_per_frame_metric_pb";
import type { AndroidBlockingCallsUnagg } from "./android/android_blocking_calls_unagg_pb";
import { file_protos_perfetto_metrics_android_android_blocking_calls_unagg } from "./android/android_blocking_calls_unagg_pb";
import type { AndroidCodecMetrics } from "./android/codec_metrics_pb";
import { file_protos_perfetto_metrics_android_codec_metrics } from "./android/codec_metrics_pb";
import type { AndroidCpuMetric } from "./android/cpu_metric_pb";
import { file_protos_perfetto_metrics_android_cpu_metric } from "./android/cpu_metric_pb";
import type { AndroidCameraMetric } from "./android/camera_metric_pb";
import { file_protos_perfetto_metrics_android_camera_metric } from "./android/camera_metric_pb";
import type { AndroidCameraUnaggregatedMetric } from "./android/camera_unagg_metric_pb";
import { file_protos_perfetto_metrics_android_camera_unagg_metric } from "./android/camera_unagg_metric_pb";
import type { AndroidDisplayMetrics } from "./android/display_metrics_pb";
import { file_protos_perfetto_metrics_android_display_metrics } from "./android/display_metrics_pb";
import type { AndroidDmaHeapMetric } from "./android/dma_heap_metric_pb";
import { file_protos_perfetto_metrics_android_dma_heap_metric } from "./android/dma_heap_metric_pb";
import type { AndroidDvfsMetric } from "./android/dvfs_metric_pb";
import { file_protos_perfetto_metrics_android_dvfs_metric } from "./android/dvfs_metric_pb";
import type { AndroidFastrpcMetric } from "./android/fastrpc_metric_pb";
import { file_protos_perfetto_metrics_android_fastrpc_metric } from "./android/fastrpc_metric_pb";
import type { G2dMetrics } from "./android/g2d_metric_pb";
import { file_protos_perfetto_metrics_android_g2d_metric } from "./android/g2d_metric_pb";
import type { AndroidGpuMetric } from "./android/gpu_metric_pb";
import { file_protos_perfetto_metrics_android_gpu_metric } from "./android/gpu_metric_pb";
import type { AndroidHwcomposerMetrics } from "./android/hwcomposer_pb";
import { file_protos_perfetto_metrics_android_hwcomposer } from "./android/hwcomposer_pb";
import type { AndroidHwuiMetric } from "./android/hwui_metric_pb";
import { file_protos_perfetto_metrics_android_hwui_metric } from "./android/hwui_metric_pb";
import type { AndroidIo } from "./android/io_metric_pb";
import { file_protos_perfetto_metrics_android_io_metric } from "./android/io_metric_pb";
import type { AndroidIoUnaggregated } from "./android/io_unagg_metric_pb";
import { file_protos_perfetto_metrics_android_io_unagg_metric } from "./android/io_unagg_metric_pb";
import type { AndroidIonMetric } from "./android/ion_metric_pb";
import { file_protos_perfetto_metrics_android_ion_metric } from "./android/ion_metric_pb";
import type { AndroidIrqRuntimeMetric } from "./android/irq_runtime_metric_pb";
import { file_protos_perfetto_metrics_android_irq_runtime_metric } from "./android/irq_runtime_metric_pb";
import type { AndroidJankCujMetric } from "./android/jank_cuj_metric_pb";
import { file_protos_perfetto_metrics_android_jank_cuj_metric } from "./android/jank_cuj_metric_pb";
import type { JavaHeapHistogram } from "./android/java_heap_histogram_pb";
import { file_protos_perfetto_metrics_android_java_heap_histogram } from "./android/java_heap_histogram_pb";
import type { JavaHeapClassStats } from "./android/java_heap_class_stats_pb";
import { file_protos_perfetto_metrics_android_java_heap_class_stats } from "./android/java_heap_class_stats_pb";
import type { JavaHeapStats } from "./android/java_heap_stats_pb";
import { file_protos_perfetto_metrics_android_java_heap_stats } from "./android/java_heap_stats_pb";
import type { AndroidLmkMetric } from "./android/lmk_metric_pb";
import { file_protos_perfetto_metrics_android_lmk_metric } from "./android/lmk_metric_pb";
import type { AndroidLmkReasonMetric } from "./android/lmk_reason_metric_pb";
import { file_protos_perfetto_metrics_android_lmk_reason_metric } from "./android/lmk_reason_metric_pb";
import type { AndroidMemoryMetric } from "./android/mem_metric_pb";
import { file_protos_perfetto_metrics_android_mem_metric } from "./android/mem_metric_pb";
import type { AndroidMemoryUnaggregatedMetric } from "./android/mem_unagg_metric_pb";
import { file_protos_perfetto_metrics_android_mem_unagg_metric } from "./android/mem_unagg_metric_pb";
import type { AndroidMultiuserMetric } from "./android/multiuser_metric_pb";
import { file_protos_perfetto_metrics_android_multiuser_metric } from "./android/multiuser_metric_pb";
import type { AndroidNetworkMetric } from "./android/network_metric_pb";
import { file_protos_perfetto_metrics_android_network_metric } from "./android/network_metric_pb";
import type { AndroidPackageList } from "./android/package_list_pb";
import { file_protos_perfetto_metrics_android_package_list } from "./android/package_list_pb";
import type { AndroidPowerRails } from "./android/powrails_metric_pb";
import { file_protos_perfetto_metrics_android_powrails_metric } from "./android/powrails_metric_pb";
import type { ProfilerSmaps } from "./android/profiler_smaps_pb";
import { file_protos_perfetto_metrics_android_profiler_smaps } from "./android/profiler_smaps_pb";
import type { AndroidRtRuntimeMetric } from "./android/rt_runtime_metric_pb";
import { file_protos_perfetto_metrics_android_rt_runtime_metric } from "./android/rt_runtime_metric_pb";
import type { AndroidSimpleperfMetric } from "./android/simpleperf_pb";
import { file_protos_perfetto_metrics_android_simpleperf } from "./android/simpleperf_pb";
import type { AndroidStartupMetric } from "./android/startup_metric_pb";
import { file_protos_perfetto_metrics_android_startup_metric } from "./android/startup_metric_pb";
import type { AndroidSurfaceflingerMetric } from "./android/surfaceflinger_pb";
import { file_protos_perfetto_metrics_android_surfaceflinger } from "./android/surfaceflinger_pb";
import type { AndroidTaskNames } from "./android/task_names_pb";
import { file_protos_perfetto_metrics_android_task_names } from "./android/task_names_pb";
import type { AndroidTraceQualityMetric } from "./android/trace_quality_pb";
import { file_protos_perfetto_metrics_android_trace_quality } from "./android/trace_quality_pb";
import type { UnsymbolizedFrames } from "./android/unsymbolized_frames_pb";
import { file_protos_perfetto_metrics_android_unsymbolized_frames } from "./android/unsymbolized_frames_pb";
import type { AndroidBinderMetric } from "./android/binder_metric_pb";
import { file_protos_perfetto_metrics_android_binder_metric } from "./android/binder_metric_pb";
import type { AndroidMonitorContentionMetric } from "./android/monitor_contention_metric_pb";
import { file_protos_perfetto_metrics_android_monitor_contention_metric } from "./android/monitor_contention_metric_pb";
import type { AndroidMonitorContentionAggMetric } from "./android/monitor_contention_agg_metric_pb";
import { file_protos_perfetto_metrics_android_monitor_contention_agg_metric } from "./android/monitor_contention_agg_metric_pb";
import type { AndroidAppProcessStartsMetric } from "./android/app_process_starts_metric_pb";
import { file_protos_perfetto_metrics_android_app_process_starts_metric } from "./android/app_process_starts_metric_pb";
import type { AndroidOomAdjusterMetric } from "./android/android_oom_adjuster_metric_pb";
import { file_protos_perfetto_metrics_android_android_oom_adjuster_metric } from "./android/android_oom_adjuster_metric_pb";
import type { AndroidBroadcastsMetric } from "./android/android_broadcasts_metric_pb";
import { file_protos_perfetto_metrics_android_android_broadcasts_metric } from "./android/android_broadcasts_metric_pb";
import type { AndroidWattsonTimePeriodMetric } from "./android/wattson_in_time_period_pb";
import { file_protos_perfetto_metrics_android_wattson_in_time_period } from "./android/wattson_in_time_period_pb";
import type { AndroidAnomalyMetric } from "./android/android_anomaly_metric_pb";
import { file_protos_perfetto_metrics_android_android_anomaly_metric } from "./android/android_anomaly_metric_pb";
import type { AndroidWattsonTasksAttributionMetric } from "./android/wattson_tasks_attribution_pb";
import { file_protos_perfetto_metrics_android_wattson_tasks_attribution } from "./android/wattson_tasks_attribution_pb";
import type { CloneDuration } from "./common/clone_duration_pb";
import { file_protos_perfetto_metrics_common_clone_duration } from "./common/clone_duration_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/metrics/metrics.proto.
 */
export const file_protos_perfetto_metrics_metrics: GenFile = /*@__PURE__*/
  fileDesc("CiVwcm90b3MvcGVyZmV0dG8vbWV0cmljcy9tZXRyaWNzLnByb3RvEg9wZXJmZXR0by5wcm90b3Mi2AMKDVRyYWNlTWV0YWRhdGESGQoRdHJhY2VfZHVyYXRpb25fbnMYAiABKAMSEgoKdHJhY2VfdXVpZBgDIAEoCRIhChlhbmRyb2lkX2J1aWxkX2ZpbmdlcnByaW50GAQgASgJEiMKG2FuZHJvaWRfZGV2aWNlX21hbnVmYWN0dXJlchgQIAEoCRIpCiFzdGF0c2RfdHJpZ2dlcmluZ19zdWJzY3JpcHRpb25faWQYBSABKAMSGAoQdHJhY2Vfc2l6ZV9ieXRlcxgGIAEoAxIVCg10cmFjZV90cmlnZ2VyGAcgAygJEhwKFHRyYWNlX2NhdXNhbF90cmlnZ2VyGBEgASgJEhsKE3VuaXF1ZV9zZXNzaW9uX25hbWUYCCABKAkSGgoSdHJhY2VfY29uZmlnX3BidHh0GAkgASgJEhkKEXNjaGVkX2R1cmF0aW9uX25zGAogASgDEhoKEnRyYWNpbmdfc3RhcnRlZF9ucxgLIAEoAxIbChNhbmRyb2lkX3Nka192ZXJzaW9uGAwgASgDEhUKDXN1c3BlbmRfY291bnQYDSABKAMSFwoPZGF0YV9sb3NzX2NvdW50GA4gASgDEhMKC2Vycm9yX2NvdW50GA8gASgDSgQIARACIqEDChJUcmFjZUFuYWx5c2lzU3RhdHMSNgoEc3RhdBgBIAMoCzIoLnBlcmZldHRvLnByb3Rvcy5UcmFjZUFuYWx5c2lzU3RhdHMuU3RhdBqsAQoEU3RhdBIMCgRuYW1lGAEgASgJEgsKA2lkeBgCIAEoDRI+CghzZXZlcml0eRgDIAEoDjIsLnBlcmZldHRvLnByb3Rvcy5UcmFjZUFuYWx5c2lzU3RhdHMuU2V2ZXJpdHkSOgoGc291cmNlGAQgASgOMioucGVyZmV0dG8ucHJvdG9zLlRyYWNlQW5hbHlzaXNTdGF0cy5Tb3VyY2USDQoFY291bnQYBSABKAMiXwoIU2V2ZXJpdHkSFAoQU0VWRVJJVFlfVU5LTk9XThAAEhEKDVNFVkVSSVRZX0lORk8QARIWChJTRVZFUklUWV9EQVRBX0xPU1MQAhISCg5TRVZFUklUWV9FUlJPUhADIkMKBlNvdXJjZRISCg5TT1VSQ0VfVU5LTk9XThAAEhAKDFNPVVJDRV9UUkFDRRABEhMKD1NPVVJDRV9BTkFMWVNJUxACIr0mCgxUcmFjZU1ldHJpY3MSOwoMYW5kcm9pZF9iYXR0GAUgASgLMiUucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRCYXR0ZXJ5TWV0cmljEjYKC2FuZHJvaWRfY3B1GAYgASgLMiEucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRDcHVNZXRyaWMSOQoLYW5kcm9pZF9tZW0YASABKAsyJC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZE1lbW9yeU1ldHJpYxJLChFhbmRyb2lkX21lbV91bmFnZxgLIAEoCzIwLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkTWVtb3J5VW5hZ2dyZWdhdGVkTWV0cmljEkEKFGFuZHJvaWRfcGFja2FnZV9saXN0GAwgASgLMiMucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRQYWNrYWdlTGlzdBI2CgthbmRyb2lkX2lvbhgJIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkSW9uTWV0cmljEj4KD2FuZHJvaWRfZmFzdHJwYxgfIAEoCzIlLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkRmFzdHJwY01ldHJpYxI2CgthbmRyb2lkX2xtaxgIIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkTG1rTWV0cmljEjwKEGFuZHJvaWRfcG93cmFpbHMYByABKAsyIi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFBvd2VyUmFpbHMSPgoPYW5kcm9pZF9zdGFydHVwGAIgASgLMiUucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTdGFydHVwTWV0cmljEjYKDnRyYWNlX21ldGFkYXRhGAMgASgLMh4ucGVyZmV0dG8ucHJvdG9zLlRyYWNlTWV0YWRhdGESOAoLdHJhY2Vfc3RhdHMYISABKAsyIy5wZXJmZXR0by5wcm90b3MuVHJhY2VBbmFseXNpc1N0YXRzEkAKE3Vuc3ltYm9saXplZF9mcmFtZXMYDyABKAsyIy5wZXJmZXR0by5wcm90b3MuVW5zeW1ib2xpemVkRnJhbWVzEjcKD2phdmFfaGVhcF9zdGF0cxgRIAEoCzIeLnBlcmZldHRvLnByb3Rvcy5KYXZhSGVhcFN0YXRzEj8KE2phdmFfaGVhcF9oaXN0b2dyYW0YFSABKAsyIi5wZXJmZXR0by5wcm90b3MuSmF2YUhlYXBIaXN0b2dyYW0SQgoVamF2YV9oZWFwX2NsYXNzX3N0YXRzGEMgASgLMiMucGVyZmV0dG8ucHJvdG9zLkphdmFIZWFwQ2xhc3NTdGF0cxJDChJhbmRyb2lkX2xta19yZWFzb24YEiABKAsyJy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZExta1JlYXNvbk1ldHJpYxI/ChNhbmRyb2lkX2h3dWlfbWV0cmljGBQgASgLMiIucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRId3VpTWV0cmljEj8KD2Rpc3BsYXlfbWV0cmljcxgWIAEoCzImLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkRGlzcGxheU1ldHJpY3MSPQoSYW5kcm9pZF90YXNrX25hbWVzGBcgASgLMiEucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRUYXNrTmFtZXMSTAoWYW5kcm9pZF9zdXJmYWNlZmxpbmdlchgZIAEoCzIsLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkU3VyZmFjZWZsaW5nZXJNZXRyaWMSNgoLYW5kcm9pZF9ncHUYGiABKAsyIS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEdwdU1ldHJpYxI/ChBhbmRyb2lkX2phbmtfY3VqGDAgASgLMiUucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRKYW5rQ3VqTWV0cmljEkUKEmFuZHJvaWRfaHdjb21wb3NlchgcIAEoCzIpLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkSHdjb21wb3Nlck1ldHJpY3MSKAoDZzJkGB4gASgLMhsucGVyZmV0dG8ucHJvdG9zLkcyZE1ldHJpY3MSPwoQYW5kcm9pZF9kbWFfaGVhcBggIAEoCzIlLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkRG1hSGVhcE1ldHJpYxJJChVhbmRyb2lkX3RyYWNlX3F1YWxpdHkYIiABKAsyKi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFRyYWNlUXVhbGl0eU1ldHJpYxI2Cg5wcm9maWxlcl9zbWFwcxgjIAEoCzIeLnBlcmZldHRvLnByb3Rvcy5Qcm9maWxlclNtYXBzEkIKEWFuZHJvaWRfbXVsdGl1c2VyGCQgASgLMicucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRNdWx0aXVzZXJNZXRyaWMSRAoSYW5kcm9pZF9zaW1wbGVwZXJmGCUgASgLMigucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRTaW1wbGVwZXJmTWV0cmljEjwKDmFuZHJvaWRfY2FtZXJhGCYgASgLMiQucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRDYW1lcmFNZXRyaWMSOAoMYW5kcm9pZF9kdmZzGCcgASgLMiIucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWREdmZzTWV0cmljEj4KD2FuZHJvaWRfbmV0cGVyZhgoIAEoCzIlLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkTmV0d29ya01ldHJpYxJOChRhbmRyb2lkX2NhbWVyYV91bmFnZxgpIAEoCzIwLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkQ2FtZXJhVW5hZ2dyZWdhdGVkTWV0cmljEkMKEmFuZHJvaWRfcnRfcnVudGltZRgqIAEoCzInLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkUnRSdW50aW1lTWV0cmljEkUKE2FuZHJvaWRfaXJxX3J1bnRpbWUYKyABKAsyKC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZElycVJ1bnRpbWVNZXRyaWMSPAoOYW5kcm9pZF9iaW5kZXIYLiABKAsyJC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJpbmRlck1ldHJpYxJSCh1hbmRyb2lkX2ZyYW1lX3RpbWVsaW5lX21ldHJpYxgvIAEoCzIrLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkRnJhbWVUaW1lbGluZU1ldHJpYxJZCiFhbmRyb2lkX2Jsb2NraW5nX2NhbGxzX2N1al9tZXRyaWMYMSABKAsyLi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJsb2NraW5nQ2FsbHNDdWpNZXRyaWMSUwoaYW5kcm9pZF9tb25pdG9yX2NvbnRlbnRpb24YMiABKAsyLy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZE1vbml0b3JDb250ZW50aW9uTWV0cmljEngKMWFuZHJvaWRfc3lzdWlfbm90aWZpY2F0aW9uc19ibG9ja2luZ19jYWxsc19tZXRyaWMYMyABKAsyPS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFN5c1VJTm90aWZpY2F0aW9uc0Jsb2NraW5nQ2FsbHNNZXRyaWMSOwoNY29kZWNfbWV0cmljcxg0IAEoCzIkLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkQ29kZWNNZXRyaWNzEi4KCmFuZHJvaWRfaW8YNSABKAsyGi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZElvEkAKEGFuZHJvaWRfaW9fdW5hZ2cYNiABKAsyJi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZElvVW5hZ2dyZWdhdGVkEjYKC2FuZHJvaWRfYW5yGDcgASgLMiEucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRBbnJNZXRyaWMSWgoeYW5kcm9pZF9tb25pdG9yX2NvbnRlbnRpb25fYWdnGDggASgLMjIucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRNb25pdG9yQ29udGVudGlvbkFnZ01ldHJpYxI4CgxhbmRyb2lkX2Jvb3QYOSABKAsyIi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJvb3RNZXRyaWMSPQoSYWRfc2VydmljZXNfbWV0cmljGDogASgLMiEucGVyZmV0dG8ucHJvdG9zLkFkU2VydmljZXNNZXRyaWMSYAolc3lzdWlfbm90aWZfc2hhZGVfbGlzdF9idWlsZGVyX21ldHJpYxg7IAEoCzIxLnBlcmZldHRvLnByb3Rvcy5TeXN1aU5vdGlmU2hhZGVMaXN0QnVpbGRlck1ldHJpYxJsCixzeXN1aV91cGRhdGVfbm90aWZfb25fdWlfbW9kZV9jaGFuZ2VkX21ldHJpYxg8IAEoCzI2LnBlcmZldHRvLnByb3Rvcy5TeXN1aVVwZGF0ZU5vdGlmT25VaU1vZGVDaGFuZ2VkTWV0cmljElIKGmFuZHJvaWRfYXBwX3Byb2Nlc3Nfc3RhcnRzGD0gASgLMi4ucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRBcHBQcm9jZXNzU3RhcnRzTWV0cmljEj0KEmFuZHJvaWRfYm9vdF91bmFnZxg+IAEoCzIhLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkQm9vdFVuYWdnEl4KIGFuZHJvaWRfZ2FyYmFnZV9jb2xsZWN0aW9uX3VuYWdnGD8gASgLMjQucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRHYXJiYWdlQ29sbGVjdGlvblVuYWdnTWV0cmljEksKFmFuZHJvaWRfYXV0b19tdWx0aXVzZXIYQCABKAsyKy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEF1dG9NdWx0aXVzZXJNZXRyaWMSUAocYW5kcm9pZF9ibG9ja2luZ19jYWxsc191bmFnZxhBIAEoCzIqLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkQmxvY2tpbmdDYWxsc1VuYWdnEkcKFGFuZHJvaWRfb29tX2FkanVzdGVyGEIgASgLMikucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRPb21BZGp1c3Rlck1ldHJpYxJEChJhbmRyb2lkX2Jyb2FkY2FzdHMYRCABKAsyKC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJyb2FkY2FzdHNNZXRyaWMSUgoZd2F0dHNvbl9hcHBfc3RhcnR1cF9yYWlscxhFIAEoCzIvLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkV2F0dHNvblRpbWVQZXJpb2RNZXRyaWMSTAoTd2F0dHNvbl90cmFjZV9yYWlscxhGIAEoCzIvLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkV2F0dHNvblRpbWVQZXJpb2RNZXRyaWMSPgoPYW5kcm9pZF9hbm9tYWx5GEcgASgLMiUucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRBbm9tYWx5TWV0cmljElQKFXdhdHRzb25fdHJhY2VfdGhyZWFkcxhIIAEoCzI1LnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkV2F0dHNvblRhc2tzQXR0cmlidXRpb25NZXRyaWMSVgoXd2F0dHNvbl9tYXJrZXJzX3RocmVhZHMYSSABKAsyNS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFdhdHRzb25UYXNrc0F0dHJpYnV0aW9uTWV0cmljEk4KFXdhdHRzb25fbWFya2Vyc19yYWlscxhKIAEoCzIvLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkV2F0dHNvblRpbWVQZXJpb2RNZXRyaWMSUgoZd2F0dHNvbl9hdHJhY2VfYXBwc19yYWlscxhLIAEoCzIvLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkV2F0dHNvblRpbWVQZXJpb2RNZXRyaWMSWAogYW5kcm9pZF9nYXJiYWdlX2NvbGxlY3Rpb25fc3RhdHMYTCABKAsyLi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEdhcmJhZ2VDb2xsZWN0aW9uU3RhdHMSNgoOY2xvbmVfZHVyYXRpb24YTSABKAsyHi5wZXJmZXR0by5wcm90b3MuQ2xvbmVEdXJhdGlvbhJrCithbmRyb2lkX2Jsb2NraW5nX2NhbGxzX2N1al9wZXJfZnJhbWVfbWV0cmljGE4gASgLMjYucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRDdWpCbG9ja2luZ0NhbGxzUGVyRnJhbWVNZXRyaWMqBgjCAxD0AyoGCPQDEOkHKgYI6QcQ0Q8qBgjRDxDFE0oECAQQBUoECAoQC0oECA0QDkoECA4QD0oECBAQEUoECBMQFEoECBgQGUoECBsQHEoECB0QHkoECCwQLUoECC0QLlIZYW5kcm9pZF90cnVzdHlfd29ya3F1ZXVlc1IUYW5kcm9pZF9vdGhlcl90cmFjZXM", [file_protos_perfetto_metrics_android_ad_services_metric, file_protos_perfetto_metrics_android_android_boot, file_protos_perfetto_metrics_android_android_boot_unagg, file_protos_perfetto_metrics_android_android_garbage_collection_stats, file_protos_perfetto_metrics_android_android_garbage_collection_unagg_metric, file_protos_perfetto_metrics_android_auto_metric, file_protos_perfetto_metrics_android_sysui_notif_shade_list_builder_metric, file_protos_perfetto_metrics_android_sysui_update_notif_on_ui_mode_changed_metric, file_protos_perfetto_metrics_android_android_frame_timeline_metric, file_protos_perfetto_metrics_android_anr_metric, file_protos_perfetto_metrics_android_batt_metric, file_protos_perfetto_metrics_android_android_sysui_notifications_blocking_calls_metric, file_protos_perfetto_metrics_android_android_blocking_calls_cuj_metric, file_protos_perfetto_metrics_android_android_blocking_calls_cuj_per_frame_metric, file_protos_perfetto_metrics_android_android_blocking_calls_unagg, file_protos_perfetto_metrics_android_codec_metrics, file_protos_perfetto_metrics_android_cpu_metric, file_protos_perfetto_metrics_android_camera_metric, file_protos_perfetto_metrics_android_camera_unagg_metric, file_protos_perfetto_metrics_android_display_metrics, file_protos_perfetto_metrics_android_dma_heap_metric, file_protos_perfetto_metrics_android_dvfs_metric, file_protos_perfetto_metrics_android_fastrpc_metric, file_protos_perfetto_metrics_android_g2d_metric, file_protos_perfetto_metrics_android_gpu_metric, file_protos_perfetto_metrics_android_hwcomposer, file_protos_perfetto_metrics_android_hwui_metric, file_protos_perfetto_metrics_android_io_metric, file_protos_perfetto_metrics_android_io_unagg_metric, file_protos_perfetto_metrics_android_ion_metric, file_protos_perfetto_metrics_android_irq_runtime_metric, file_protos_perfetto_metrics_android_jank_cuj_metric, file_protos_perfetto_metrics_android_java_heap_histogram, file_protos_perfetto_metrics_android_java_heap_class_stats, file_protos_perfetto_metrics_android_java_heap_stats, file_protos_perfetto_metrics_android_lmk_metric, file_protos_perfetto_metrics_android_lmk_reason_metric, file_protos_perfetto_metrics_android_mem_metric, file_protos_perfetto_metrics_android_mem_unagg_metric, file_protos_perfetto_metrics_android_multiuser_metric, file_protos_perfetto_metrics_android_network_metric, file_protos_perfetto_metrics_android_package_list, file_protos_perfetto_metrics_android_powrails_metric, file_protos_perfetto_metrics_android_profiler_smaps, file_protos_perfetto_metrics_android_rt_runtime_metric, file_protos_perfetto_metrics_android_simpleperf, file_protos_perfetto_metrics_android_startup_metric, file_protos_perfetto_metrics_android_surfaceflinger, file_protos_perfetto_metrics_android_task_names, file_protos_perfetto_metrics_android_trace_quality, file_protos_perfetto_metrics_android_unsymbolized_frames, file_protos_perfetto_metrics_android_binder_metric, file_protos_perfetto_metrics_android_monitor_contention_metric, file_protos_perfetto_metrics_android_monitor_contention_agg_metric, file_protos_perfetto_metrics_android_app_process_starts_metric, file_protos_perfetto_metrics_android_android_oom_adjuster_metric, file_protos_perfetto_metrics_android_android_broadcasts_metric, file_protos_perfetto_metrics_android_wattson_in_time_period, file_protos_perfetto_metrics_android_android_anomaly_metric, file_protos_perfetto_metrics_android_wattson_tasks_attribution, file_protos_perfetto_metrics_common_clone_duration]);

/**
 * Trace processor metadata
 * Next id: 18
 *
 * @generated from message perfetto.protos.TraceMetadata
 */
export type TraceMetadata = Message<"perfetto.protos.TraceMetadata"> & {
  /**
   * @generated from field: optional int64 trace_duration_ns = 2;
   */
  traceDurationNs: bigint;

  /**
   * @generated from field: optional string trace_uuid = 3;
   */
  traceUuid: string;

  /**
   * @generated from field: optional string android_build_fingerprint = 4;
   */
  androidBuildFingerprint: string;

  /**
   * @generated from field: optional string android_device_manufacturer = 16;
   */
  androidDeviceManufacturer: string;

  /**
   * @generated from field: optional int64 statsd_triggering_subscription_id = 5;
   */
  statsdTriggeringSubscriptionId: bigint;

  /**
   * @generated from field: optional int64 trace_size_bytes = 6;
   */
  traceSizeBytes: bigint;

  /**
   * @generated from field: repeated string trace_trigger = 7;
   */
  traceTrigger: string[];

  /**
   * @generated from field: optional string trace_causal_trigger = 17;
   */
  traceCausalTrigger: string;

  /**
   * @generated from field: optional string unique_session_name = 8;
   */
  uniqueSessionName: string;

  /**
   * @generated from field: optional string trace_config_pbtxt = 9;
   */
  traceConfigPbtxt: string;

  /**
   * @generated from field: optional int64 sched_duration_ns = 10;
   */
  schedDurationNs: bigint;

  /**
   * @generated from field: optional int64 tracing_started_ns = 11;
   */
  tracingStartedNs: bigint;

  /**
   * @generated from field: optional int64 android_sdk_version = 12;
   */
  androidSdkVersion: bigint;

  /**
   * @generated from field: optional int64 suspend_count = 13;
   */
  suspendCount: bigint;

  /**
   * @generated from field: optional int64 data_loss_count = 14;
   */
  dataLossCount: bigint;

  /**
   * @generated from field: optional int64 error_count = 15;
   */
  errorCount: bigint;
};

/**
 * Describes the message perfetto.protos.TraceMetadata.
 * Use `create(TraceMetadataSchema)` to create a new message.
 */
export const TraceMetadataSchema: GenMessage<TraceMetadata> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_metrics, 0);

/**
 * Stats counters for the trace.
 * Defined in src/trace_processor/storage/stats.h
 *
 * @generated from message perfetto.protos.TraceAnalysisStats
 */
export type TraceAnalysisStats = Message<"perfetto.protos.TraceAnalysisStats"> & {
  /**
   * @generated from field: repeated perfetto.protos.TraceAnalysisStats.Stat stat = 1;
   */
  stat: TraceAnalysisStats_Stat[];
};

/**
 * Describes the message perfetto.protos.TraceAnalysisStats.
 * Use `create(TraceAnalysisStatsSchema)` to create a new message.
 */
export const TraceAnalysisStatsSchema: GenMessage<TraceAnalysisStats> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_metrics, 1);

/**
 * @generated from message perfetto.protos.TraceAnalysisStats.Stat
 */
export type TraceAnalysisStats_Stat = Message<"perfetto.protos.TraceAnalysisStats.Stat"> & {
  /**
   * @generated from field: optional string name = 1;
   */
  name: string;

  /**
   * @generated from field: optional uint32 idx = 2;
   */
  idx: number;

  /**
   * @generated from field: optional perfetto.protos.TraceAnalysisStats.Severity severity = 3;
   */
  severity: TraceAnalysisStats_Severity;

  /**
   * @generated from field: optional perfetto.protos.TraceAnalysisStats.Source source = 4;
   */
  source: TraceAnalysisStats_Source;

  /**
   * @generated from field: optional int64 count = 5;
   */
  count: bigint;
};

/**
 * Describes the message perfetto.protos.TraceAnalysisStats.Stat.
 * Use `create(TraceAnalysisStats_StatSchema)` to create a new message.
 */
export const TraceAnalysisStats_StatSchema: GenMessage<TraceAnalysisStats_Stat> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_metrics, 1, 0);

/**
 * @generated from enum perfetto.protos.TraceAnalysisStats.Severity
 */
export enum TraceAnalysisStats_Severity {
  /**
   * @generated from enum value: SEVERITY_UNKNOWN = 0;
   */
  UNKNOWN = 0,

  /**
   * @generated from enum value: SEVERITY_INFO = 1;
   */
  INFO = 1,

  /**
   * @generated from enum value: SEVERITY_DATA_LOSS = 2;
   */
  DATA_LOSS = 2,

  /**
   * @generated from enum value: SEVERITY_ERROR = 3;
   */
  ERROR = 3,
}

/**
 * Describes the enum perfetto.protos.TraceAnalysisStats.Severity.
 */
export const TraceAnalysisStats_SeveritySchema: GenEnum<TraceAnalysisStats_Severity> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_metrics_metrics, 1, 0);

/**
 * @generated from enum perfetto.protos.TraceAnalysisStats.Source
 */
export enum TraceAnalysisStats_Source {
  /**
   * @generated from enum value: SOURCE_UNKNOWN = 0;
   */
  UNKNOWN = 0,

  /**
   * @generated from enum value: SOURCE_TRACE = 1;
   */
  TRACE = 1,

  /**
   * @generated from enum value: SOURCE_ANALYSIS = 2;
   */
  ANALYSIS = 2,
}

/**
 * Describes the enum perfetto.protos.TraceAnalysisStats.Source.
 */
export const TraceAnalysisStats_SourceSchema: GenEnum<TraceAnalysisStats_Source> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_metrics_metrics, 1, 1);

/**
 * Root message for all Perfetto-based metrics.
 *
 * Next id: 78
 *
 * @generated from message perfetto.protos.TraceMetrics
 */
export type TraceMetrics = Message<"perfetto.protos.TraceMetrics"> & {
  /**
   * Battery counters metric on Android.
   *
   * @generated from field: optional perfetto.protos.AndroidBatteryMetric android_batt = 5;
   */
  androidBatt?: AndroidBatteryMetric;

  /**
   * CPU usage per trace, process and thread.
   *
   * @generated from field: optional perfetto.protos.AndroidCpuMetric android_cpu = 6;
   */
  androidCpu?: AndroidCpuMetric;

  /**
   * Memory metrics on Android (owned by the Android Telemetry team).
   *
   * @generated from field: optional perfetto.protos.AndroidMemoryMetric android_mem = 1;
   */
  androidMem?: AndroidMemoryMetric;

  /**
   * Memory metrics on Android in unaggregated form. (owned by the Android
   * Telemetry team).
   * Note: this generates a lot of data so should not be requested unless it
   * is clear that this data is necessary.
   *
   * @generated from field: optional perfetto.protos.AndroidMemoryUnaggregatedMetric android_mem_unagg = 11;
   */
  androidMemUnagg?: AndroidMemoryUnaggregatedMetric;

  /**
   * Package list.
   *
   * @generated from field: optional perfetto.protos.AndroidPackageList android_package_list = 12;
   */
  androidPackageList?: AndroidPackageList;

  /**
   * ion buffer memory metrics.
   *
   * @generated from field: optional perfetto.protos.AndroidIonMetric android_ion = 9;
   */
  androidIon?: AndroidIonMetric;

  /**
   * fastrpc subsystem memory metrics.
   *
   * @generated from field: optional perfetto.protos.AndroidFastrpcMetric android_fastrpc = 31;
   */
  androidFastrpc?: AndroidFastrpcMetric;

  /**
   * Statistics about low memory kills.
   *
   * @generated from field: optional perfetto.protos.AndroidLmkMetric android_lmk = 8;
   */
  androidLmk?: AndroidLmkMetric;

  /**
   * Power Rails metrics on Android.
   *
   * @generated from field: optional perfetto.protos.AndroidPowerRails android_powrails = 7;
   */
  androidPowrails?: AndroidPowerRails;

  /**
   * Startup metrics on Android (owned by the Android Telemetry team).
   *
   * @generated from field: optional perfetto.protos.AndroidStartupMetric android_startup = 2;
   */
  androidStartup?: AndroidStartupMetric;

  /**
   * Trace metadata (applicable to all traces).
   *
   * @generated from field: optional perfetto.protos.TraceMetadata trace_metadata = 3;
   */
  traceMetadata?: TraceMetadata;

  /**
   * Trace stats (applicable to all traces).
   *
   * @generated from field: optional perfetto.protos.TraceAnalysisStats trace_stats = 33;
   */
  traceStats?: TraceAnalysisStats;

  /**
   * Returns stack frames missing symbols.
   *
   * @generated from field: optional perfetto.protos.UnsymbolizedFrames unsymbolized_frames = 15;
   */
  unsymbolizedFrames?: UnsymbolizedFrames;

  /**
   * If the trace contains a heap graph, output allocation statistics.
   *
   * @generated from field: optional perfetto.protos.JavaHeapStats java_heap_stats = 17;
   */
  javaHeapStats?: JavaHeapStats;

  /**
   * If the trace contains a heap graph, output histogram.
   *
   * @generated from field: optional perfetto.protos.JavaHeapHistogram java_heap_histogram = 21;
   */
  javaHeapHistogram?: JavaHeapHistogram;

  /**
   * If the trace contains a heap graph, output stats per heap class.
   *
   * @generated from field: optional perfetto.protos.JavaHeapClassStats java_heap_class_stats = 67;
   */
  javaHeapClassStats?: JavaHeapClassStats;

  /**
   * Metrics used to find potential culprits of low-memory kills.
   *
   * @generated from field: optional perfetto.protos.AndroidLmkReasonMetric android_lmk_reason = 18;
   */
  androidLmkReason?: AndroidLmkReasonMetric;

  /**
   * @generated from field: optional perfetto.protos.AndroidHwuiMetric android_hwui_metric = 20;
   */
  androidHwuiMetric?: AndroidHwuiMetric;

  /**
   * @generated from field: optional perfetto.protos.AndroidDisplayMetrics display_metrics = 22;
   */
  displayMetrics?: AndroidDisplayMetrics;

  /**
   * @generated from field: optional perfetto.protos.AndroidTaskNames android_task_names = 23;
   */
  androidTaskNames?: AndroidTaskNames;

  /**
   * Metric associated with surfaceflinger.
   *
   * @generated from field: optional perfetto.protos.AndroidSurfaceflingerMetric android_surfaceflinger = 25;
   */
  androidSurfaceflinger?: AndroidSurfaceflingerMetric;

  /**
   * GPU metrics on Android.
   *
   * @generated from field: optional perfetto.protos.AndroidGpuMetric android_gpu = 26;
   */
  androidGpu?: AndroidGpuMetric;

  /**
   * Interaction and frame timings for CUJs (important UI transitions).
   *
   * @generated from field: optional perfetto.protos.AndroidJankCujMetric android_jank_cuj = 48;
   */
  androidJankCuj?: AndroidJankCujMetric;

  /**
   * Metric associated with hwcomposer.
   *
   * @generated from field: optional perfetto.protos.AndroidHwcomposerMetrics android_hwcomposer = 28;
   */
  androidHwcomposer?: AndroidHwcomposerMetrics;

  /**
   * G2D metrics.
   *
   * @generated from field: optional perfetto.protos.G2dMetrics g2d = 30;
   */
  g2d?: G2dMetrics;

  /**
   * Dmabuf heap metrics.
   *
   * @generated from field: optional perfetto.protos.AndroidDmaHeapMetric android_dma_heap = 32;
   */
  androidDmaHeap?: AndroidDmaHeapMetric;

  /**
   * Metric to verify the quality of the trace.
   *
   * @generated from field: optional perfetto.protos.AndroidTraceQualityMetric android_trace_quality = 34;
   */
  androidTraceQuality?: AndroidTraceQualityMetric;

  /**
   * Profiler smaps
   *
   * @generated from field: optional perfetto.protos.ProfilerSmaps profiler_smaps = 35;
   */
  profilerSmaps?: ProfilerSmaps;

  /**
   * Multiuser - metrics for switching users.
   *
   * @generated from field: optional perfetto.protos.AndroidMultiuserMetric android_multiuser = 36;
   */
  androidMultiuser?: AndroidMultiuserMetric;

  /**
   * Metrics related to simpleperf tool
   *
   * @generated from field: optional perfetto.protos.AndroidSimpleperfMetric android_simpleperf = 37;
   */
  androidSimpleperf?: AndroidSimpleperfMetric;

  /**
   * Metrics for the Camera team.
   *
   * @generated from field: optional perfetto.protos.AndroidCameraMetric android_camera = 38;
   */
  androidCamera?: AndroidCameraMetric;

  /**
   * Metrics for dynamic voltage and frequency scaling.
   *
   * @generated from field: optional perfetto.protos.AndroidDvfsMetric android_dvfs = 39;
   */
  androidDvfs?: AndroidDvfsMetric;

  /**
   * Metrics for network performance.
   *
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric android_netperf = 40;
   */
  androidNetperf?: AndroidNetworkMetric;

  /**
   * Metrics for the Camera team.
   * Note: this generates a lot of data so should not be requested unless it
   * is clear that this data is necessary.
   *
   * @generated from field: optional perfetto.protos.AndroidCameraUnaggregatedMetric android_camera_unagg = 41;
   */
  androidCameraUnagg?: AndroidCameraUnaggregatedMetric;

  /**
   * Metrics for RT runtime.
   *
   * @generated from field: optional perfetto.protos.AndroidRtRuntimeMetric android_rt_runtime = 42;
   */
  androidRtRuntime?: AndroidRtRuntimeMetric;

  /**
   * Metrics for IRQ runtime.
   *
   * @generated from field: optional perfetto.protos.AndroidIrqRuntimeMetric android_irq_runtime = 43;
   */
  androidIrqRuntime?: AndroidIrqRuntimeMetric;

  /**
   * Per-process Binder transaction metrics.
   *
   * @generated from field: optional perfetto.protos.AndroidBinderMetric android_binder = 46;
   */
  androidBinder?: AndroidBinderMetric;

  /**
   * Metrics for app deadline missed.
   *
   * @generated from field: optional perfetto.protos.AndroidFrameTimelineMetric android_frame_timeline_metric = 47;
   */
  androidFrameTimelineMetric?: AndroidFrameTimelineMetric;

  /**
   * Blocking calls (e.g. binder calls) for CUJs (important UI transitions).
   *
   * @generated from field: optional perfetto.protos.AndroidBlockingCallsCujMetric android_blocking_calls_cuj_metric = 49;
   */
  androidBlockingCallsCujMetric?: AndroidBlockingCallsCujMetric;

  /**
   * @generated from field: optional perfetto.protos.AndroidMonitorContentionMetric android_monitor_contention = 50;
   */
  androidMonitorContention?: AndroidMonitorContentionMetric;

  /**
   * @generated from field: optional perfetto.protos.AndroidSysUINotificationsBlockingCallsMetric android_sysui_notifications_blocking_calls_metric = 51;
   */
  androidSysuiNotificationsBlockingCallsMetric?: AndroidSysUINotificationsBlockingCallsMetric;

  /**
   * Metrics to track codec framework.
   *
   * @generated from field: optional perfetto.protos.AndroidCodecMetrics codec_metrics = 52;
   */
  codecMetrics?: AndroidCodecMetrics;

  /**
   * Metric to track Android IO.
   *
   * @generated from field: optional perfetto.protos.AndroidIo android_io = 53;
   */
  androidIo?: AndroidIo;

  /**
   * IO metrics on Android in unaggregated form.
   * Note: this generates a lot of data so should not be requested unless it
   * is clear that this data is necessary.
   *
   * @generated from field: optional perfetto.protos.AndroidIoUnaggregated android_io_unagg = 54;
   */
  androidIoUnagg?: AndroidIoUnaggregated;

  /**
   * Metrics for App Not Responding (ANR) errors.
   *
   * @generated from field: optional perfetto.protos.AndroidAnrMetric android_anr = 55;
   */
  androidAnr?: AndroidAnrMetric;

  /**
   * Aggregated Android Monitor Contention metrics
   *
   * @generated from field: optional perfetto.protos.AndroidMonitorContentionAggMetric android_monitor_contention_agg = 56;
   */
  androidMonitorContentionAgg?: AndroidMonitorContentionAggMetric;

  /**
   * @generated from field: optional perfetto.protos.AndroidBootMetric android_boot = 57;
   */
  androidBoot?: AndroidBootMetric;

  /**
   * Metric for AdServices module.
   *
   * @generated from field: optional perfetto.protos.AdServicesMetric ad_services_metric = 58;
   */
  adServicesMetric?: AdServicesMetric;

  /**
   * @generated from field: optional perfetto.protos.SysuiNotifShadeListBuilderMetric sysui_notif_shade_list_builder_metric = 59;
   */
  sysuiNotifShadeListBuilderMetric?: SysuiNotifShadeListBuilderMetric;

  /**
   * @generated from field: optional perfetto.protos.SysuiUpdateNotifOnUiModeChangedMetric sysui_update_notif_on_ui_mode_changed_metric = 60;
   */
  sysuiUpdateNotifOnUiModeChangedMetric?: SysuiUpdateNotifOnUiModeChangedMetric;

  /**
   * Metrics for Process starts.
   *
   * @generated from field: optional perfetto.protos.AndroidAppProcessStartsMetric android_app_process_starts = 61;
   */
  androidAppProcessStarts?: AndroidAppProcessStartsMetric;

  /**
   * Android boot unaggregated metrics.
   *
   * @generated from field: optional perfetto.protos.AndroidBootUnagg android_boot_unagg = 62;
   */
  androidBootUnagg?: AndroidBootUnagg;

  /**
   * Android garbage collection metrics
   *
   * @generated from field: optional perfetto.protos.AndroidGarbageCollectionUnaggMetric android_garbage_collection_unagg = 63;
   */
  androidGarbageCollectionUnagg?: AndroidGarbageCollectionUnaggMetric;

  /**
   * Multiuser - metrics for switching users.
   * Specific for Android Auto
   *
   * @generated from field: optional perfetto.protos.AndroidAutoMultiuserMetric android_auto_multiuser = 64;
   */
  androidAutoMultiuser?: AndroidAutoMultiuserMetric;

  /**
   * All blocking calls (e.g. binder calls) for a trace.
   *
   * @generated from field: optional perfetto.protos.AndroidBlockingCallsUnagg android_blocking_calls_unagg = 65;
   */
  androidBlockingCallsUnagg?: AndroidBlockingCallsUnagg;

  /**
   * Android OOM unaggregated metrics.
   *
   * @generated from field: optional perfetto.protos.AndroidOomAdjusterMetric android_oom_adjuster = 66;
   */
  androidOomAdjuster?: AndroidOomAdjusterMetric;

  /**
   * Android Broadcasts aggregated metrics
   *
   * @generated from field: optional perfetto.protos.AndroidBroadcastsMetric android_broadcasts = 68;
   */
  androidBroadcasts?: AndroidBroadcastsMetric;

  /**
   * Android Wattson rail estimate for each app startup.
   *
   * @generated from field: optional perfetto.protos.AndroidWattsonTimePeriodMetric wattson_app_startup_rails = 69;
   */
  wattsonAppStartupRails?: AndroidWattsonTimePeriodMetric;

  /**
   * Android Wattson rail estimate for duration of entire trace.
   *
   * @generated from field: optional perfetto.protos.AndroidWattsonTimePeriodMetric wattson_trace_rails = 70;
   */
  wattsonTraceRails?: AndroidWattsonTimePeriodMetric;

  /**
   * Android Anomaly metric
   *
   * @generated from field: optional perfetto.protos.AndroidAnomalyMetric android_anomaly = 71;
   */
  androidAnomaly?: AndroidAnomalyMetric;

  /**
   * Android Wattson app startup metrics.
   *
   * @generated from field: optional perfetto.protos.AndroidWattsonTasksAttributionMetric wattson_trace_threads = 72;
   */
  wattsonTraceThreads?: AndroidWattsonTasksAttributionMetric;

  /**
   * Android Wattson thread attribution during markers time window.
   *
   * @generated from field: optional perfetto.protos.AndroidWattsonTasksAttributionMetric wattson_markers_threads = 73;
   */
  wattsonMarkersThreads?: AndroidWattsonTasksAttributionMetric;

  /**
   * Android Wattson estimate during markers time window.
   *
   * @generated from field: optional perfetto.protos.AndroidWattsonTimePeriodMetric wattson_markers_rails = 74;
   */
  wattsonMarkersRails?: AndroidWattsonTimePeriodMetric;

  /**
   * Android Wattson estimate during time windows defined by atrace apps.
   *
   * @generated from field: optional perfetto.protos.AndroidWattsonTimePeriodMetric wattson_atrace_apps_rails = 75;
   */
  wattsonAtraceAppsRails?: AndroidWattsonTimePeriodMetric;

  /**
   * Android GC stats.
   *
   * @generated from field: optional perfetto.protos.AndroidGarbageCollectionStats android_garbage_collection_stats = 76;
   */
  androidGarbageCollectionStats?: AndroidGarbageCollectionStats;

  /**
   * @generated from field: optional perfetto.protos.CloneDuration clone_duration = 77;
   */
  cloneDuration?: CloneDuration;

  /**
   * Per-frame blocking calls (e.g. binder calls) during CUJs (important UI transitions).
   *
   * @generated from field: optional perfetto.protos.AndroidCujBlockingCallsPerFrameMetric android_blocking_calls_cuj_per_frame_metric = 78;
   */
  androidBlockingCallsCujPerFrameMetric?: AndroidCujBlockingCallsPerFrameMetric;
};

/**
 * Describes the message perfetto.protos.TraceMetrics.
 * Use `create(TraceMetricsSchema)` to create a new message.
 */
export const TraceMetricsSchema: GenMessage<TraceMetrics> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_metrics, 2);

