//
// Copyright (C) 2020 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/network_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/network_metric.proto.
 */
export const file_protos_perfetto_metrics_android_network_metric: GenFile = /*@__PURE__*/
  fileDesc("CjRwcm90b3MvcGVyZmV0dG8vbWV0cmljcy9hbmRyb2lkL25ldHdvcmtfbWV0cmljLnByb3RvEg9wZXJmZXR0by5wcm90b3Mi8xAKFEFuZHJvaWROZXR3b3JrTWV0cmljEkQKC25ldF9kZXZpY2VzGAEgAygLMi8ucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWROZXR3b3JrTWV0cmljLk5ldERldmljZRJICg1uZXRfcnhfYWN0aW9uGAIgASgLMjEucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWROZXR3b3JrTWV0cmljLk5ldFJ4QWN0aW9uEhsKE3JldHJhbnNtaXNzaW9uX3JhdGUYAyABKAESFgoOa2ZyZWVfc2tiX3JhdGUYBCABKAESSAoNbmV0X3R4X2FjdGlvbhgFIAEoCzIxLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkTmV0d29ya01ldHJpYy5OZXRUeEFjdGlvbhJDCgppcGlfYWN0aW9uGAYgASgLMi8ucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWROZXR3b3JrTWV0cmljLklwaUFjdGlvbhqjAQoPUGFja2V0U3RhdGlzdGljEg8KB3BhY2tldHMYASABKAMSDQoFYnl0ZXMYAiABKAMSIQoZZmlyc3RfcGFja2V0X3RpbWVzdGFtcF9ucxgDIAEoAxIgChhsYXN0X3BhY2tldF90aW1lc3RhbXBfbnMYBCABKAMSEwoLaW50ZXJ2YWxfbnMYBSABKAMSFgoOZGF0YV9yYXRlX2ticHMYBiABKAEacgoTQ29yZVBhY2tldFN0YXRpc3RpYxIKCgJpZBgBIAEoDRJPChBwYWNrZXRfc3RhdGlzdGljGAIgASgLMjUucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWROZXR3b3JrTWV0cmljLlBhY2tldFN0YXRpc3RpYxqyAQoCUngSRAoFdG90YWwYASABKAsyNS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZE5ldHdvcmtNZXRyaWMuUGFja2V0U3RhdGlzdGljEkcKBGNvcmUYAiADKAsyOS5wZXJmZXR0by5wcm90b3MuQW5kcm9pZE5ldHdvcmtNZXRyaWMuQ29yZVBhY2tldFN0YXRpc3RpYxIdChVncm9fYWdncmVnYXRpb25fcmF0aW8YAyABKAkakwEKAlR4EkQKBXRvdGFsGAEgASgLMjUucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWROZXR3b3JrTWV0cmljLlBhY2tldFN0YXRpc3RpYxJHCgRjb3JlGAIgAygLMjkucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWROZXR3b3JrTWV0cmljLkNvcmVQYWNrZXRTdGF0aXN0aWMahQEKCU5ldERldmljZRIMCgRuYW1lGAEgASgJEjQKAnJ4GAIgASgLMigucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWROZXR3b3JrTWV0cmljLlJ4EjQKAnR4GAMgASgLMigucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWROZXR3b3JrTWV0cmljLlR4GngKFE5ldFJ4QWN0aW9uU3RhdGlzdGljEg0KBWNvdW50GAEgASgDEhIKCnJ1bnRpbWVfbXMYAiABKAESFgoOYXZnX3J1bnRpbWVfbXMYAyABKAESDwoHbWN5Y2xlcxgEIAEoAxIUCgxhdmdfZnJlcV9raHoYBSABKAMaeAoUTmV0VHhBY3Rpb25TdGF0aXN0aWMSDQoFY291bnQYASABKAMSEgoKcnVudGltZV9tcxgCIAEoARIWCg5hdmdfcnVudGltZV9tcxgDIAEoARIPCgdtY3ljbGVzGAQgASgDEhQKDGF2Z19mcmVxX2toehgFIAEoAxpPChJJcGlBY3Rpb25TdGF0aXN0aWMSDQoFY291bnQYASABKAMSEgoKcnVudGltZV9tcxgCIAEoARIWCg5hdmdfcnVudGltZV9tcxgDIAEoARqDAQoYQ29yZU5ldFJ4QWN0aW9uU3RhdGlzdGljEgoKAmlkGAEgASgNElsKF25ldF9yeF9hY3Rpb25fc3RhdGlzdGljGAIgASgLMjoucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWROZXR3b3JrTWV0cmljLk5ldFJ4QWN0aW9uU3RhdGlzdGljGoMBChhDb3JlTmV0VHhBY3Rpb25TdGF0aXN0aWMSCgoCaWQYASABKA0SWwoXbmV0X3R4X2FjdGlvbl9zdGF0aXN0aWMYAiABKAsyOi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZE5ldHdvcmtNZXRyaWMuTmV0VHhBY3Rpb25TdGF0aXN0aWMayQEKC05ldFJ4QWN0aW9uEkkKBXRvdGFsGAEgASgLMjoucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWROZXR3b3JrTWV0cmljLk5ldFJ4QWN0aW9uU3RhdGlzdGljEkwKBGNvcmUYAiADKAsyPi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZE5ldHdvcmtNZXRyaWMuQ29yZU5ldFJ4QWN0aW9uU3RhdGlzdGljEiEKGWF2Z19pbnRlcnN0YWNrX2xhdGVuY3lfbXMYAyABKAEapgEKC05ldFR4QWN0aW9uEkkKBXRvdGFsGAEgASgLMjoucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWROZXR3b3JrTWV0cmljLk5ldFR4QWN0aW9uU3RhdGlzdGljEkwKBGNvcmUYAiADKAsyPi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZE5ldHdvcmtNZXRyaWMuQ29yZU5ldFR4QWN0aW9uU3RhdGlzdGljGlQKCUlwaUFjdGlvbhJHCgV0b3RhbBgBIAEoCzI4LnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkTmV0d29ya01ldHJpYy5JcGlBY3Rpb25TdGF0aXN0aWM");

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric
 */
export type AndroidNetworkMetric = Message<"perfetto.protos.AndroidNetworkMetric"> & {
  /**
   * Network device metrics.
   *
   * @generated from field: repeated perfetto.protos.AndroidNetworkMetric.NetDevice net_devices = 1;
   */
  netDevices: AndroidNetworkMetric_NetDevice[];

  /**
   * SoftIrq NET_RX action metrics.
   *
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetRxAction net_rx_action = 2;
   */
  netRxAction?: AndroidNetworkMetric_NetRxAction;

  /**
   * Packet retransmission rate.
   *
   * @generated from field: optional double retransmission_rate = 3;
   */
  retransmissionRate: number;

  /**
   * Kfree Skb rate (i.e. kfree_skb count divided by the packet count from all
   * net devices).
   *
   * @generated from field: optional double kfree_skb_rate = 4;
   */
  kfreeSkbRate: number;

  /**
   * SoftIrq NET_TX action metrics.
   *
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetTxAction net_tx_action = 5;
   */
  netTxAction?: AndroidNetworkMetric_NetTxAction;

  /**
   * SoftIrq IPI action metrics.
   *
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.IpiAction ipi_action = 6;
   */
  ipiAction?: AndroidNetworkMetric_IpiAction;
};

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

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.PacketStatistic
 */
export type AndroidNetworkMetric_PacketStatistic = Message<"perfetto.protos.AndroidNetworkMetric.PacketStatistic"> & {
  /**
   * Packet count.
   *
   * @generated from field: optional int64 packets = 1;
   */
  packets: bigint;

  /**
   * Packet Bytes.
   *
   * @generated from field: optional int64 bytes = 2;
   */
  bytes: bigint;

  /**
   * Timestamp when first packet received or transmitted.
   *
   * @generated from field: optional int64 first_packet_timestamp_ns = 3;
   */
  firstPacketTimestampNs: bigint;

  /**
   * Timestamp when last packet received or transmitted.
   *
   * @generated from field: optional int64 last_packet_timestamp_ns = 4;
   */
  lastPacketTimestampNs: bigint;

  /**
   * Interval between first & last packet. The minimum interval is 10ms.
   *
   * @generated from field: optional int64 interval_ns = 5;
   */
  intervalNs: bigint;

  /**
   * Data Speed.
   *
   * @generated from field: optional double data_rate_kbps = 6;
   */
  dataRateKbps: number;
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.PacketStatistic.
 * Use `create(AndroidNetworkMetric_PacketStatisticSchema)` to create a new message.
 */
export const AndroidNetworkMetric_PacketStatisticSchema: GenMessage<AndroidNetworkMetric_PacketStatistic> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 0);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.CorePacketStatistic
 */
export type AndroidNetworkMetric_CorePacketStatistic = Message<"perfetto.protos.AndroidNetworkMetric.CorePacketStatistic"> & {
  /**
   * @generated from field: optional uint32 id = 1;
   */
  id: number;

  /**
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.PacketStatistic packet_statistic = 2;
   */
  packetStatistic?: AndroidNetworkMetric_PacketStatistic;
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.CorePacketStatistic.
 * Use `create(AndroidNetworkMetric_CorePacketStatisticSchema)` to create a new message.
 */
export const AndroidNetworkMetric_CorePacketStatisticSchema: GenMessage<AndroidNetworkMetric_CorePacketStatistic> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 1);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.Rx
 */
export type AndroidNetworkMetric_Rx = Message<"perfetto.protos.AndroidNetworkMetric.Rx"> & {
  /**
   * Total packets statistic.
   *
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.PacketStatistic total = 1;
   */
  total?: AndroidNetworkMetric_PacketStatistic;

  /**
   * Per core packets statistic.
   *
   * @generated from field: repeated perfetto.protos.AndroidNetworkMetric.CorePacketStatistic core = 2;
   */
  core: AndroidNetworkMetric_CorePacketStatistic[];

  /**
   * GRO aggregation ratio.
   *
   * @generated from field: optional string gro_aggregation_ratio = 3;
   */
  groAggregationRatio: string;
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.Rx.
 * Use `create(AndroidNetworkMetric_RxSchema)` to create a new message.
 */
export const AndroidNetworkMetric_RxSchema: GenMessage<AndroidNetworkMetric_Rx> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 2);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.Tx
 */
export type AndroidNetworkMetric_Tx = Message<"perfetto.protos.AndroidNetworkMetric.Tx"> & {
  /**
   * Total packets statistic.
   *
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.PacketStatistic total = 1;
   */
  total?: AndroidNetworkMetric_PacketStatistic;

  /**
   * Per core packets statistic.
   *
   * @generated from field: repeated perfetto.protos.AndroidNetworkMetric.CorePacketStatistic core = 2;
   */
  core: AndroidNetworkMetric_CorePacketStatistic[];
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.Tx.
 * Use `create(AndroidNetworkMetric_TxSchema)` to create a new message.
 */
export const AndroidNetworkMetric_TxSchema: GenMessage<AndroidNetworkMetric_Tx> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 3);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.NetDevice
 */
export type AndroidNetworkMetric_NetDevice = Message<"perfetto.protos.AndroidNetworkMetric.NetDevice"> & {
  /**
   * Network device name.
   *
   * @generated from field: optional string name = 1;
   */
  name: string;

  /**
   * Ingress traffic statistic.
   *
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.Rx rx = 2;
   */
  rx?: AndroidNetworkMetric_Rx;

  /**
   * Egress traffic statistic
   *
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.Tx tx = 3;
   */
  tx?: AndroidNetworkMetric_Tx;
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.NetDevice.
 * Use `create(AndroidNetworkMetric_NetDeviceSchema)` to create a new message.
 */
export const AndroidNetworkMetric_NetDeviceSchema: GenMessage<AndroidNetworkMetric_NetDevice> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 4);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic
 */
export type AndroidNetworkMetric_NetRxActionStatistic = Message<"perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic"> & {
  /**
   * SoftIrq NET_RX action count.
   *
   * @generated from field: optional int64 count = 1;
   */
  count: bigint;

  /**
   * SoftIrq NET_RX action was running in millisecond.
   *
   * @generated from field: optional double runtime_ms = 2;
   */
  runtimeMs: number;

  /**
   * SoftIrq NET_RX action average running time.
   *
   * @generated from field: optional double avg_runtime_ms = 3;
   */
  avgRuntimeMs: number;

  /**
   * CPU megacycles (i.e. cycles divided by 1e6).
   *
   * @generated from field: optional int64 mcycles = 4;
   */
  mcycles: bigint;

  /**
   * Average weighted CPU frequency by the time the NET_RX Action
   * running at each frequency.
   *
   * @generated from field: optional int64 avg_freq_khz = 5;
   */
  avgFreqKhz: bigint;
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic.
 * Use `create(AndroidNetworkMetric_NetRxActionStatisticSchema)` to create a new message.
 */
export const AndroidNetworkMetric_NetRxActionStatisticSchema: GenMessage<AndroidNetworkMetric_NetRxActionStatistic> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 5);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic
 */
export type AndroidNetworkMetric_NetTxActionStatistic = Message<"perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic"> & {
  /**
   * SoftIrq NET_TX action count.
   *
   * @generated from field: optional int64 count = 1;
   */
  count: bigint;

  /**
   * SoftIrq NET_TX action was running in millisecond.
   *
   * @generated from field: optional double runtime_ms = 2;
   */
  runtimeMs: number;

  /**
   * SoftIrq NET_TX action average running time.
   *
   * @generated from field: optional double avg_runtime_ms = 3;
   */
  avgRuntimeMs: number;

  /**
   * CPU megacycles (i.e. cycles divided by 1e6).
   *
   * @generated from field: optional int64 mcycles = 4;
   */
  mcycles: bigint;

  /**
   * Average weighted CPU frequency by the time the NET_TX Action
   * running at each frequency.
   *
   * @generated from field: optional int64 avg_freq_khz = 5;
   */
  avgFreqKhz: bigint;
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic.
 * Use `create(AndroidNetworkMetric_NetTxActionStatisticSchema)` to create a new message.
 */
export const AndroidNetworkMetric_NetTxActionStatisticSchema: GenMessage<AndroidNetworkMetric_NetTxActionStatistic> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 6);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.IpiActionStatistic
 */
export type AndroidNetworkMetric_IpiActionStatistic = Message<"perfetto.protos.AndroidNetworkMetric.IpiActionStatistic"> & {
  /**
   * SoftIrq IPI action count.
   *
   * @generated from field: optional int64 count = 1;
   */
  count: bigint;

  /**
   * SoftIrq IPI action was running in millisecond.
   *
   * @generated from field: optional double runtime_ms = 2;
   */
  runtimeMs: number;

  /**
   * SoftIrq IPI action average running time.
   *
   * @generated from field: optional double avg_runtime_ms = 3;
   */
  avgRuntimeMs: number;
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.IpiActionStatistic.
 * Use `create(AndroidNetworkMetric_IpiActionStatisticSchema)` to create a new message.
 */
export const AndroidNetworkMetric_IpiActionStatisticSchema: GenMessage<AndroidNetworkMetric_IpiActionStatistic> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 7);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.CoreNetRxActionStatistic
 */
export type AndroidNetworkMetric_CoreNetRxActionStatistic = Message<"perfetto.protos.AndroidNetworkMetric.CoreNetRxActionStatistic"> & {
  /**
   * @generated from field: optional uint32 id = 1;
   */
  id: number;

  /**
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic net_rx_action_statistic = 2;
   */
  netRxActionStatistic?: AndroidNetworkMetric_NetRxActionStatistic;
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.CoreNetRxActionStatistic.
 * Use `create(AndroidNetworkMetric_CoreNetRxActionStatisticSchema)` to create a new message.
 */
export const AndroidNetworkMetric_CoreNetRxActionStatisticSchema: GenMessage<AndroidNetworkMetric_CoreNetRxActionStatistic> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 8);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.CoreNetTxActionStatistic
 */
export type AndroidNetworkMetric_CoreNetTxActionStatistic = Message<"perfetto.protos.AndroidNetworkMetric.CoreNetTxActionStatistic"> & {
  /**
   * @generated from field: optional uint32 id = 1;
   */
  id: number;

  /**
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic net_tx_action_statistic = 2;
   */
  netTxActionStatistic?: AndroidNetworkMetric_NetTxActionStatistic;
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.CoreNetTxActionStatistic.
 * Use `create(AndroidNetworkMetric_CoreNetTxActionStatisticSchema)` to create a new message.
 */
export const AndroidNetworkMetric_CoreNetTxActionStatisticSchema: GenMessage<AndroidNetworkMetric_CoreNetTxActionStatistic> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 9);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.NetRxAction
 */
export type AndroidNetworkMetric_NetRxAction = Message<"perfetto.protos.AndroidNetworkMetric.NetRxAction"> & {
  /**
   * Total NET_RX action statistics.
   *
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic total = 1;
   */
  total?: AndroidNetworkMetric_NetRxActionStatistic;

  /**
   * Per core NET_RX action statistics.
   *
   * @generated from field: repeated perfetto.protos.AndroidNetworkMetric.CoreNetRxActionStatistic core = 2;
   */
  core: AndroidNetworkMetric_CoreNetRxActionStatistic[];

  /**
   * The average packet time moves through the kernel stack.
   *
   * @generated from field: optional double avg_interstack_latency_ms = 3;
   */
  avgInterstackLatencyMs: number;
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.NetRxAction.
 * Use `create(AndroidNetworkMetric_NetRxActionSchema)` to create a new message.
 */
export const AndroidNetworkMetric_NetRxActionSchema: GenMessage<AndroidNetworkMetric_NetRxAction> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 10);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.NetTxAction
 */
export type AndroidNetworkMetric_NetTxAction = Message<"perfetto.protos.AndroidNetworkMetric.NetTxAction"> & {
  /**
   * Total NET_TX action statistics.
   *
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic total = 1;
   */
  total?: AndroidNetworkMetric_NetTxActionStatistic;

  /**
   * Per core NET_TX action statistics.
   *
   * @generated from field: repeated perfetto.protos.AndroidNetworkMetric.CoreNetTxActionStatistic core = 2;
   */
  core: AndroidNetworkMetric_CoreNetTxActionStatistic[];
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.NetTxAction.
 * Use `create(AndroidNetworkMetric_NetTxActionSchema)` to create a new message.
 */
export const AndroidNetworkMetric_NetTxActionSchema: GenMessage<AndroidNetworkMetric_NetTxAction> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 11);

/**
 * @generated from message perfetto.protos.AndroidNetworkMetric.IpiAction
 */
export type AndroidNetworkMetric_IpiAction = Message<"perfetto.protos.AndroidNetworkMetric.IpiAction"> & {
  /**
   * Total IPI action statistics.
   *
   * @generated from field: optional perfetto.protos.AndroidNetworkMetric.IpiActionStatistic total = 1;
   */
  total?: AndroidNetworkMetric_IpiActionStatistic;
};

/**
 * Describes the message perfetto.protos.AndroidNetworkMetric.IpiAction.
 * Use `create(AndroidNetworkMetric_IpiActionSchema)` to create a new message.
 */
export const AndroidNetworkMetric_IpiActionSchema: GenMessage<AndroidNetworkMetric_IpiAction> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_android_network_metric, 0, 12);

