#[cfg(feature = "axum")]
pub mod axum;
mod client;
pub(crate) mod context;
mod error;
mod execution;
mod logger;
mod observation;
mod observation_handle;
pub mod server_client;
pub use client::Client;
pub use client::ClientBuilder;
pub use client::BATCH_SIZE;
pub use client::BLOB_THRESHOLD_BYTES;
pub use context::with_execution;
pub use error::Error;
pub use error::Result;
pub use execution::BeginExecution;
pub use execution::ExecutionHandle;
pub use logger::ObservationLogger;
pub use observation::ObservationBuilder;
pub use observation::ObservationBuilderWithPayload;
pub use observation_handle::ObservationHandle;
pub use observation_handle::SendObservation;
pub use observation_tools_macros::observe;
use observation_tools_shared::Observation;
pub use observation_tools_shared::Payload;
pub fn register_global_execution(execution: ExecutionHandle) -> Result<()> {
context::set_global_execution(execution)
}
pub fn current_execution() -> Option<ExecutionHandle> {
context::get_current_execution()
}
pub fn clear_global_execution() {
context::clear_global_execution()
}
#[derive(Debug)]
struct ObservationWithPayload {
observation: Observation,
payload: Payload,
}