fuchsia.memory.sampler

Added: 29

PROTOCOLS

Sampler

Defined in fuchsia.memory.sampler/sampler.fidl

Interface used to exfiltrate process allocation information.

RecordAllocation

Added: HEAD

Request

NameType
payload RecordAllocationEvent

RecordDeallocation

Added: HEAD

Request

NameType
payload RecordDeallocationEvent

SetProcessInfo

Communicate relevant process information to facilitate symbolization.

Request

NameType
payload SamplerSetProcessInfoRequest

SetSharedSocket

Provide a socket for sending allocation records.

Added: HEAD

Request

NameType
socket handle<socket>

TABLES

ExecutableSegment

Defined in fuchsia.memory.sampler/sampler.fidl

Address region that corresponds to an executable segment in an ELF module.

OrdinalFieldTypeDescription
start_address uint64

Start of the region as mapped in memory.

size uint64

Size of the range of addresses that are part of the region.

relative_address uint64

Offset of the region in the ELF binary before loading.

ModuleMap

Defined in fuchsia.memory.sampler/sampler.fidl

Information necessary for the symbolization of a module. Represents the subset of an ELF module relevant for the purposes of the profiler. The main use case for this map is the symbolization of stack traces.

OrdinalFieldTypeDescription
build_id vector<uint8>:20

Build ID, a string which uniquely identifies a module build.

executable_segments vector<ExecutableSegment>

Collection of executable segments.

RecordAllocationEvent

Defined in fuchsia.memory.sampler/sampler.fidl

Added: HEAD

OrdinalFieldTypeDescription
address uint64

Address of the allocation, to uniquely identify it.

stack_trace StackTrace

Stack frames collected at the allocation point.

size uint64

Size (in bytes) of this allocation.

RecordDeallocationEvent

Defined in fuchsia.memory.sampler/sampler.fidl

Added: HEAD

OrdinalFieldTypeDescription
address uint64

Address of the deallocation, to uniquely identify it.

stack_trace StackTrace

Stack frames collected at the deallocation point.

SamplerSetProcessInfoRequest

Defined in fuchsia.memory.sampler/sampler.fidl

OrdinalFieldTypeDescription
process_name string:32
module_map vector<ModuleMap>

StackTrace

Defined in fuchsia.memory.sampler/sampler.fidl

A stack trace, as a collection of stack frames.

OrdinalFieldTypeDescription
stack_frames vector<uint64>

Ordered vector of frame pointers, from the narrower to the wider location.

UNIONS

SamplerDatagram flexible

Defined in fuchsia.memory.sampler/sampler.fidl

Added: HEAD
OrdinalVariantTypeDescription
record_allocation RecordAllocationEvent
record_deallocation RecordDeallocationEvent

CONSTANTS

NameValueTypeDescription
BUILD_ID_BYTES 20 uint32

A build ID is a 20 bytes long sequence.