fuchsia.memory.attribution.plugin

Added: HEAD

PROTOCOLS

MemoryMonitor

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

GetSnapshot

Request

NameType
snapshot handle<socket>

STRUCTS

PrincipalIdentifier

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

Globally-unique identifier used to refer to a specific Principal..

FieldTypeDescriptionDefault
id uint64 No default

ProcessMapped

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

FieldTypeDescriptionDefault
process zx/Koid

The KOID of the process that this VMAR lives in.

No default
base uint64

Base address of the VMAR.

No default
len uint64

Length of the VMAR.

No default

ENUMS

PrincipalType flexible

Type: uint32

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

NameValueDescription
1

A RUNNABLE Principal is a unit of computation that can be "run" and has some degree of independence. For example: a Fuchsia component.

2

A PART Principal is a subsection of another Principal that does not operate independently. For example: the internal cache of a larger process.

TABLES

Attribution

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

Holds the list of resources attributed to a Principal (subject) by another Principal (source).

OrdinalFieldTypeDescription
source PrincipalIdentifier

Principal making the attribution claim.

subject PrincipalIdentifier

Principal to which the ressources are attributed.

resources vector<ResourceReference>

List of resources attributed to subject by source.

Job

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

OrdinalFieldTypeDescription
child_jobs vector<uint64>

List of child jobs of the job described.

processes vector<uint64>

List of child processes of the job described.

KernelStatistics

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

Kernel internal and system-wide memory statistics.

OrdinalFieldTypeDescription
memory_stats fuchsia.kernel/MemoryStatsExtended
compression_stats fuchsia.kernel/MemoryStatsCompression

Mapping

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

Information about a VMO mapped in a process address space.

OrdinalFieldTypeDescription
vmo zx/Koid

Koid of the VMO mapped.

address_base uint64

Address at which the VMO is mapped.

size uint64

Size of the VMO mapping.

Principal

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

Defines a Principal, a part of a running system that can use memory.

OrdinalFieldTypeDescription
identifier PrincipalIdentifier

The identifier of this principal.

description Description

The textual representation of a Principal. It does not need to be unique, but uniqueness is desirable for user-friendliness. This string will used for display.

principal_type PrincipalType
parent PrincipalIdentifier

Parent of the principal, if it has a parent.

Process

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

OrdinalFieldTypeDescription
vmos vector<uint64>

List of VMOs accessible to the process described.

mappings vector<Mapping>

List of memory mappings in the address space of the process described.

Resource

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

Holds the description of a kernel resource.

OrdinalFieldTypeDescription
koid zx/Koid

Unique identifier of the resource.

name_index uint64

Index of the resource name in the resource_names vector.

resource_type ResourceType

Snapshot

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

Snapshot of the memory usage of the system, as seen by the server.

OrdinalFieldTypeDescription
attributions vector<Attribution>

List of attribution claims.

principals vector<Principal>

List of Principals on the system.

resources vector<Resource>

List of kernel memory resources on the system. These resources are attributed to Principals by other Principals.

resource_names vector<string>

Map from the vector index to the name of kernel resources. Resource names are often repeated across many resources; using this indirection reduces the amount of duplication within a Snapshot object.

kernel_statistics KernelStatistics

System-wide memory statistics from the kernel.

Vmo

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

OrdinalFieldTypeDescription
committed_bytes uint64

Number of committed bytes of this VMO.

populated_bytes uint64

Number of populated bytes of this VMO.

parent zx/Koid

If present, the parent VMO of this VMO.

UNIONS

Description flexible

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

OrdinalVariantTypeDescription
component string

If the Principal is a component, its moniker.

part string

If the Principal is not a component, a user-understandable textual identifier.

ResourceReference flexible

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

References a kernel Resource, or some subset of a Resource (such as a part of a process address space).

OrdinalVariantTypeDescription
kernel_object zx/Koid

Identifies a kernel object whose memory is being attributed.

Refers to all memory held by VMOs reachable from the object (currently a Job, Process or VMO).

process_mapped ProcessMapped

Identifies a part of a process address space.

ResourceType flexible

Defined in fuchsia.memory.attribution.plugin/plugin.fidl

OrdinalVariantTypeDescription
job Job

Describes the set of Jobs & Processes within a Job resource.

process Process

Describes the memory of a Process. One of these fields may be omitted if not necessary to resolve the snapshot's attribution claims.

vmo Vmo

Describes the memory usage of a VMO, both in directly reference memory, and via its parent VMO, if any.