Reviewed on: 2020-11-16
Archivist collects component lifecycle events, inspect snapshots, and log streams on Fuchsia, making them available over the
This project is included in the
bringup build product and most others as a result.
The production Archivist is “mounted” in the component topology in the bootstrap realm.
Tests run by
run-test-component have an Archivist embedded in the test realm when either
fuchsia.logger/Log is requested.
Realms can run their own Archivist by running
meta/archivist-for-embedding.cmx from the
archivist package. This has a number of sharp edges today and the Diagnostics team recommends consulting with us in the process of writing a new integration.
Unit tests are available in the
Integration tests for system logging are available in these packages:
The entrypoint is located in
src/main.rs, with the rest of the code living in
src/*.rs files. Unit tests are co-located with the code and integration tests are located in the
Each data type the Archivist supports has a directory:
Archivist accepts a configuration file to allow product-specific configuration separately from its package. The configuration file must be valid JSON with a single object at the top level. Its path within Archivist's namespace is defined by the
See the generated docs for Archivist's serde-based config parser for details.