//
// 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/android/mem_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/mem_metric.proto.
 */
export const file_protos_perfetto_metrics_android_mem_metric: GenFile = /*@__PURE__*/
  fileDesc("CjBwcm90b3MvcGVyZmV0dG8vbWV0cmljcy9hbmRyb2lkL21lbV9tZXRyaWMucHJvdG8SD3BlcmZldHRvLnByb3RvcyLGBgoTQW5kcm9pZE1lbW9yeU1ldHJpYxJMCg9wcm9jZXNzX21ldHJpY3MYASADKAsyMy5wZXJmZXR0by5wcm90b3MuQW5kcm9pZE1lbW9yeU1ldHJpYy5Qcm9jZXNzTWV0cmljcxrOAQoOUHJvY2Vzc01ldHJpY3MSFAoMcHJvY2Vzc19uYW1lGAEgASgJElIKDnRvdGFsX2NvdW50ZXJzGAIgASgLMjoucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRNZW1vcnlNZXRyaWMuUHJvY2Vzc01lbW9yeUNvdW50ZXJzElIKEnByaW9yaXR5X2JyZWFrZG93bhgDIAMoCzI2LnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkTWVtb3J5TWV0cmljLlByaW9yaXR5QnJlYWtkb3duGnMKEVByaW9yaXR5QnJlYWtkb3duEhAKCHByaW9yaXR5GAEgASgJEkwKCGNvdW50ZXJzGAIgASgLMjoucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRNZW1vcnlNZXRyaWMuUHJvY2Vzc01lbW9yeUNvdW50ZXJzGtkCChVQcm9jZXNzTWVtb3J5Q291bnRlcnMSPgoIYW5vbl9yc3MYASABKAsyLC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZE1lbW9yeU1ldHJpYy5Db3VudGVyEj4KCGZpbGVfcnNzGAIgASgLMiwucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRNZW1vcnlNZXRyaWMuQ291bnRlchI6CgRzd2FwGAMgASgLMiwucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRNZW1vcnlNZXRyaWMuQ291bnRlchJDCg1hbm9uX2FuZF9zd2FwGAQgASgLMiwucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRNZW1vcnlNZXRyaWMuQ291bnRlchI/CglqYXZhX2hlYXAYBSABKAsyLC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZE1lbW9yeU1ldHJpYy5Db3VudGVyGj8KB0NvdW50ZXISCwoDbWluGAEgASgBEgsKA21heBgCIAEoARILCgNhdmcYAyABKAESDQoFZGVsdGEYBCABKAE");

/**
 * Memory metrics on Android.
 *
 * @generated from message perfetto.protos.AndroidMemoryMetric
 */
export type AndroidMemoryMetric = Message<"perfetto.protos.AndroidMemoryMetric"> & {
  /**
   * Process metrics, grouped by process name
   *
   * @generated from field: repeated perfetto.protos.AndroidMemoryMetric.ProcessMetrics process_metrics = 1;
   */
  processMetrics: AndroidMemoryMetric_ProcessMetrics[];
};

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

/**
 * @generated from message perfetto.protos.AndroidMemoryMetric.ProcessMetrics
 */
export type AndroidMemoryMetric_ProcessMetrics = Message<"perfetto.protos.AndroidMemoryMetric.ProcessMetrics"> & {
  /**
   * @generated from field: optional string process_name = 1;
   */
  processName: string;

  /**
   * @generated from field: optional perfetto.protos.AndroidMemoryMetric.ProcessMemoryCounters total_counters = 2;
   */
  totalCounters?: AndroidMemoryMetric_ProcessMemoryCounters;

  /**
   * @generated from field: repeated perfetto.protos.AndroidMemoryMetric.PriorityBreakdown priority_breakdown = 3;
   */
  priorityBreakdown: AndroidMemoryMetric_PriorityBreakdown[];
};

/**
 * Describes the message perfetto.protos.AndroidMemoryMetric.ProcessMetrics.
 * Use `create(AndroidMemoryMetric_ProcessMetricsSchema)` to create a new message.
 */
export const AndroidMemoryMetric_ProcessMetricsSchema: GenMessage<AndroidMemoryMetric_ProcessMetrics> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_mem_metric, 0, 0);

/**
 * @generated from message perfetto.protos.AndroidMemoryMetric.PriorityBreakdown
 */
export type AndroidMemoryMetric_PriorityBreakdown = Message<"perfetto.protos.AndroidMemoryMetric.PriorityBreakdown"> & {
  /**
   * @generated from field: optional string priority = 1;
   */
  priority: string;

  /**
   * @generated from field: optional perfetto.protos.AndroidMemoryMetric.ProcessMemoryCounters counters = 2;
   */
  counters?: AndroidMemoryMetric_ProcessMemoryCounters;
};

/**
 * Describes the message perfetto.protos.AndroidMemoryMetric.PriorityBreakdown.
 * Use `create(AndroidMemoryMetric_PriorityBreakdownSchema)` to create a new message.
 */
export const AndroidMemoryMetric_PriorityBreakdownSchema: GenMessage<AndroidMemoryMetric_PriorityBreakdown> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_mem_metric, 0, 1);

/**
 * @generated from message perfetto.protos.AndroidMemoryMetric.ProcessMemoryCounters
 */
export type AndroidMemoryMetric_ProcessMemoryCounters = Message<"perfetto.protos.AndroidMemoryMetric.ProcessMemoryCounters"> & {
  /**
   * @generated from field: optional perfetto.protos.AndroidMemoryMetric.Counter anon_rss = 1;
   */
  anonRss?: AndroidMemoryMetric_Counter;

  /**
   * @generated from field: optional perfetto.protos.AndroidMemoryMetric.Counter file_rss = 2;
   */
  fileRss?: AndroidMemoryMetric_Counter;

  /**
   * @generated from field: optional perfetto.protos.AndroidMemoryMetric.Counter swap = 3;
   */
  swap?: AndroidMemoryMetric_Counter;

  /**
   * @generated from field: optional perfetto.protos.AndroidMemoryMetric.Counter anon_and_swap = 4;
   */
  anonAndSwap?: AndroidMemoryMetric_Counter;

  /**
   * Available when ART trace events are available.
   *
   * @generated from field: optional perfetto.protos.AndroidMemoryMetric.Counter java_heap = 5;
   */
  javaHeap?: AndroidMemoryMetric_Counter;
};

/**
 * Describes the message perfetto.protos.AndroidMemoryMetric.ProcessMemoryCounters.
 * Use `create(AndroidMemoryMetric_ProcessMemoryCountersSchema)` to create a new message.
 */
export const AndroidMemoryMetric_ProcessMemoryCountersSchema: GenMessage<AndroidMemoryMetric_ProcessMemoryCounters> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_mem_metric, 0, 2);

/**
 * @generated from message perfetto.protos.AndroidMemoryMetric.Counter
 */
export type AndroidMemoryMetric_Counter = Message<"perfetto.protos.AndroidMemoryMetric.Counter"> & {
  /**
   * @generated from field: optional double min = 1;
   */
  min: number;

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

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

  /**
   * Memory growth observed in the counter sequence. In case of multiple
   * processes with the same name, break ties using max.
   *
   * @generated from field: optional double delta = 4;
   */
  delta: number;
};

/**
 * Describes the message perfetto.protos.AndroidMemoryMetric.Counter.
 * Use `create(AndroidMemoryMetric_CounterSchema)` to create a new message.
 */
export const AndroidMemoryMetric_CounterSchema: GenMessage<AndroidMemoryMetric_Counter> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_mem_metric, 0, 3);

