perfetto-protos
Version:
Perfetto protos exposed via protobuf-es for browser and node
373 lines • 11.3 kB
TypeScript
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { InternedString } from "./profile_common_pb";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/perfetto/trace/profiling/heap_graph.proto.
*/
export declare const file_protos_perfetto_trace_profiling_heap_graph: GenFile;
/**
* @generated from message perfetto.protos.HeapGraphRoot
*/
export type HeapGraphRoot = Message<"perfetto.protos.HeapGraphRoot"> & {
/**
* Objects retained by this root.
*
* @generated from field: repeated uint64 object_ids = 1 [packed = true];
*/
objectIds: bigint[];
/**
* @generated from field: optional perfetto.protos.HeapGraphRoot.Type root_type = 2;
*/
rootType: HeapGraphRoot_Type;
};
/**
* Describes the message perfetto.protos.HeapGraphRoot.
* Use `create(HeapGraphRootSchema)` to create a new message.
*/
export declare const HeapGraphRootSchema: GenMessage<HeapGraphRoot>;
/**
* @generated from enum perfetto.protos.HeapGraphRoot.Type
*/
export declare enum HeapGraphRoot_Type {
/**
* @generated from enum value: ROOT_UNKNOWN = 0;
*/
ROOT_UNKNOWN = 0,
/**
* @generated from enum value: ROOT_JNI_GLOBAL = 1;
*/
ROOT_JNI_GLOBAL = 1,
/**
* @generated from enum value: ROOT_JNI_LOCAL = 2;
*/
ROOT_JNI_LOCAL = 2,
/**
* @generated from enum value: ROOT_JAVA_FRAME = 3;
*/
ROOT_JAVA_FRAME = 3,
/**
* @generated from enum value: ROOT_NATIVE_STACK = 4;
*/
ROOT_NATIVE_STACK = 4,
/**
* @generated from enum value: ROOT_STICKY_CLASS = 5;
*/
ROOT_STICKY_CLASS = 5,
/**
* @generated from enum value: ROOT_THREAD_BLOCK = 6;
*/
ROOT_THREAD_BLOCK = 6,
/**
* @generated from enum value: ROOT_MONITOR_USED = 7;
*/
ROOT_MONITOR_USED = 7,
/**
* @generated from enum value: ROOT_THREAD_OBJECT = 8;
*/
ROOT_THREAD_OBJECT = 8,
/**
* @generated from enum value: ROOT_INTERNED_STRING = 9;
*/
ROOT_INTERNED_STRING = 9,
/**
* @generated from enum value: ROOT_FINALIZING = 10;
*/
ROOT_FINALIZING = 10,
/**
* @generated from enum value: ROOT_DEBUGGER = 11;
*/
ROOT_DEBUGGER = 11,
/**
* @generated from enum value: ROOT_REFERENCE_CLEANUP = 12;
*/
ROOT_REFERENCE_CLEANUP = 12,
/**
* @generated from enum value: ROOT_VM_INTERNAL = 13;
*/
ROOT_VM_INTERNAL = 13,
/**
* @generated from enum value: ROOT_JNI_MONITOR = 14;
*/
ROOT_JNI_MONITOR = 14
}
/**
* Describes the enum perfetto.protos.HeapGraphRoot.Type.
*/
export declare const HeapGraphRoot_TypeSchema: GenEnum<HeapGraphRoot_Type>;
/**
* @generated from message perfetto.protos.HeapGraphType
*/
export type HeapGraphType = Message<"perfetto.protos.HeapGraphType"> & {
/**
* TODO(fmayer): Consider removing this and using the index in the repeaed
* field to save space.
*
* @generated from field: optional uint64 id = 1;
*/
id: bigint;
/**
* @generated from field: optional uint64 location_id = 2;
*/
locationId: bigint;
/**
* @generated from field: optional string class_name = 3;
*/
className: string;
/**
* Size of objects of this type.
*
* @generated from field: optional uint64 object_size = 4;
*/
objectSize: bigint;
/**
* @generated from field: optional uint64 superclass_id = 5;
*/
superclassId: bigint;
/**
* Indices for InternedData.field_names for the names of the fields of
* instances of this class. This does NOT include the fields from
* superclasses. The consumer of this data needs to walk all super
* classes to get a full lists of fields. Objects always write the
* fields in order of most specific class to the furthest up superclass.
*
* @generated from field: repeated uint64 reference_field_id = 6 [packed = true];
*/
referenceFieldId: bigint[];
/**
* @generated from field: optional perfetto.protos.HeapGraphType.Kind kind = 7;
*/
kind: HeapGraphType_Kind;
/**
* @generated from field: optional uint64 classloader_id = 8;
*/
classloaderId: bigint;
};
/**
* Describes the message perfetto.protos.HeapGraphType.
* Use `create(HeapGraphTypeSchema)` to create a new message.
*/
export declare const HeapGraphTypeSchema: GenMessage<HeapGraphType>;
/**
* @generated from enum perfetto.protos.HeapGraphType.Kind
*/
export declare enum HeapGraphType_Kind {
/**
* @generated from enum value: KIND_UNKNOWN = 0;
*/
UNKNOWN = 0,
/**
* @generated from enum value: KIND_NORMAL = 1;
*/
NORMAL = 1,
/**
* @generated from enum value: KIND_NOREFERENCES = 2;
*/
NOREFERENCES = 2,
/**
* @generated from enum value: KIND_STRING = 3;
*/
STRING = 3,
/**
* @generated from enum value: KIND_ARRAY = 4;
*/
ARRAY = 4,
/**
* @generated from enum value: KIND_CLASS = 5;
*/
CLASS = 5,
/**
* @generated from enum value: KIND_CLASSLOADER = 6;
*/
CLASSLOADER = 6,
/**
* @generated from enum value: KIND_DEXCACHE = 7;
*/
DEXCACHE = 7,
/**
* @generated from enum value: KIND_SOFT_REFERENCE = 8;
*/
SOFT_REFERENCE = 8,
/**
* @generated from enum value: KIND_WEAK_REFERENCE = 9;
*/
WEAK_REFERENCE = 9,
/**
* @generated from enum value: KIND_FINALIZER_REFERENCE = 10;
*/
FINALIZER_REFERENCE = 10,
/**
* @generated from enum value: KIND_PHANTOM_REFERENCE = 11;
*/
PHANTOM_REFERENCE = 11
}
/**
* Describes the enum perfetto.protos.HeapGraphType.Kind.
*/
export declare const HeapGraphType_KindSchema: GenEnum<HeapGraphType_Kind>;
/**
* @generated from message perfetto.protos.HeapGraphObject
*/
export type HeapGraphObject = Message<"perfetto.protos.HeapGraphObject"> & {
/**
* @generated from oneof perfetto.protos.HeapGraphObject.identifier
*/
identifier: {
/**
* @generated from field: uint64 id = 1;
*/
value: bigint;
case: "id";
} | {
/**
* @generated from field: uint64 id_delta = 7;
*/
value: bigint;
case: "idDelta";
} | {
case: undefined;
value?: undefined;
};
/**
* Index for InternedData.types for the name of the type of this object.
*
* @generated from field: optional uint64 type_id = 2;
*/
typeId: bigint;
/**
* Bytes occupied by this objects.
*
* @generated from field: optional uint64 self_size = 3;
*/
selfSize: bigint;
/**
* Add this to all non-zero values in reference_object_id. This is used to
* get more compact varint encoding.
*
* The name is confusing, but this has always been used as a base for
* reference_object_id. The field should be named reference_object_id_base.
*
* @generated from field: optional uint64 reference_field_id_base = 6;
*/
referenceFieldIdBase: bigint;
/**
* Indices for InternedData.field_names for the name of the field referring
* to the object. For Android S+ and for instances of normal classes (e.g.
* not instances of java.lang.Class or arrays), this is instead set in the
* corresponding HeapGraphType, and this is left empty.
*
* @generated from field: repeated uint64 reference_field_id = 4 [packed = true];
*/
referenceFieldId: bigint[];
/**
* Ids of the Object that is referred to.
*
* @generated from field: repeated uint64 reference_object_id = 5 [packed = true];
*/
referenceObjectId: bigint[];
/**
* If this object is an instance of `libcore.util.NativeAllocationRegistry`,
* the value of the `size` field.
*
* N.B. This is not the native size of this object.
*
* @generated from field: optional int64 native_allocation_registry_size_field = 8;
*/
nativeAllocationRegistrySizeField: bigint;
/**
* To reduce the space required we only emit the heap type if it has changed
* from the previous object we recorded.
*
* @generated from field: optional perfetto.protos.HeapGraphObject.HeapType heap_type_delta = 9;
*/
heapTypeDelta: HeapGraphObject_HeapType;
};
/**
* Describes the message perfetto.protos.HeapGraphObject.
* Use `create(HeapGraphObjectSchema)` to create a new message.
*/
export declare const HeapGraphObjectSchema: GenMessage<HeapGraphObject>;
/**
* @generated from enum perfetto.protos.HeapGraphObject.HeapType
*/
export declare enum HeapGraphObject_HeapType {
/**
* @generated from enum value: HEAP_TYPE_UNKNOWN = 0;
*/
UNKNOWN = 0,
/**
* @generated from enum value: HEAP_TYPE_APP = 1;
*/
APP = 1,
/**
* @generated from enum value: HEAP_TYPE_ZYGOTE = 2;
*/
ZYGOTE = 2,
/**
* @generated from enum value: HEAP_TYPE_BOOT_IMAGE = 3;
*/
BOOT_IMAGE = 3
}
/**
* Describes the enum perfetto.protos.HeapGraphObject.HeapType.
*/
export declare const HeapGraphObject_HeapTypeSchema: GenEnum<HeapGraphObject_HeapType>;
/**
* @generated from message perfetto.protos.HeapGraph
*/
export type HeapGraph = Message<"perfetto.protos.HeapGraph"> & {
/**
* @generated from field: optional int32 pid = 1;
*/
pid: number;
/**
* This contains all objects at the time this dump was taken. Some of these
* will be live, some of those unreachable (garbage). To find the live
* objects, the client needs to build the transitive closure of objects
* reachable from |roots|.
* All objects not contained within that transitive closure are garbage that
* has not yet been collected.
*
* @generated from field: repeated perfetto.protos.HeapGraphObject objects = 2;
*/
objects: HeapGraphObject[];
/**
* Roots at the time this dump was taken.
* All live objects are reachable from the roots. All other objects are
* garbage.
*
* @generated from field: repeated perfetto.protos.HeapGraphRoot roots = 7;
*/
roots: HeapGraphRoot[];
/**
* Types used in HeapGraphObjects.
*
* @generated from field: repeated perfetto.protos.HeapGraphType types = 9;
*/
types: HeapGraphType[];
/**
* Field names for references in managed heap graph.
*
* @generated from field: repeated perfetto.protos.InternedString field_names = 4;
*/
fieldNames: InternedString[];
/**
* Paths of files used in managed heap graph.
*
* @generated from field: repeated perfetto.protos.InternedString location_names = 8;
*/
locationNames: InternedString[];
/**
* @generated from field: optional bool continued = 5;
*/
continued: boolean;
/**
* @generated from field: optional uint64 index = 6;
*/
index: bigint;
};
/**
* Describes the message perfetto.protos.HeapGraph.
* Use `create(HeapGraphSchema)` to create a new message.
*/
export declare const HeapGraphSchema: GenMessage<HeapGraph>;
//# sourceMappingURL=heap_graph_pb.d.ts.map