//
// Copyright (C) 2023 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/android/android_boot.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/metrics/android/android_boot.proto.
 */
export const file_protos_perfetto_metrics_android_android_boot: GenFile = /*@__PURE__*/
  fileDesc("CjJwcm90b3MvcGVyZmV0dG8vbWV0cmljcy9hbmRyb2lkL2FuZHJvaWRfYm9vdC5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIk0KFVByb2Nlc3NTdGF0ZUR1cmF0aW9ucxIRCgl0b3RhbF9kdXIYAiABKAMSIQoZdW5pbnRlcnJ1cHRpYmxlX3NsZWVwX2R1chgDIAEoAyK+FwoRQW5kcm9pZEJvb3RNZXRyaWMSRwoXc3lzdGVtX3NlcnZlcl9kdXJhdGlvbnMYASABKAsyJi5wZXJmZXR0by5wcm90b3MuUHJvY2Vzc1N0YXRlRHVyYXRpb25zEkIKEnN5c3RlbXVpX2R1cmF0aW9ucxgCIAEoCzImLnBlcmZldHRvLnByb3Rvcy5Qcm9jZXNzU3RhdGVEdXJhdGlvbnMSQgoSbGF1bmNoZXJfZHVyYXRpb25zGAMgASgLMiYucGVyZmV0dG8ucHJvdG9zLlByb2Nlc3NTdGF0ZUR1cmF0aW9ucxI9Cg1nbXNfZHVyYXRpb25zGAQgASgLMiYucGVyZmV0dG8ucHJvdG9zLlByb2Nlc3NTdGF0ZUR1cmF0aW9ucxJQChJsYXVuY2hlcl9icmVha2Rvd24YBSABKAsyNC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJvb3RNZXRyaWMuTGF1bmNoZXJCcmVha2Rvd24SaAokZnVsbF90cmFjZV9wcm9jZXNzX3N0YXJ0X2FnZ3JlZ2F0aW9uGAYgASgLMjoucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRCb290TWV0cmljLlByb2Nlc3NTdGFydEFnZ3JlZ2F0aW9uEmcKI3Bvc3RfYm9vdF9wcm9jZXNzX3N0YXJ0X2FnZ3JlZ2F0aW9uGAcgASgLMjoucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRCb290TWV0cmljLlByb2Nlc3NTdGFydEFnZ3JlZ2F0aW9uEmIKGWZ1bGxfdHJhY2VfZ2NfYWdncmVnYXRpb24YCCABKAsyPy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJvb3RNZXRyaWMuR2FyYmFnZUNvbGxlY3Rpb25BZ2dyZWdhdGlvbhJhChhwb3N0X2Jvb3RfZ2NfYWdncmVnYXRpb24YCSABKAsyPy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJvb3RNZXRyaWMuR2FyYmFnZUNvbGxlY3Rpb25BZ2dyZWdhdGlvbhJ3Ci9wb3N0X2Jvb3Rfb29tX2FkanVzdGVyX3RyYW5zaXRpb25fY291bnRzX2dsb2JhbBgKIAMoCzI+LnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkQm9vdE1ldHJpYy5Pb21BZGp1c3RlclRyYW5zaXRpb25Db3VudHMSewozcG9zdF9ib290X29vbV9hZGp1c3Rlcl90cmFuc2l0aW9uX2NvdW50c19ieV9wcm9jZXNzGAsgAygLMj4ucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRCb290TWV0cmljLk9vbUFkanVzdGVyVHJhbnNpdGlvbkNvdW50cxKCAQo6cG9zdF9ib290X29vbV9hZGp1c3Rlcl90cmFuc2l0aW9uX2NvdW50c19ieV9vb21fYWRqX3JlYXNvbhgMIAMoCzI+LnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkQm9vdE1ldHJpYy5Pb21BZGp1c3RlclRyYW5zaXRpb25Db3VudHMSeAoscG9zdF9ib290X29vbV9hZGpfYnVja2V0X2R1cmF0aW9uX2FnZ19nbG9iYWwYDSADKAsyQi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJvb3RNZXRyaWMuT29tQWRqQnVja2V0RHVyYXRpb25BZ2dyZWdhdGlvbhJ8CjBwb3N0X2Jvb3Rfb29tX2Fkal9idWNrZXRfZHVyYXRpb25fYWdnX2J5X3Byb2Nlc3MYDiADKAsyQi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJvb3RNZXRyaWMuT29tQWRqQnVja2V0RHVyYXRpb25BZ2dyZWdhdGlvbhJkCh5wb3N0X2Jvb3Rfb29tX2Fkal9kdXJhdGlvbl9hZ2cYDyADKAsyPC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJvb3RNZXRyaWMuT29tQWRqRHVyYXRpb25BZ2dyZWdhdGlvbhJxCitwb3N0X2Jvb3RfYnJvYWRjYXN0X3Byb2Nlc3NfY291bnRfYnlfaW50ZW50GBAgAygLMjwucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRCb290TWV0cmljLkJyb2FkY2FzdENvdW50QWdncmVnYXRpb24SagokcG9zdF9ib290X2Jyb2FkY2FzdF9jb3VudF9ieV9wcm9jZXNzGBEgAygLMjwucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRCb290TWV0cmljLkJyb2FkY2FzdENvdW50QWdncmVnYXRpb24ScgopcG9zdF9ib290X2Jyb2RjYXN0X2R1cmF0aW9uX2FnZ19ieV9pbnRlbnQYEiADKAsyPy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJvb3RNZXRyaWMuQnJvYWRjYXN0RHVyYXRpb25BZ2dyZWdhdGlvbhJzCipwb3N0X2Jvb3RfYnJvZGNhc3RfZHVyYXRpb25fYWdnX2J5X3Byb2Nlc3MYEyADKAsyPy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEJvb3RNZXRyaWMuQnJvYWRjYXN0RHVyYXRpb25BZ2dyZWdhdGlvbhorChFMYXVuY2hlckJyZWFrZG93bhIWCg5jb2xkX3N0YXJ0X2R1chgBIAEoAxpoChdQcm9jZXNzU3RhcnRBZ2dyZWdhdGlvbhIXCg90b3RhbF9zdGFydF9zdW0YASABKAMSGAoQbnVtX29mX3Byb2Nlc3NlcxgCIAEoAxIaChJhdmVyYWdlX3N0YXJ0X3RpbWUYAyABKAEa8wIKHEdhcmJhZ2VDb2xsZWN0aW9uQWdncmVnYXRpb24SFgoOdG90YWxfZ2NfY291bnQYASABKAMSIAoYbnVtX29mX3Byb2Nlc3Nlc193aXRoX2djGAIgASgDEh4KFm51bV9vZl90aHJlYWRzX3dpdGhfZ2MYAyABKAMSFwoPYXZnX2djX2R1cmF0aW9uGAQgASgBEh8KF2F2Z19ydW5uaW5nX2djX2R1cmF0aW9uGAUgASgBEhUKDWZ1bGxfZ2NfY291bnQYBiABKAMSJQodY29sbGVjdG9yX3RyYW5zaXRpb25fZ2NfY291bnQYByABKAMSFgoOeW91bmdfZ2NfY291bnQYCCABKAMSHQoVbmF0aXZlX2FsbG9jX2djX2NvdW50GAkgASgDEhkKEWV4cGxpY2l0X2djX2NvdW50GAogASgDEhYKDmFsbG9jX2djX2NvdW50GAsgASgDEhcKD21iX3Blcl9tc19vZl9nYxgMIAEoARpjChtPb21BZGp1c3RlclRyYW5zaXRpb25Db3VudHMSDAoEbmFtZRgBIAEoCRISCgpzcmNfYnVja2V0GAIgASgJEhMKC2Rlc3RfYnVja2V0GAMgASgJEg0KBWNvdW50GAQgASgDGlIKH09vbUFkakJ1Y2tldER1cmF0aW9uQWdncmVnYXRpb24SDAoEbmFtZRgBIAEoCRIOCgZidWNrZXQYAiABKAkSEQoJdG90YWxfZHVyGAMgASgDGpsBChlPb21BZGpEdXJhdGlvbkFnZ3JlZ2F0aW9uEhcKD21pbl9vb21fYWRqX2R1chgBIAEoAxIXCg9tYXhfb29tX2Fkal9kdXIYAiABKAMSFwoPYXZnX29vbV9hZGpfZHVyGAMgASgBEhsKE29vbV9hZGpfZXZlbnRfY291bnQYBCABKAMSFgoOb29tX2Fkal9yZWFzb24YBSABKAkaOAoZQnJvYWRjYXN0Q291bnRBZ2dyZWdhdGlvbhIMCgRuYW1lGAEgASgJEg0KBWNvdW50GAIgASgDGm4KHEJyb2FkY2FzdER1cmF0aW9uQWdncmVnYXRpb24SDAoEbmFtZRgBIAEoCRIUCgxhdmdfZHVyYXRpb24YAiABKAESFAoMbWF4X2R1cmF0aW9uGAMgASgDEhQKDHN1bV9kdXJhdGlvbhgEIAEoAw");

/**
 * This metric computes how much time processes spend in UNINTERRUPTIBLE_SLEEP
 * state
 *
 * @generated from message perfetto.protos.ProcessStateDurations
 */
export type ProcessStateDurations = Message<"perfetto.protos.ProcessStateDurations"> & {
  /**
   * @generated from field: optional int64 total_dur = 2;
   */
  totalDur: bigint;

  /**
   * @generated from field: optional int64 uninterruptible_sleep_dur = 3;
   */
  uninterruptibleSleepDur: bigint;
};

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

/**
 * @generated from message perfetto.protos.AndroidBootMetric
 */
export type AndroidBootMetric = Message<"perfetto.protos.AndroidBootMetric"> & {
  /**
   * @generated from field: optional perfetto.protos.ProcessStateDurations system_server_durations = 1;
   */
  systemServerDurations?: ProcessStateDurations;

  /**
   * @generated from field: optional perfetto.protos.ProcessStateDurations systemui_durations = 2;
   */
  systemuiDurations?: ProcessStateDurations;

  /**
   * @generated from field: optional perfetto.protos.ProcessStateDurations launcher_durations = 3;
   */
  launcherDurations?: ProcessStateDurations;

  /**
   * @generated from field: optional perfetto.protos.ProcessStateDurations gms_durations = 4;
   */
  gmsDurations?: ProcessStateDurations;

  /**
   * @generated from field: optional perfetto.protos.AndroidBootMetric.LauncherBreakdown launcher_breakdown = 5;
   */
  launcherBreakdown?: AndroidBootMetric_LauncherBreakdown;

  /**
   * @generated from field: optional perfetto.protos.AndroidBootMetric.ProcessStartAggregation full_trace_process_start_aggregation = 6;
   */
  fullTraceProcessStartAggregation?: AndroidBootMetric_ProcessStartAggregation;

  /**
   * @generated from field: optional perfetto.protos.AndroidBootMetric.ProcessStartAggregation post_boot_process_start_aggregation = 7;
   */
  postBootProcessStartAggregation?: AndroidBootMetric_ProcessStartAggregation;

  /**
   * @generated from field: optional perfetto.protos.AndroidBootMetric.GarbageCollectionAggregation full_trace_gc_aggregation = 8;
   */
  fullTraceGcAggregation?: AndroidBootMetric_GarbageCollectionAggregation;

  /**
   * @generated from field: optional perfetto.protos.AndroidBootMetric.GarbageCollectionAggregation post_boot_gc_aggregation = 9;
   */
  postBootGcAggregation?: AndroidBootMetric_GarbageCollectionAggregation;

  /**
   * @generated from field: repeated perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts post_boot_oom_adjuster_transition_counts_global = 10;
   */
  postBootOomAdjusterTransitionCountsGlobal: AndroidBootMetric_OomAdjusterTransitionCounts[];

  /**
   * @generated from field: repeated perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts post_boot_oom_adjuster_transition_counts_by_process = 11;
   */
  postBootOomAdjusterTransitionCountsByProcess: AndroidBootMetric_OomAdjusterTransitionCounts[];

  /**
   * @generated from field: repeated perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts post_boot_oom_adjuster_transition_counts_by_oom_adj_reason = 12;
   */
  postBootOomAdjusterTransitionCountsByOomAdjReason: AndroidBootMetric_OomAdjusterTransitionCounts[];

  /**
   * @generated from field: repeated perfetto.protos.AndroidBootMetric.OomAdjBucketDurationAggregation post_boot_oom_adj_bucket_duration_agg_global = 13;
   */
  postBootOomAdjBucketDurationAggGlobal: AndroidBootMetric_OomAdjBucketDurationAggregation[];

  /**
   * @generated from field: repeated perfetto.protos.AndroidBootMetric.OomAdjBucketDurationAggregation post_boot_oom_adj_bucket_duration_agg_by_process = 14;
   */
  postBootOomAdjBucketDurationAggByProcess: AndroidBootMetric_OomAdjBucketDurationAggregation[];

  /**
   * @generated from field: repeated perfetto.protos.AndroidBootMetric.OomAdjDurationAggregation post_boot_oom_adj_duration_agg = 15;
   */
  postBootOomAdjDurationAgg: AndroidBootMetric_OomAdjDurationAggregation[];

  /**
   * @generated from field: repeated perfetto.protos.AndroidBootMetric.BroadcastCountAggregation post_boot_broadcast_process_count_by_intent = 16;
   */
  postBootBroadcastProcessCountByIntent: AndroidBootMetric_BroadcastCountAggregation[];

  /**
   * @generated from field: repeated perfetto.protos.AndroidBootMetric.BroadcastCountAggregation post_boot_broadcast_count_by_process = 17;
   */
  postBootBroadcastCountByProcess: AndroidBootMetric_BroadcastCountAggregation[];

  /**
   * @generated from field: repeated perfetto.protos.AndroidBootMetric.BroadcastDurationAggregation post_boot_brodcast_duration_agg_by_intent = 18;
   */
  postBootBrodcastDurationAggByIntent: AndroidBootMetric_BroadcastDurationAggregation[];

  /**
   * @generated from field: repeated perfetto.protos.AndroidBootMetric.BroadcastDurationAggregation post_boot_brodcast_duration_agg_by_process = 19;
   */
  postBootBrodcastDurationAggByProcess: AndroidBootMetric_BroadcastDurationAggregation[];
};

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

/**
 * Launcher related boot metrics
 *
 * @generated from message perfetto.protos.AndroidBootMetric.LauncherBreakdown
 */
export type AndroidBootMetric_LauncherBreakdown = Message<"perfetto.protos.AndroidBootMetric.LauncherBreakdown"> & {
  /**
   *  reports cold start time of NexusLauncher
   *
   * @generated from field: optional int64 cold_start_dur = 1;
   */
  coldStartDur: bigint;
};

/**
 * Describes the message perfetto.protos.AndroidBootMetric.LauncherBreakdown.
 * Use `create(AndroidBootMetric_LauncherBreakdownSchema)` to create a new message.
 */
export const AndroidBootMetric_LauncherBreakdownSchema: GenMessage<AndroidBootMetric_LauncherBreakdown> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_android_boot, 1, 0);

/**
 * @generated from message perfetto.protos.AndroidBootMetric.ProcessStartAggregation
 */
export type AndroidBootMetric_ProcessStartAggregation = Message<"perfetto.protos.AndroidBootMetric.ProcessStartAggregation"> & {
  /**
   * @generated from field: optional int64 total_start_sum = 1;
   */
  totalStartSum: bigint;

  /**
   * @generated from field: optional int64 num_of_processes = 2;
   */
  numOfProcesses: bigint;

  /**
   * @generated from field: optional double average_start_time = 3;
   */
  averageStartTime: number;
};

/**
 * Describes the message perfetto.protos.AndroidBootMetric.ProcessStartAggregation.
 * Use `create(AndroidBootMetric_ProcessStartAggregationSchema)` to create a new message.
 */
export const AndroidBootMetric_ProcessStartAggregationSchema: GenMessage<AndroidBootMetric_ProcessStartAggregation> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_android_boot, 1, 1);

/**
 * @generated from message perfetto.protos.AndroidBootMetric.GarbageCollectionAggregation
 */
export type AndroidBootMetric_GarbageCollectionAggregation = Message<"perfetto.protos.AndroidBootMetric.GarbageCollectionAggregation"> & {
  /**
   * @generated from field: optional int64 total_gc_count = 1;
   */
  totalGcCount: bigint;

  /**
   * @generated from field: optional int64 num_of_processes_with_gc = 2;
   */
  numOfProcessesWithGc: bigint;

  /**
   * @generated from field: optional int64 num_of_threads_with_gc = 3;
   */
  numOfThreadsWithGc: bigint;

  /**
   * @generated from field: optional double avg_gc_duration = 4;
   */
  avgGcDuration: number;

  /**
   * @generated from field: optional double avg_running_gc_duration = 5;
   */
  avgRunningGcDuration: number;

  /**
   * @generated from field: optional int64 full_gc_count = 6;
   */
  fullGcCount: bigint;

  /**
   * @generated from field: optional int64 collector_transition_gc_count = 7;
   */
  collectorTransitionGcCount: bigint;

  /**
   * @generated from field: optional int64 young_gc_count = 8;
   */
  youngGcCount: bigint;

  /**
   * @generated from field: optional int64 native_alloc_gc_count = 9;
   */
  nativeAllocGcCount: bigint;

  /**
   * @generated from field: optional int64 explicit_gc_count = 10;
   */
  explicitGcCount: bigint;

  /**
   * @generated from field: optional int64 alloc_gc_count = 11;
   */
  allocGcCount: bigint;

  /**
   * @generated from field: optional double mb_per_ms_of_gc = 12;
   */
  mbPerMsOfGc: number;
};

/**
 * Describes the message perfetto.protos.AndroidBootMetric.GarbageCollectionAggregation.
 * Use `create(AndroidBootMetric_GarbageCollectionAggregationSchema)` to create a new message.
 */
export const AndroidBootMetric_GarbageCollectionAggregationSchema: GenMessage<AndroidBootMetric_GarbageCollectionAggregation> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_android_boot, 1, 2);

/**
 * @generated from message perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts
 */
export type AndroidBootMetric_OomAdjusterTransitionCounts = Message<"perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts"> & {
  /**
   * name of the item aggregated by. example: process_name,
   * oom_adjuster_reason.
   *
   * @generated from field: optional string name = 1;
   */
  name: string;

  /**
   * name of previous oom bucket.
   *
   * @generated from field: optional string src_bucket = 2;
   */
  srcBucket: string;

  /**
   * name of oom bucket.
   *
   * @generated from field: optional string dest_bucket = 3;
   */
  destBucket: string;

  /**
   * count of transitions
   *
   * @generated from field: optional int64 count = 4;
   */
  count: bigint;
};

/**
 * Describes the message perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts.
 * Use `create(AndroidBootMetric_OomAdjusterTransitionCountsSchema)` to create a new message.
 */
export const AndroidBootMetric_OomAdjusterTransitionCountsSchema: GenMessage<AndroidBootMetric_OomAdjusterTransitionCounts> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_android_boot, 1, 3);

/**
 * @generated from message perfetto.protos.AndroidBootMetric.OomAdjBucketDurationAggregation
 */
export type AndroidBootMetric_OomAdjBucketDurationAggregation = Message<"perfetto.protos.AndroidBootMetric.OomAdjBucketDurationAggregation"> & {
  /**
   * name of the item aggregated by. example: process_name,
   * oom_adjuster_reason
   *
   * @generated from field: optional string name = 1;
   */
  name: string;

  /**
   * name of oom bucket.
   *
   * @generated from field: optional string bucket = 2;
   */
  bucket: string;

  /**
   * Duration of the time in the bucket
   *
   * @generated from field: optional int64 total_dur = 3;
   */
  totalDur: bigint;
};

/**
 * Describes the message perfetto.protos.AndroidBootMetric.OomAdjBucketDurationAggregation.
 * Use `create(AndroidBootMetric_OomAdjBucketDurationAggregationSchema)` to create a new message.
 */
export const AndroidBootMetric_OomAdjBucketDurationAggregationSchema: GenMessage<AndroidBootMetric_OomAdjBucketDurationAggregation> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_android_boot, 1, 4);

/**
 * @generated from message perfetto.protos.AndroidBootMetric.OomAdjDurationAggregation
 */
export type AndroidBootMetric_OomAdjDurationAggregation = Message<"perfetto.protos.AndroidBootMetric.OomAdjDurationAggregation"> & {
  /**
   * @generated from field: optional int64 min_oom_adj_dur = 1;
   */
  minOomAdjDur: bigint;

  /**
   * @generated from field: optional int64 max_oom_adj_dur = 2;
   */
  maxOomAdjDur: bigint;

  /**
   * @generated from field: optional double avg_oom_adj_dur = 3;
   */
  avgOomAdjDur: number;

  /**
   * @generated from field: optional int64 oom_adj_event_count = 4;
   */
  oomAdjEventCount: bigint;

  /**
   * @generated from field: optional string oom_adj_reason = 5;
   */
  oomAdjReason: string;
};

/**
 * Describes the message perfetto.protos.AndroidBootMetric.OomAdjDurationAggregation.
 * Use `create(AndroidBootMetric_OomAdjDurationAggregationSchema)` to create a new message.
 */
export const AndroidBootMetric_OomAdjDurationAggregationSchema: GenMessage<AndroidBootMetric_OomAdjDurationAggregation> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_android_boot, 1, 5);

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

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

/**
 * Describes the message perfetto.protos.AndroidBootMetric.BroadcastCountAggregation.
 * Use `create(AndroidBootMetric_BroadcastCountAggregationSchema)` to create a new message.
 */
export const AndroidBootMetric_BroadcastCountAggregationSchema: GenMessage<AndroidBootMetric_BroadcastCountAggregation> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_android_boot, 1, 6);

/**
 * Stats for Broadcasts aggregated with duration.
 *
 * @generated from message perfetto.protos.AndroidBootMetric.BroadcastDurationAggregation
 */
export type AndroidBootMetric_BroadcastDurationAggregation = Message<"perfetto.protos.AndroidBootMetric.BroadcastDurationAggregation"> & {
  /**
   * @generated from field: optional string name = 1;
   */
  name: string;

  /**
   * @generated from field: optional double avg_duration = 2;
   */
  avgDuration: number;

  /**
   * @generated from field: optional int64 max_duration = 3;
   */
  maxDuration: bigint;

  /**
   * @generated from field: optional int64 sum_duration = 4;
   */
  sumDuration: bigint;
};

/**
 * Describes the message perfetto.protos.AndroidBootMetric.BroadcastDurationAggregation.
 * Use `create(AndroidBootMetric_BroadcastDurationAggregationSchema)` to create a new message.
 */
export const AndroidBootMetric_BroadcastDurationAggregationSchema: GenMessage<AndroidBootMetric_BroadcastDurationAggregation> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_android_boot, 1, 7);

