//
// Copyright (C) 2024 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/app_process_starts_metric.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/app_process_starts_metric.proto.
 */
export const file_protos_perfetto_metrics_android_app_process_starts_metric: GenFile = /*@__PURE__*/
  fileDesc("Cj9wcm90b3MvcGVyZmV0dG8vbWV0cmljcy9hbmRyb2lkL2FwcF9wcm9jZXNzX3N0YXJ0c19tZXRyaWMucHJvdG8SD3BlcmZldHRvLnByb3RvcyK+AwodQW5kcm9pZEFwcFByb2Nlc3NTdGFydHNNZXRyaWMSTQoIYWxsX2FwcHMYASADKAsyOy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEFwcFByb2Nlc3NTdGFydHNNZXRyaWMuUHJvY2Vzc1N0YXJ0ElkKFHN0YXJ0ZWRfYnlfYnJvYWRjYXN0GAIgAygLMjsucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRBcHBQcm9jZXNzU3RhcnRzTWV0cmljLlByb2Nlc3NTdGFydBJXChJzdGFydGVkX2J5X3NlcnZpY2UYAyADKAsyOy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEFwcFByb2Nlc3NTdGFydHNNZXRyaWMuUHJvY2Vzc1N0YXJ0GpkBCgxQcm9jZXNzU3RhcnQSFAoMcHJvY2Vzc19uYW1lGAEgASgJEg4KBmludGVudBgCIAEoCRIOCgZyZWFzb24YAyABKAkSFgoOcHJvY19zdGFydF9kdXIYBCABKAMSFAoMYmluZF9hcHBfZHVyGAUgASgDEhIKCmludGVudF9kdXIYBiABKAMSEQoJdG90YWxfZHVyGAcgASgD");

/**
 * @generated from message perfetto.protos.AndroidAppProcessStartsMetric
 */
export type AndroidAppProcessStartsMetric = Message<"perfetto.protos.AndroidAppProcessStartsMetric"> & {
  /**
   * Provides java process startup information for
   * all processes starting after Boot completed broadcast in a trace.
   *
   * @generated from field: repeated perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart all_apps = 1;
   */
  allApps: AndroidAppProcessStartsMetric_ProcessStart[];

  /**
   * Provides java process startup information for all
   * processes started from a broadcast after Boot Complete broadcasts.
   *
   * @generated from field: repeated perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart started_by_broadcast = 2;
   */
  startedByBroadcast: AndroidAppProcessStartsMetric_ProcessStart[];

  /**
   * Provides java process startup information for all
   * processes started from a service after Boot Complete broadcasts.
   *
   * @generated from field: repeated perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart started_by_service = 3;
   */
  startedByService: AndroidAppProcessStartsMetric_ProcessStart[];
};

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

/**
 * Next id : 4
 *
 * @generated from message perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart
 */
export type AndroidAppProcessStartsMetric_ProcessStart = Message<"perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart"> & {
  /**
   * @generated from field: optional string process_name = 1;
   */
  processName: string;

  /**
   * @generated from field: optional string intent = 2;
   */
  intent: string;

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

  /**
   * @generated from field: optional int64 proc_start_dur = 4;
   */
  procStartDur: bigint;

  /**
   * @generated from field: optional int64 bind_app_dur = 5;
   */
  bindAppDur: bigint;

  /**
   * @generated from field: optional int64 intent_dur = 6;
   */
  intentDur: bigint;

  /**
   * @generated from field: optional int64 total_dur = 7;
   */
  totalDur: bigint;
};

/**
 * Describes the message perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart.
 * Use `create(AndroidAppProcessStartsMetric_ProcessStartSchema)` to create a new message.
 */
export const AndroidAppProcessStartsMetric_ProcessStartSchema: GenMessage<AndroidAppProcessStartsMetric_ProcessStart> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_app_process_starts_metric, 0, 0);

