Skip to main content

appcore_ops/
lib.rs

1// =============================================================================
2//        #######
3//     ###       ###     F: lib.rs
4//    ##   ## ##   ##    P: AppCore-Runtime
5//         ## ##
6//                       C: 2026/05/29 20:47:35 by dnettoRaw
7//    ##   ## ##   ##    U: 2026/07/24 16:07:49 by dnettoRaw
8//      ###########      S: 1.0.1-rc.8
9// =============================================================================
10
11//! Observability contracts for runtime health, logging, and heartbeat signals.
12
13#![deny(missing_docs)]
14
15mod availability;
16pub mod health;
17pub mod heartbeat;
18pub mod log;
19/// Structured logging infrastructure shared by operational observers.
20pub mod logging {
21    pub use appcore_log::{
22        ConfiguredLogger, ConsoleSink, FileArchiveConfig, FileSink, FileSinkConfig, LogConfigError,
23        LogDispatcher, LogEvent, LogField, LogOutputMode, LogPolicy, LogSink, LogStats,
24        LoggerConfig, PathAliases, RingBufferSink, SensitiveDntSink, SensitiveDntSinkConfig,
25        Sensitivity, Severity, Verbosity, LOG_SIZE_16_MIB, LOG_SIZE_1_MIB, LOG_SIZE_2_MIB,
26        LOG_SIZE_32_MIB, LOG_SIZE_4_MIB, LOG_SIZE_64_MIB, LOG_SIZE_8_MIB,
27    };
28}
29pub mod metrics;
30pub mod observation;
31mod observation_file;
32mod observation_flush;
33mod observation_metrics;
34
35pub use availability::{RuntimeAvailabilityReport, RuntimeAvailabilityState};
36pub use health::{BasicHealthCheck, HealthCheck, HealthReport, HealthStatus};
37pub use heartbeat::{Heartbeat, HeartbeatSource, StaticHeartbeatSource};
38pub use log::{
39    InMemoryLogPressure, InMemoryLogger, LogLevel, LogRecord, LogSnapshot, RuntimeLogger,
40    StdoutLogger, MAX_IN_MEMORY_LOG_BYTES, MAX_IN_MEMORY_LOG_RECORDS, MAX_LOG_TARGET_BYTES,
41};
42pub use metrics::{
43    InMemoryMetrics, MetricCounter, MetricRegistryPressure, MetricSnapshot, MAX_IN_MEMORY_METRICS,
44    MAX_IN_MEMORY_METRIC_BYTES, MAX_METRIC_NAME_BYTES,
45};
46pub use observation::{
47    InMemoryObservationPressure, InMemoryObservationSink, ObservationEvent, ObservationKind,
48    ObservationSeverity, ObservationSink, ObservationSnapshot, SharedObservationEvent,
49    MAX_IN_MEMORY_OBSERVATION_BYTES, MAX_IN_MEMORY_OBSERVATION_ITEMS, MAX_OBSERVATION_ATTRIBUTES,
50    MAX_OBSERVATION_DRAINS, MAX_OBSERVATION_KEY_BYTES, MAX_OBSERVATION_NAME_BYTES,
51    MAX_OBSERVATION_TRACE_BYTES, MAX_OBSERVATION_VALUE_BYTES,
52};
53pub use observation_file::{
54    FileObservationSink, FileObservationSinkConfig, FileObservationSinkPressure,
55    FileObservationSinkStats, FILE_OBSERVATION_FLUSH_TIMEOUT, MAX_FILE_OBSERVATION_QUEUE_BYTES,
56    MAX_FILE_OBSERVATION_QUEUE_ITEMS, OBSERVATION_FILE_FORMAT_V1,
57};
58pub use observation_metrics::ObservationMetricsSink;