blob: 2862d0f383e3e5bfeb4523ed89bc62747fd368f6 [file] [log] [blame]
-
name: Inspect
team: Diagnostics
links:
Home: /docs/development/diagnostics/inspect
description: |
Expose structured state about a component. Monitor the state of a component at an
instant in time.
The Inspect tool allows a component to expose an arbitrary hierarchy of typed key/value pairs
and update it over the course of its execution. This data can be snapshotted and inspected
while the component is still running.
Inspect is commonly used to represent information about the working set and recent history
of a component to help during debugging.
Component authors use Inspect by depending on a library in their language of choice (Rust, C++,
and Dart are currently supported), and calling the appropriate methods to mutate their
recorded state.
Inspect data may be read using the <code>ffx component inspect</code>
tool or <code>ffx target snapshot</code>.
related:
- Triage
-
name: Logs
team: Diagnostics
links:
Writing Logs: /docs/development/diagnostics/logs/recording
Viewing Logs: /docs/development/diagnostics/logs/viewing
description: |
Print string logs during the execution of a component.
Fuchsia, like many systems, supports basic logging of strings to record some information
when particular lines of source code are executed.
Logs are aggregated by the Archivist component. They may be read using `ffx log`.
related:
- Structured Logs
-
name: Structured Logs
team: Diagnostics
links:
Structured log encoding reference: /docs/reference/platform-spec/diagnostics/logs-encoding
description: |
Store structured key/value pairs in log messages.
In addition to text-based logs, Fuchsia supports fully structured
log records encoded as typed key/value hierarchies.
Developers may write structured logs using the <code>tracing</code> crate macros in Rust
or the <code>FX_SLOG</code> macro in C++.
-
name: Persistence
team: Diagnostics
links:
Persistence documentation: /docs/reference/diagnostics/persistence
description: |
Persistence stores Inspect data and publishes it on the subsequent boot.
Sometimes Diagnostics data can't be exported from the device until it's
rebooted, for example, if there's a problem with networking. Persistence
writes selected Inspect data to disk and then publishes it back to Inspect
on the next boot.
related:
- Inspect
-
name: Sampler
team: Diagnostics
links:
Sampler documentation: /docs/reference/diagnostics/sampler
description: |
Sampler reads data from Inspect and forwards it to Cobalt.
Sampler provides an easy way to send data to Cobalt. Instead of linking
your app to the Cobalt service and using it directly, you can just publish
your data in Inspect and write a simple config file entry to tell Sampler
to fetch your data and send it to Cobalt.
related:
- Inspect
-
name: Triage
team: Diagnostics
links:
Triage documentation: /docs/reference/diagnostics/triage
description: |
Triage selects and processes values from Diagnostics data, producing
useful actions and insights on-device and off-device.
Triage can: display calculated values; file snapshots (when running
on-device as the engine of Detect); and print warnings about
off-nominal values.
related:
- Inspect
- Detect
-
name: Detect
team: Diagnostics
links:
Detect documentation: /docs/reference/diagnostics/consumers/detect
description: |
Detect scans Inspect data on-device to decide when to file crash reports.
Detect scans are configured using the Triage language and run every
few minutes.
related:
- Inspect
- Triage