traverse_runtime/trace/mod.rs
1//! Two-tier execution trace: public (`CloudEvents`) + private (hashed).
2//!
3//! Governed by spec `012-execution-trace-tiered`.
4
5pub mod private;
6pub mod public;
7pub mod store;
8
9pub use private::PrivateTraceEntry;
10pub use public::{PublicTraceEntry, TraceOutcome};
11pub use store::TraceStore;
12
13use chrono::Utc;
14use uuid::Uuid;
15
16/// Builds a new trace `id` and RFC 3339 `time` string for use when recording a trace.
17#[must_use]
18pub fn new_trace_id_and_time() -> (String, String) {
19 let id = Uuid::new_v4().to_string();
20 let time = Utc::now().to_rfc3339();
21 (id, time)
22}