perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
565 lines (486 loc) • 18.5 kB
text/typescript
//
// Copyright (C) 2018 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/trace/sys_stats/sys_stats.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 { MeminfoCounters, VmstatCounters } from "../../common/sys_stats_counters_pb";
import { file_protos_perfetto_common_sys_stats_counters } from "../../common/sys_stats_counters_pb";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/perfetto/trace/sys_stats/sys_stats.proto.
*/
export const file_protos_perfetto_trace_sys_stats_sys_stats: GenFile = /*@__PURE__*/
fileDesc("Ci9wcm90b3MvcGVyZmV0dG8vdHJhY2Uvc3lzX3N0YXRzL3N5c19zdGF0cy5wcm90bxIPcGVyZmV0dG8ucHJvdG9zItYPCghTeXNTdGF0cxI3CgdtZW1pbmZvGAEgAygLMiYucGVyZmV0dG8ucHJvdG9zLlN5c1N0YXRzLk1lbWluZm9WYWx1ZRI1CgZ2bXN0YXQYAiADKAsyJS5wZXJmZXR0by5wcm90b3MuU3lzU3RhdHMuVm1zdGF0VmFsdWUSNAoIY3B1X3N0YXQYAyADKAsyIi5wZXJmZXR0by5wcm90b3MuU3lzU3RhdHMuQ3B1VGltZXMSEQoJbnVtX2ZvcmtzGAQgASgEEhUKDW51bV9pcnFfdG90YWwYBSABKAQSOQoHbnVtX2lycRgGIAMoCzIoLnBlcmZldHRvLnByb3Rvcy5TeXNTdGF0cy5JbnRlcnJ1cHRDb3VudBIZChFudW1fc29mdGlycV90b3RhbBgHIAEoBBI9CgtudW1fc29mdGlycRgIIAMoCzIoLnBlcmZldHRvLnByb3Rvcy5TeXNTdGF0cy5JbnRlcnJ1cHRDb3VudBIgChhjb2xsZWN0aW9uX2VuZF90aW1lc3RhbXAYCSABKAQSNwoHZGV2ZnJlcRgKIAMoCzImLnBlcmZldHRvLnByb3Rvcy5TeXNTdGF0cy5EZXZmcmVxVmFsdWUSEwoLY3B1ZnJlcV9raHoYCyADKA0SNwoKYnVkZHlfaW5mbxgMIAMoCzIjLnBlcmZldHRvLnByb3Rvcy5TeXNTdGF0cy5CdWRkeUluZm8SNQoJZGlza19zdGF0GA0gAygLMiIucGVyZmV0dG8ucHJvdG9zLlN5c1N0YXRzLkRpc2tTdGF0EjAKA3BzaRgOIAMoCzIjLnBlcmZldHRvLnByb3Rvcy5TeXNTdGF0cy5Qc2lTYW1wbGUSOwoMdGhlcm1hbF96b25lGA8gAygLMiUucGVyZmV0dG8ucHJvdG9zLlN5c1N0YXRzLlRoZXJtYWxab25lEj0KDWNwdWlkbGVfc3RhdGUYECADKAsyJi5wZXJmZXR0by5wcm90b3MuU3lzU3RhdHMuQ3B1SWRsZVN0YXRlEhMKC2dwdWZyZXFfbWh6GBEgAygEGkwKDE1lbWluZm9WYWx1ZRItCgNrZXkYASABKA4yIC5wZXJmZXR0by5wcm90b3MuTWVtaW5mb0NvdW50ZXJzEg0KBXZhbHVlGAIgASgEGkoKC1Ztc3RhdFZhbHVlEiwKA2tleRgBIAEoDjIfLnBlcmZldHRvLnByb3Rvcy5WbXN0YXRDb3VudGVycxINCgV2YWx1ZRgCIAEoBBqiAQoIQ3B1VGltZXMSDgoGY3B1X2lkGAEgASgNEg8KB3VzZXJfbnMYAiABKAQSFAoMdXNlcl9uaWNlX25zGAMgASgEEhYKDnN5c3RlbV9tb2RlX25zGAQgASgEEg8KB2lkbGVfbnMYBSABKAQSEgoKaW9fd2FpdF9ucxgGIAEoBBIOCgZpcnFfbnMYByABKAQSEgoKc29mdGlycV9ucxgIIAEoBBosCg5JbnRlcnJ1cHRDb3VudBILCgNpcnEYASABKAUSDQoFY291bnQYAiABKAQaKgoMRGV2ZnJlcVZhbHVlEgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBBo8CglCdWRkeUluZm8SDAoEbm9kZRgBIAEoCRIMCgR6b25lGAIgASgJEhMKC29yZGVyX3BhZ2VzGAMgAygNGtcBCghEaXNrU3RhdBITCgtkZXZpY2VfbmFtZRgBIAEoCRIUCgxyZWFkX3NlY3RvcnMYAiABKAQSFAoMcmVhZF90aW1lX21zGAMgASgEEhUKDXdyaXRlX3NlY3RvcnMYBCABKAQSFQoNd3JpdGVfdGltZV9tcxgFIAEoBBIXCg9kaXNjYXJkX3NlY3RvcnMYBiABKAQSFwoPZGlzY2FyZF90aW1lX21zGAcgASgEEhMKC2ZsdXNoX2NvdW50GAggASgEEhUKDWZsdXNoX3RpbWVfbXMYCSABKAQatAIKCVBzaVNhbXBsZRJBCghyZXNvdXJjZRgBIAEoDjIvLnBlcmZldHRvLnByb3Rvcy5TeXNTdGF0cy5Qc2lTYW1wbGUuUHNpUmVzb3VyY2USEAoIdG90YWxfbnMYAiABKAQi0QEKC1BzaVJlc291cmNlEhwKGFBTSV9SRVNPVVJDRV9VTlNQRUNJRklFRBAAEhkKFVBTSV9SRVNPVVJDRV9DUFVfU09NRRABEhkKFVBTSV9SRVNPVVJDRV9DUFVfRlVMTBACEhgKFFBTSV9SRVNPVVJDRV9JT19TT01FEAMSGAoUUFNJX1JFU09VUkNFX0lPX0ZVTEwQBBIcChhQU0lfUkVTT1VSQ0VfTUVNT1JZX1NPTUUQBRIcChhQU0lfUkVTT1VSQ0VfTUVNT1JZX0ZVTEwQBho3CgtUaGVybWFsWm9uZRIMCgRuYW1lGAEgASgJEgwKBHRlbXAYAiABKAQSDAoEdHlwZRgDIAEoCRo3ChFDcHVJZGxlU3RhdGVFbnRyeRINCgVzdGF0ZRgBIAEoCRITCgtkdXJhdGlvbl91cxgCIAEoBBpoCgxDcHVJZGxlU3RhdGUSDgoGY3B1X2lkGAEgASgNEkgKE2NwdWlkbGVfc3RhdGVfZW50cnkYAiADKAsyKy5wZXJmZXR0by5wcm90b3MuU3lzU3RhdHMuQ3B1SWRsZVN0YXRlRW50cnk", [file_protos_perfetto_common_sys_stats_counters]);
/**
* Various Linux system stat counters from /proc.
* The fields in this message can be reported at different rates and with
* different granularity. See sys_stats_config.proto.
*
* @generated from message perfetto.protos.SysStats
*/
export type SysStats = Message<"perfetto.protos.SysStats"> & {
/**
* @generated from field: repeated perfetto.protos.SysStats.MeminfoValue meminfo = 1;
*/
meminfo: SysStats_MeminfoValue[];
/**
* @generated from field: repeated perfetto.protos.SysStats.VmstatValue vmstat = 2;
*/
vmstat: SysStats_VmstatValue[];
/**
* One entry per cpu.
*
* @generated from field: repeated perfetto.protos.SysStats.CpuTimes cpu_stat = 3;
*/
cpuStat: SysStats_CpuTimes[];
/**
* Num processes forked since boot.
* Populated only if FORK_COUNT in config.stat_counters.
*
* @generated from field: optional uint64 num_forks = 4;
*/
numForks: bigint;
/**
* Total num of irqs serviced since boot.
*
* @generated from field: optional uint64 num_irq_total = 5;
*/
numIrqTotal: bigint;
/**
* @generated from field: repeated perfetto.protos.SysStats.InterruptCount num_irq = 6;
*/
numIrq: SysStats_InterruptCount[];
/**
* Total num of softirqs since boot.
*
* @generated from field: optional uint64 num_softirq_total = 7;
*/
numSoftirqTotal: bigint;
/**
* Per-softirq count.
*
* @generated from field: repeated perfetto.protos.SysStats.InterruptCount num_softirq = 8;
*/
numSoftirq: SysStats_InterruptCount[];
/**
* The time at which we finish collecting this set of samples;
* the top-level packet timestamp is the time at which
* we begin collection.
*
* @generated from field: optional uint64 collection_end_timestamp = 9;
*/
collectionEndTimestamp: bigint;
/**
* One entry per device.
*
* @generated from field: repeated perfetto.protos.SysStats.DevfreqValue devfreq = 10;
*/
devfreq: SysStats_DevfreqValue[];
/**
* Cpu current frequency from
* /sys/devices/system/cpu/cpu*\/cpufreq/cpuinfo_cur_freq in kHz.
* One entry per cpu. Report 0 for offline cpu
*
* @generated from field: repeated uint32 cpufreq_khz = 11;
*/
cpufreqKhz: number[];
/**
* One entry per each node's zones.
*
* @generated from field: repeated perfetto.protos.SysStats.BuddyInfo buddy_info = 12;
*/
buddyInfo: SysStats_BuddyInfo[];
/**
* One entry per disk device.
*
* @generated from field: repeated perfetto.protos.SysStats.DiskStat disk_stat = 13;
*/
diskStat: SysStats_DiskStat[];
/**
* One entry per PsiResource type.
*
* @generated from field: repeated perfetto.protos.SysStats.PsiSample psi = 14;
*/
psi: SysStats_PsiSample[];
/**
* @generated from field: repeated perfetto.protos.SysStats.ThermalZone thermal_zone = 15;
*/
thermalZone: SysStats_ThermalZone[];
/**
* @generated from field: repeated perfetto.protos.SysStats.CpuIdleState cpuidle_state = 16;
*/
cpuidleState: SysStats_CpuIdleState[];
/**
* Read GPU frequency info on Intel/AMD devices.
*
* @generated from field: repeated uint64 gpufreq_mhz = 17;
*/
gpufreqMhz: bigint[];
};
/**
* Describes the message perfetto.protos.SysStats.
* Use `create(SysStatsSchema)` to create a new message.
*/
export const SysStatsSchema: GenMessage<SysStats> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0);
/**
* Counters from /proc/meminfo. Values are in KB.
*
* @generated from message perfetto.protos.SysStats.MeminfoValue
*/
export type SysStats_MeminfoValue = Message<"perfetto.protos.SysStats.MeminfoValue"> & {
/**
* @generated from field: optional perfetto.protos.MeminfoCounters key = 1;
*/
key: MeminfoCounters;
/**
* @generated from field: optional uint64 value = 2;
*/
value: bigint;
};
/**
* Describes the message perfetto.protos.SysStats.MeminfoValue.
* Use `create(SysStats_MeminfoValueSchema)` to create a new message.
*/
export const SysStats_MeminfoValueSchema: GenMessage<SysStats_MeminfoValue> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 0);
/**
* Counter from /proc/vmstat. Units are often pages, not KB.
*
* @generated from message perfetto.protos.SysStats.VmstatValue
*/
export type SysStats_VmstatValue = Message<"perfetto.protos.SysStats.VmstatValue"> & {
/**
* @generated from field: optional perfetto.protos.VmstatCounters key = 1;
*/
key: VmstatCounters;
/**
* @generated from field: optional uint64 value = 2;
*/
value: bigint;
};
/**
* Describes the message perfetto.protos.SysStats.VmstatValue.
* Use `create(SysStats_VmstatValueSchema)` to create a new message.
*/
export const SysStats_VmstatValueSchema: GenMessage<SysStats_VmstatValue> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 1);
/**
* Times in each mode, since boot. Unit: nanoseconds.
*
* @generated from message perfetto.protos.SysStats.CpuTimes
*/
export type SysStats_CpuTimes = Message<"perfetto.protos.SysStats.CpuTimes"> & {
/**
* @generated from field: optional uint32 cpu_id = 1;
*/
cpuId: number;
/**
* Time spent in user mode.
*
* @generated from field: optional uint64 user_ns = 2;
*/
userNs: bigint;
/**
* Time spent in user mode (low prio).
*
* @generated from field: optional uint64 user_nice_ns = 3;
*/
userNiceNs: bigint;
/**
* Time spent in system mode.
*
* @generated from field: optional uint64 system_mode_ns = 4;
*/
systemModeNs: bigint;
/**
* Time spent in the idle task.
*
* @generated from field: optional uint64 idle_ns = 5;
*/
idleNs: bigint;
/**
* Time spent waiting for I/O.
*
* @generated from field: optional uint64 io_wait_ns = 6;
*/
ioWaitNs: bigint;
/**
* Time spent servicing interrupts.
*
* @generated from field: optional uint64 irq_ns = 7;
*/
irqNs: bigint;
/**
* Time spent servicing softirqs.
*
* @generated from field: optional uint64 softirq_ns = 8;
*/
softirqNs: bigint;
};
/**
* Describes the message perfetto.protos.SysStats.CpuTimes.
* Use `create(SysStats_CpuTimesSchema)` to create a new message.
*/
export const SysStats_CpuTimesSchema: GenMessage<SysStats_CpuTimes> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 2);
/**
* @generated from message perfetto.protos.SysStats.InterruptCount
*/
export type SysStats_InterruptCount = Message<"perfetto.protos.SysStats.InterruptCount"> & {
/**
* @generated from field: optional int32 irq = 1;
*/
irq: number;
/**
* @generated from field: optional uint64 count = 2;
*/
count: bigint;
};
/**
* Describes the message perfetto.protos.SysStats.InterruptCount.
* Use `create(SysStats_InterruptCountSchema)` to create a new message.
*/
export const SysStats_InterruptCountSchema: GenMessage<SysStats_InterruptCount> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 3);
/**
* Frequencies for /sys/class/devfreq/ entries in kHz.
*
* @generated from message perfetto.protos.SysStats.DevfreqValue
*/
export type SysStats_DevfreqValue = Message<"perfetto.protos.SysStats.DevfreqValue"> & {
/**
* @generated from field: optional string key = 1;
*/
key: string;
/**
* @generated from field: optional uint64 value = 2;
*/
value: bigint;
};
/**
* Describes the message perfetto.protos.SysStats.DevfreqValue.
* Use `create(SysStats_DevfreqValueSchema)` to create a new message.
*/
export const SysStats_DevfreqValueSchema: GenMessage<SysStats_DevfreqValue> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 4);
/**
* @generated from message perfetto.protos.SysStats.BuddyInfo
*/
export type SysStats_BuddyInfo = Message<"perfetto.protos.SysStats.BuddyInfo"> & {
/**
* @generated from field: optional string node = 1;
*/
node: string;
/**
* @generated from field: optional string zone = 2;
*/
zone: string;
/**
* @generated from field: repeated uint32 order_pages = 3;
*/
orderPages: number[];
};
/**
* Describes the message perfetto.protos.SysStats.BuddyInfo.
* Use `create(SysStats_BuddyInfoSchema)` to create a new message.
*/
export const SysStats_BuddyInfoSchema: GenMessage<SysStats_BuddyInfo> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 5);
/**
* Counters from /proc/diskstats.
*
* @generated from message perfetto.protos.SysStats.DiskStat
*/
export type SysStats_DiskStat = Message<"perfetto.protos.SysStats.DiskStat"> & {
/**
* @generated from field: optional string device_name = 1;
*/
deviceName: string;
/**
* @generated from field: optional uint64 read_sectors = 2;
*/
readSectors: bigint;
/**
* @generated from field: optional uint64 read_time_ms = 3;
*/
readTimeMs: bigint;
/**
* @generated from field: optional uint64 write_sectors = 4;
*/
writeSectors: bigint;
/**
* @generated from field: optional uint64 write_time_ms = 5;
*/
writeTimeMs: bigint;
/**
* @generated from field: optional uint64 discard_sectors = 6;
*/
discardSectors: bigint;
/**
* @generated from field: optional uint64 discard_time_ms = 7;
*/
discardTimeMs: bigint;
/**
* @generated from field: optional uint64 flush_count = 8;
*/
flushCount: bigint;
/**
* @generated from field: optional uint64 flush_time_ms = 9;
*/
flushTimeMs: bigint;
};
/**
* Describes the message perfetto.protos.SysStats.DiskStat.
* Use `create(SysStats_DiskStatSchema)` to create a new message.
*/
export const SysStats_DiskStatSchema: GenMessage<SysStats_DiskStat> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 6);
/**
* Reading from /proc/pressure/*.
*
* @generated from message perfetto.protos.SysStats.PsiSample
*/
export type SysStats_PsiSample = Message<"perfetto.protos.SysStats.PsiSample"> & {
/**
* @generated from field: optional perfetto.protos.SysStats.PsiSample.PsiResource resource = 1;
*/
resource: SysStats_PsiSample_PsiResource;
/**
* Total absolute stall time (in nanos) for a given resource.
* While PSI readings are in micros, we store in nanos for consistency with
* most other time-based counters.
*
* @generated from field: optional uint64 total_ns = 2;
*/
totalNs: bigint;
};
/**
* Describes the message perfetto.protos.SysStats.PsiSample.
* Use `create(SysStats_PsiSampleSchema)` to create a new message.
*/
export const SysStats_PsiSampleSchema: GenMessage<SysStats_PsiSample> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 7);
/**
* Type of resource that may have exhibited pressure stalls.
* * _SOME indicates some resource tasks stalled.
* * _FULL indicates all non-idle resource tasks stalled simultaneously.
*
* @generated from enum perfetto.protos.SysStats.PsiSample.PsiResource
*/
export enum SysStats_PsiSample_PsiResource {
/**
* @generated from enum value: PSI_RESOURCE_UNSPECIFIED = 0;
*/
UNSPECIFIED = 0,
/**
* @generated from enum value: PSI_RESOURCE_CPU_SOME = 1;
*/
CPU_SOME = 1,
/**
* @generated from enum value: PSI_RESOURCE_CPU_FULL = 2;
*/
CPU_FULL = 2,
/**
* @generated from enum value: PSI_RESOURCE_IO_SOME = 3;
*/
IO_SOME = 3,
/**
* @generated from enum value: PSI_RESOURCE_IO_FULL = 4;
*/
IO_FULL = 4,
/**
* @generated from enum value: PSI_RESOURCE_MEMORY_SOME = 5;
*/
MEMORY_SOME = 5,
/**
* @generated from enum value: PSI_RESOURCE_MEMORY_FULL = 6;
*/
MEMORY_FULL = 6,
}
/**
* Describes the enum perfetto.protos.SysStats.PsiSample.PsiResource.
*/
export const SysStats_PsiSample_PsiResourceSchema: GenEnum<SysStats_PsiSample_PsiResource> = /*@__PURE__*/
enumDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 7, 0);
/**
* Reading from /sys/class/thermal/*.
*
* @generated from message perfetto.protos.SysStats.ThermalZone
*/
export type SysStats_ThermalZone = Message<"perfetto.protos.SysStats.ThermalZone"> & {
/**
* @generated from field: optional string name = 1;
*/
name: string;
/**
* @generated from field: optional uint64 temp = 2;
*/
temp: bigint;
/**
* @generated from field: optional string type = 3;
*/
type: string;
};
/**
* Describes the message perfetto.protos.SysStats.ThermalZone.
* Use `create(SysStats_ThermalZoneSchema)` to create a new message.
*/
export const SysStats_ThermalZoneSchema: GenMessage<SysStats_ThermalZone> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 8);
/**
* Reading from /sys/devices/system/cpu/cpu*\/cpuidle/state*.
*
* @generated from message perfetto.protos.SysStats.CpuIdleStateEntry
*/
export type SysStats_CpuIdleStateEntry = Message<"perfetto.protos.SysStats.CpuIdleStateEntry"> & {
/**
* Name of the idle state, e.g. C1-C10
*
* @generated from field: optional string state = 1;
*/
state: string;
/**
* @generated from field: optional uint64 duration_us = 2;
*/
durationUs: bigint;
};
/**
* Describes the message perfetto.protos.SysStats.CpuIdleStateEntry.
* Use `create(SysStats_CpuIdleStateEntrySchema)` to create a new message.
*/
export const SysStats_CpuIdleStateEntrySchema: GenMessage<SysStats_CpuIdleStateEntry> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 9);
/**
* @generated from message perfetto.protos.SysStats.CpuIdleState
*/
export type SysStats_CpuIdleState = Message<"perfetto.protos.SysStats.CpuIdleState"> & {
/**
* @generated from field: optional uint32 cpu_id = 1;
*/
cpuId: number;
/**
* @generated from field: repeated perfetto.protos.SysStats.CpuIdleStateEntry cpuidle_state_entry = 2;
*/
cpuidleStateEntry: SysStats_CpuIdleStateEntry[];
};
/**
* Describes the message perfetto.protos.SysStats.CpuIdleState.
* Use `create(SysStats_CpuIdleStateSchema)` to create a new message.
*/
export const SysStats_CpuIdleStateSchema: GenMessage<SysStats_CpuIdleState> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_sys_stats_sys_stats, 0, 10);