sc_observability_types/
lib.rs1pub mod constants;
9mod diagnostic;
10pub mod error_codes;
11mod errors;
12mod events;
13mod health;
14mod level;
15mod metric;
16mod primitives;
17mod process;
18mod projection;
19mod query;
20mod span;
21mod tracing;
22mod validation;
23
24mod sealed {
25 pub trait Sealed {}
26}
27
28#[doc(hidden)]
29pub mod telemetry_health_provider_sealed {
30 #[derive(Debug, Clone, Copy, PartialEq, Eq)]
31 pub struct Token(pub(crate) ());
32
33 #[doc(hidden)]
34 pub(crate) const TOKEN: Token = Token(());
35
36 #[doc(hidden)]
37 #[must_use]
38 pub fn workspace_token() -> Token {
39 TOKEN
40 }
41
42 pub trait Sealed {
43 fn token(&self) -> Token;
44 }
45}
46
47#[doc(inline)]
48pub use constants::DEFAULT_ENV_PREFIX_SEPARATOR;
49#[doc(inline)]
50pub use constants::OBSERVATION_ENVELOPE_VERSION;
51#[doc(inline)]
52pub use diagnostic::{
53 Diagnostic, DiagnosticInfo, DiagnosticSummary, ErrorContext, RecoverableSteps, Remediation,
54};
55#[doc(inline)]
56pub use errors::{
57 EventError, ExportError, FlushError, IdentityError, InitError, LogSinkError, ObservationError,
58 ProjectionError, ShutdownError, SubscriberError, TelemetryError,
59};
60#[doc(inline)]
61pub use events::{LogEvent, Observable, Observation};
62#[doc(inline)]
63pub use health::{
64 ExporterHealth, ExporterHealthState, LoggingHealthReport, LoggingHealthState,
65 ObservabilityHealthProvider, ObservabilityHealthReport, ObservationHealthState,
66 QueryHealthReport, QueryHealthState, SinkHealth, SinkHealthState, TelemetryHealthReport,
67 TelemetryHealthState,
68};
69#[doc(inline)]
70pub use level::{Level, LevelFilter};
71#[doc(inline)]
72pub use metric::{MetricKind, MetricRecord};
73#[doc(inline)]
74pub use primitives::{DurationMs, ErrorCode, Timestamp};
75#[doc(inline)]
76pub use process::{ProcessIdentity, ProcessIdentityPolicy, ProcessIdentityResolver};
77#[doc(inline)]
78pub use projection::{
79 LogProjector, MetricProjector, ObservationFilter, ObservationSubscriber,
80 ProjectionRegistration, SpanProjector, SubscriberRegistration,
81};
82#[doc(inline)]
83pub use query::{LogFieldMatch, LogOrder, LogQuery, LogSnapshot, QueryError};
84#[doc(inline)]
85pub use span::{SpanEnded, SpanEvent, SpanRecord, SpanSignal, SpanStarted, SpanStatus};
86#[doc(inline)]
87pub use tracing::{SpanId, StateTransition, TraceContext, TraceId};
88#[doc(inline)]
89pub use validation::{
90 ActionName, CorrelationId, EnvPrefix, MetricName, MetricUnit, OutcomeLabel, SchemaVersion,
91 ServiceName, SinkName, StateName, TargetCategory, ToolName, ValueValidationError,
92};