observability_core/
lib.rs1pub mod batching;
16pub mod context;
17pub mod error;
18pub mod noop;
19pub mod traits;
20
21pub mod adapters;
23pub mod domain;
24pub mod extension;
25pub mod ports;
26
27pub use batching::{BatchingConfig, BatchingManager};
29pub use context::{
30 ContextFuture,
31 HeaderExtractor,
32 HeaderInjector,
34 TraceContext,
35 W3CTraceContext,
36 clear_current_context,
37 get_current_context,
38 set_current_context,
40 with_context,
41 with_context_future,
42};
43pub use error::{ObservabilityError, ObservabilityResult};
44pub use noop::NoOpObservabilityPlugin;
45pub use traits::{
46 LogLevel, MetricsCollector, ObservabilityPlugin, SpanGuard, SpanStatus, StructuredLogger,
47};
48
49pub use adapters::{
51 CompactJsonFormatter, JsonFormatter, LogDirectives, StandardLogAdapter,
52 UnifiedWasmStdoutAdapter, WasmStdoutAdapter, WasmStdoutMetricsAdapter,
53};
54#[cfg(feature = "structured-logging")]
55pub use adapters::{TracingIntegrationBuilder, TracingSubscriberAdapter};
56pub use domain::{
57 BasicMetricType, EnhancedContextEnricher, LogEntry, LogKvExtractor, MetricsEntry,
58 MetricsSource, ProcessorChain, TraceCorrelation, create_counter_metric, create_gauge_metric,
59 create_histogram_metric,
60};
61pub use extension::{
62 GlobalLoggerSingleton, ObservabilityConfig, ObservabilityManager, create_observability_manager,
63};
64pub use ports::{
65 BatchingPort, ContextPort, FormatterPort, MetricsPort, StandardLoggingPort, TransportPort,
66};
67
68pub const VERSION: &str = env!("CARGO_PKG_VERSION");
70
71pub const DEFAULT_BATCH_SIZE: usize = 100;
73
74pub const DEFAULT_FLUSH_INTERVAL_SECS: u64 = 5;