Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 13 additions & 7 deletions runtime_tracing/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "runtime_tracing"
version = "0.15.0"
version = "0.16.0"
edition = "2024"
authors = ["Metacraft Labs Ltd"]
description = "A library for the schema and tracing helpers for the CodeTracer db trace format"
Expand All @@ -20,19 +20,25 @@ serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_repr = "0.1"
schemars = "0.8.2"
capnp = "0.21.1"
cbor4ii = { version = "1.0.0", features = ["serde1", "use_std"] }
fscommon = "0.1.1"
capnp = { version = "0.21.1", optional = true }
cbor4ii = { version = "1.0.0", features = ["serde1", "use_std"], optional = true }
fscommon = { version = "0.1.1", optional = true }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
zeekstd = "0.6.0"
zeekstd = { version = "0.6.0", optional = true }

[target.'cfg(target_arch = "wasm32")'.dependencies]
ruzstd = "0.8.1"
ruzstd = { version = "0.8.1", optional = true }

[build-dependencies]
capnpc = "0.21.0"
capnpc = { version = "0.21.0", optional = true }

[lib]
name = "runtime_tracing"
path = "src/lib.rs"

[features]
writers_and_readers = ["dep:capnp", "dep:cbor4ii", "dep:fscommon", "dep:zeekstd", "dep:ruzstd", "dep:capnpc"]
# to disable the default features, a dependency must use: `default-features = false ` !
# https://doc.rust-lang.org/cargo/reference/features.html
default = ["writers_and_readers"]
1 change: 1 addition & 0 deletions runtime_tracing/build.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
fn main() {
#[cfg(feature = "writers_and_readers")]
::capnpc::CompilerCommand::new().file("src/trace.capnp").run().expect("compiling schema")
}
23 changes: 22 additions & 1 deletion runtime_tracing/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,38 +8,59 @@
//! This crate provides the [`Tracer`] type for emitting trace events and a
//! collection of serializable structures describing the trace format.
//! The format is documented in `docs/` and the README.

#[cfg(feature = "writers_and_readers")]
mod abstract_trace_writer;
mod base64;
#[cfg(feature = "writers_and_readers")]
mod capnptrace;

#[cfg(feature = "writers_and_readers")]
#[cfg(target_arch = "wasm32")]
#[path = "./cbor_zstd_reader_wasm.rs"]
mod cbor_zstd_reader;
#[cfg(feature = "writers_and_readers")]
#[cfg(target_arch = "wasm32")]
#[path = "./cbor_zstd_writer_wasm.rs"]
mod cbor_zstd_writer;

#[cfg(not(target_arch = "wasm32"))]
#[cfg(feature = "writers_and_readers")]
mod cbor_zstd_reader;
#[cfg(not(target_arch = "wasm32"))]
#[cfg(feature = "writers_and_readers")]
mod cbor_zstd_writer;

#[cfg(feature = "writers_and_readers")]
mod non_streaming_trace_writer;
#[cfg(feature = "writers_and_readers")]
mod trace_readers;
#[cfg(feature = "writers_and_readers")]
mod trace_writer;
#[cfg(feature = "writers_and_readers")]
mod tracer;

// enabled always!
mod types;

#[cfg(feature = "writers_and_readers")]
pub use crate::non_streaming_trace_writer::NonStreamingTraceWriter;
#[cfg(feature = "writers_and_readers")]
pub use crate::trace_readers::TraceReader;
#[cfg(feature = "writers_and_readers")]
pub use crate::trace_writer::TraceWriter;
pub use crate::tracer::{NONE_TYPE_ID, NONE_VALUE, TraceEventsFileFormat, create_trace_reader, create_trace_writer};
#[cfg(feature = "writers_and_readers")]
pub use crate::tracer::{create_trace_reader, create_trace_writer, TraceEventsFileFormat, NONE_TYPE_ID, NONE_VALUE};

// enabled always!
pub use crate::types::*;

#[cfg(feature = "writers_and_readers")]
pub mod trace_capnp {
include!(concat!(env!("OUT_DIR"), "/src/trace_capnp.rs"));
}

#[cfg(feature = "writers_and_readers")]
#[cfg(test)]
mod tests {
use super::*;
Expand Down