tracing: Tracing infrastructure

Add a new feature "tracing" that enables tracing functionality via the
"tracer" crate (sadly features and crates cannot share the same name.)

Setup: tracer::start()

The main functionality is a tracer::trace_scope()! macro that will add
trace points for the duration of the scope. Tracing events are per
thread.

Finish: tracer::end() this will write the trace file (pretty printed
JSON) to a file in the current directory.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
This commit is contained in:
Rob Bradford
2022-06-21 15:01:26 +01:00
parent 56f163170c
commit b35e6f3018
7 changed files with 238 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
// Copyright © 2022 Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0
//
#[macro_export]
macro_rules! trace_scoped {
($event:expr) => {};
}
#[macro_export]
macro_rules! trace_point {
($event:expr) => {};
}
pub fn end() {}
pub fn start() {}