template <>
class NaturalClientImpl
Defined at line 34 of file fidling/gen/sdk/fidl/fuchsia.memory.inspection/fuchsia.memory.inspection/cpp/fidl/fuchsia.memory.inspection/cpp/natural_messaging.h
Public Methods
::fit::result< ::fidl::OneWayError> CollectJsonStats (::fidl::Request< ::fuchsia_memory_inspection::Collector::CollectJsonStats> request)
Writes to `socket` a JSON capture of the memory usage and the memory
bucket definition, as a well-formed UTF-8 string.
The socket is closed by the server after all the data is written into
it.
TODO(https://fxbug.dev/42073090): Document the schema of the JSON.
Sample output:
{"Capture":
{
"Time":28477260758625,
"Kernel":{
"total":1610612736,
"free":170565632,
"wired":67395584,
"total_heap":30904320,
"free_heap":1873728,
"vmo":1276194816,
"mmu":65294336,
"ipc":196608,
"other":61440
},
"Processes":[
["koid","name","vmos"],
[47325,"fonts.cm",[47353, ...]],
...
],
"VmoNames":["scudo:primary", ...],
"Vmos":[
["koid","name","parent_koid","committed_bytes","allocated_bytes"],
[47440,38,47437,4096,4096],
...
]
}
"Buckets":
[
{
"event_code": 29,
"name": "BlobfsInactive",
"process": "blobfs\\.cm",
"vmo": "inactive-blob-.*"
},
...
]
}
For size reasons:
- Processes and Vmos have an initial entry that contains the names of the the fields in
the rest of the entries.
- The names of the VMOs are an index into the VMONames array.
::fit::result< ::fidl::OneWayError> CollectJsonStatsWithOptions (::fidl::Request< ::fuchsia_memory_inspection::Collector::CollectJsonStatsWithOptions> request)