import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file protos/perfetto/trace/ps/process_stats.proto.
 */
export declare const file_protos_perfetto_trace_ps_process_stats: GenFile;
/**
 * 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 declare const ProcessStatsSchema: GenMessage<ProcessStats>;
/**
 * 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 declare const ProcessStats_ThreadSchema: GenMessage<ProcessStats_Thread>;
/**
 * @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 declare const ProcessStats_FDInfoSchema: GenMessage<ProcessStats_FDInfo>;
/**
 * @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 declare const ProcessStats_ProcessSchema: GenMessage<ProcessStats_Process>;
//# sourceMappingURL=process_stats_pb.d.ts.map