diagnostics_hierarchy

diagnostics_hierarchy is a library that contains the Diagnostics Hierarchy that contains Inspect, Logs or Lifecycle data.

Building

This project should be automatically included in builds.

Using

diagnostics_hierarchy can be used by depending on the //src/lib/diagnostics/hierarchy/rust GN target and then using the diagnostics_hierarchy crate in a Rust project.

diagnostics_hierarchy is not available in the SDK.

Testing

Unit tests for diagnostics_hierarchy are available in the diagnostics_hierarchy_tests package:

$ fx test diagnostics_hierarchy_tests

You'll need to include //src/lib/diagnostics/hierarchy/rust:tests in your build, either by using fx args to put it under universe_package_labels, or by fx set [....] --with //src/lib/diagnostics/hierarchy/rust:tests.

Benchmarking

Benchmarks for diagnostics_hierarchy are available in the rust_inspect_benchmarks package.

One way to run the benchmarks is with the following command:

$ fx run-e2e-tests rust_inspect_benchmarks_test

It is possible to run the benchmarks in a fast “unit test mode” with the following test command. This runs a small number of test iterations without collecting performance results, which can be useful for checking that the tests don't fail:

$ fx shell run rust_inspect_benchmarks --benchmark writer

You'll need to include //src/lib/diagnostics/hierarchy/rust:benchmarks in your build, either by using fx args to put it under universe_package_labels, or by fx set [....] --with //src/lib/diagnostics/hierarchy/rust:benchmarks.