Crate xi_trace

Source

Modules§

chrome_trace_dump

Structs§

Config
How tracing should be configured.
Sample
Stores the relevant data about a sample for later serialization. The payload associated with any sample is by default a string but may be configured via the json_payload feature (there is an associated performance hit across the board for turning it on).
SampleArgs
SampleGuard
Trace
Stores the tracing data.

Enums§

CategoriesT
SampleEventType

Functions§

disable_tracing
Disable tracing. This clears all trace data (& frees the memory).
enable_tracing
Enable tracing with the default configuration. See Config::default. Tracing is disabled initially on program launch.
enable_tracing_with_config
Enable tracing with a specific configuration. Tracing is disabled initially on program launch.
is_enabled
Is tracing enabled. Technically doesn’t guarantee any samples will be stored as tracing could still be enabled but set with a limit of 0.
samples_cloned_sorted
Returns all the samples collected so far ordered chronologically by creation. Roughly corresponds to start_ns but instead there’s a monotonically increasing single global integer (when tracing) per creation of Sample that determines order.
samples_cloned_unsorted
Returns all the samples collected so far. There is no guarantee that the samples are ordered chronologically for several reasons:
samples_len
save
Save tracing data to to supplied path, using the Trace Viewer format. Trace file can be opened using the Chrome browser by visiting the URL about:tracing. If sorted_chronologically is true then sort output traces chronologically by each trace’s time of creation.
trace
Create an instantaneous sample without any payload. This is the lowest overhead tracing routine available.
trace_block
Creates a duration sample. The sample is finalized (end_ns set) when the returned value is dropped. trace_closure may be prettier to read.
trace_block_payload
See trace_block for how the block works and trace_payload for a discussion on payload.
trace_closure
Creates a duration sample that measures how long the closure took to execute.
trace_closure_payload
See trace_closure for how the closure works and trace_payload for a discussion on payload.
trace_payload
Create an instantaneous sample with a payload. The type the payload conforms to is currently determined by the feature this library is compiled with. By default, the type is string-like just like name. If compiled with the json_payload then a serde_json::Value is expected and the library acquires a dependency on the serde_json crate.

Type Aliases§

StrCow
TracePayloadT