perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
256 lines (219 loc) • 8.81 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/ps/process_stats.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/trace/ps/process_stats.proto.
*/
export const file_protos_perfetto_trace_ps_process_stats: GenFile = /*@__PURE__*/
fileDesc("Cixwcm90b3MvcGVyZmV0dG8vdHJhY2UvcHMvcHJvY2Vzc19zdGF0cy5wcm90bxIPcGVyZmV0dG8ucHJvdG9zIqQGCgxQcm9jZXNzU3RhdHMSOAoJcHJvY2Vzc2VzGAEgAygLMiUucGVyZmV0dG8ucHJvdG9zLlByb2Nlc3NTdGF0cy5Qcm9jZXNzEiAKGGNvbGxlY3Rpb25fZW5kX3RpbWVzdGFtcBgCIAEoBBonCgZUaHJlYWQSCwoDdGlkGAEgASgFSgQIAhADSgQIAxAESgQIBBAFGiIKBkZESW5mbxIKCgJmZBgBIAEoBBIMCgRwYXRoGAIgASgJGuoECgdQcm9jZXNzEgsKA3BpZBgBIAEoBRI1Cgd0aHJlYWRzGAsgAygLMiQucGVyZmV0dG8ucHJvdG9zLlByb2Nlc3NTdGF0cy5UaHJlYWQSEgoKdm1fc2l6ZV9rYhgCIAEoBBIRCgl2bV9yc3Nfa2IYAyABKAQSEwoLcnNzX2Fub25fa2IYBCABKAQSEwoLcnNzX2ZpbGVfa2IYBSABKAQSFAoMcnNzX3NobWVtX2tiGAYgASgEEhIKCnZtX3N3YXBfa2IYByABKAQSFAoMdm1fbG9ja2VkX2tiGAggASgEEhEKCXZtX2h3bV9rYhgJIAEoBBIVCg1vb21fc2NvcmVfYWRqGAogASgDEh4KFmlzX3BlYWtfcnNzX3Jlc2V0dGFibGUYDCABKAgSIwobY2hyb21lX3ByaXZhdGVfZm9vdHByaW50X2tiGA0gASgNEiMKG2Nocm9tZV9wZWFrX3Jlc2lkZW50X3NldF9rYhgOIAEoDRIxCgNmZHMYDyADKAsyJC5wZXJmZXR0by5wcm90b3MuUHJvY2Vzc1N0YXRzLkZESW5mbxISCgpzbXJfcnNzX2tiGBAgASgEEhIKCnNtcl9wc3Nfa2IYESABKAQSFwoPc21yX3Bzc19hbm9uX2tiGBIgASgEEhcKD3Ntcl9wc3NfZmlsZV9rYhgTIAEoBBIYChBzbXJfcHNzX3NobWVtX2tiGBQgASgEEhcKD3Ntcl9zd2FwX3Bzc19rYhgXIAEoBBIZChFydW50aW1lX3VzZXJfbW9kZRgVIAEoBBIbChNydW50aW1lX2tlcm5lbF9tb2RlGBYgASgE");
/**
* Per-process periodically sampled stats. These samples are wrapped in a
* dedicated message (as opposite to be fields in process_tree.proto) because
* they are dumped at a different rate than cmdline and thread list.
* Note: not all of these stats will be present in every ProcessStats message
* and sometimes processes may be missing. This is because counters are
* cached to reduce emission of counters which do not change.
*
* @generated from message perfetto.protos.ProcessStats
*/
export type ProcessStats = Message<"perfetto.protos.ProcessStats"> & {
/**
* @generated from field: repeated perfetto.protos.ProcessStats.Process processes = 1;
*/
processes: ProcessStats_Process[];
/**
* The time at which we finish collecting this batch of samples;
* the top-level packet timestamp is the time at which
* we begin collection.
*
* @generated from field: optional uint64 collection_end_timestamp = 2;
*/
collectionEndTimestamp: bigint;
};
/**
* Describes the message perfetto.protos.ProcessStats.
* Use `create(ProcessStatsSchema)` to create a new message.
*/
export const ProcessStatsSchema: GenMessage<ProcessStats> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_ps_process_stats, 0);
/**
* Per-thread periodically sampled stats.
* Note: not all of these stats will be present in every message. See the note
* for ProcessStats.
*
* @generated from message perfetto.protos.ProcessStats.Thread
*/
export type ProcessStats_Thread = Message<"perfetto.protos.ProcessStats.Thread"> & {
/**
* @generated from field: optional int32 tid = 1;
*/
tid: number;
};
/**
* Describes the message perfetto.protos.ProcessStats.Thread.
* Use `create(ProcessStats_ThreadSchema)` to create a new message.
*/
export const ProcessStats_ThreadSchema: GenMessage<ProcessStats_Thread> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_ps_process_stats, 0, 0);
/**
* @generated from message perfetto.protos.ProcessStats.FDInfo
*/
export type ProcessStats_FDInfo = Message<"perfetto.protos.ProcessStats.FDInfo"> & {
/**
* @generated from field: optional uint64 fd = 1;
*/
fd: bigint;
/**
* @generated from field: optional string path = 2;
*/
path: string;
};
/**
* Describes the message perfetto.protos.ProcessStats.FDInfo.
* Use `create(ProcessStats_FDInfoSchema)` to create a new message.
*/
export const ProcessStats_FDInfoSchema: GenMessage<ProcessStats_FDInfo> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_ps_process_stats, 0, 1);
/**
* @generated from message perfetto.protos.ProcessStats.Process
*/
export type ProcessStats_Process = Message<"perfetto.protos.ProcessStats.Process"> & {
/**
* @generated from field: optional int32 pid = 1;
*/
pid: number;
/**
* @generated from field: repeated perfetto.protos.ProcessStats.Thread threads = 11;
*/
threads: ProcessStats_Thread[];
/**
* See /proc/[pid]/status in `man 5 proc` for a description of these fields.
*
* @generated from field: optional uint64 vm_size_kb = 2;
*/
vmSizeKb: bigint;
/**
* @generated from field: optional uint64 vm_rss_kb = 3;
*/
vmRssKb: bigint;
/**
* @generated from field: optional uint64 rss_anon_kb = 4;
*/
rssAnonKb: bigint;
/**
* @generated from field: optional uint64 rss_file_kb = 5;
*/
rssFileKb: bigint;
/**
* @generated from field: optional uint64 rss_shmem_kb = 6;
*/
rssShmemKb: bigint;
/**
* @generated from field: optional uint64 vm_swap_kb = 7;
*/
vmSwapKb: bigint;
/**
* @generated from field: optional uint64 vm_locked_kb = 8;
*/
vmLockedKb: bigint;
/**
* When adding a new field remember to update kProcMemCounterSize in
* the trace processor.
*
* @generated from field: optional uint64 vm_hwm_kb = 9;
*/
vmHwmKb: bigint;
/**
* @generated from field: optional int64 oom_score_adj = 10;
*/
oomScoreAdj: bigint;
/**
* The peak resident set size is resettable in newer Posix kernels.
* This field specifies if reset is supported and if the writer had reset
* the peaks after each process stats recording.
*
* @generated from field: optional bool is_peak_rss_resettable = 12;
*/
isPeakRssResettable: boolean;
/**
* Private, shared and swap footprint of the process as measured by
* Chrome. To know more about these metrics refer to:
* https://docs.google.com/document/d/1_WmgE1F5WUrhwkPqJis3dWyOiUmQKvpXp5cd4w86TvA
*
* @generated from field: optional uint32 chrome_private_footprint_kb = 13;
*/
chromePrivateFootprintKb: number;
/**
* @generated from field: optional uint32 chrome_peak_resident_set_kb = 14;
*/
chromePeakResidentSetKb: number;
/**
* @generated from field: repeated perfetto.protos.ProcessStats.FDInfo fds = 15;
*/
fds: ProcessStats_FDInfo[];
/**
* These fields are set only when scan_smaps_rollup=true
*
* @generated from field: optional uint64 smr_rss_kb = 16;
*/
smrRssKb: bigint;
/**
* @generated from field: optional uint64 smr_pss_kb = 17;
*/
smrPssKb: bigint;
/**
* @generated from field: optional uint64 smr_pss_anon_kb = 18;
*/
smrPssAnonKb: bigint;
/**
* @generated from field: optional uint64 smr_pss_file_kb = 19;
*/
smrPssFileKb: bigint;
/**
* @generated from field: optional uint64 smr_pss_shmem_kb = 20;
*/
smrPssShmemKb: bigint;
/**
* @generated from field: optional uint64 smr_swap_pss_kb = 23;
*/
smrSwapPssKb: bigint;
/**
* Time spent scheduled in user mode in nanoseconds. Parsed from utime in
* /proc/pid/stat. Recorded if record_process_runtime config option is set.
* Resolution of "clock ticks", usually 10ms.
*
* @generated from field: optional uint64 runtime_user_mode = 21;
*/
runtimeUserMode: bigint;
/**
* Time spent scheduled in kernel mode in nanoseconds. Parsed from stime in
* /proc/pid/stat. Recorded if record_process_runtime config option is set.
* Resolution of "clock ticks", usually 10ms.
*
* @generated from field: optional uint64 runtime_kernel_mode = 22;
*/
runtimeKernelMode: bigint;
};
/**
* Describes the message perfetto.protos.ProcessStats.Process.
* Use `create(ProcessStats_ProcessSchema)` to create a new message.
*/
export const ProcessStats_ProcessSchema: GenMessage<ProcessStats_Process> = /*@__PURE__*/
messageDesc(file_protos_perfetto_trace_ps_process_stats, 0, 2);