Module observability

Module observability 

Source
Expand description

§Observability Infrastructure

Production-grade observability infrastructure for SciRS2 Core providing comprehensive monitoring, tracing, and auditing capabilities for enterprise deployments and regulated environments.

§Modules

  • tracing: Distributed tracing system with OpenTelemetry integration
  • audit: Audit logging for security events and compliance

§Features

  • OpenTelemetry-compatible distributed tracing
  • Enterprise-grade audit logging
  • Real-time security monitoring
  • Compliance reporting capabilities
  • Integration with SIEM systems
  • Performance attribution and analysis

§Example

use scirs2_core::observability::{tracing, audit};

// Initialize tracing
let tracing_config = tracing::TracingConfig::default();
tracing::init_tracing(tracing_config)?;

// Initialize audit logging
let audit_config = audit::AuditConfig::default();
let auditlogger = audit::AuditLogger::new(audit_config)?;

// Use tracing
if let Some(tracer) = tracing::global_tracer() {
    let span = tracer.start_span("data_processing")?;
    span.in_span(|| {
        // Your code here
    });
}

// Log audit events
auditlogger.log_data_access("user123", "dataset", "read", None)?;

Re-exports§

pub use tracing::examplematrix_computation_with_tracing;
pub use tracing::ActiveSpan;
pub use tracing::AdaptiveSampler;
pub use tracing::BatchExporter;
pub use tracing::ConsoleExporter;
pub use tracing::EnhancedSpanMetrics;
pub use tracing::NegotiationResult;
pub use tracing::ProbabilitySampler;
pub use tracing::RateLimitingSampler;
pub use tracing::ResourceAttribution;
pub use tracing::SpanBuilder;
pub use tracing::SpanKind;
pub use tracing::SpanStatus;
pub use tracing::TraceContext;
pub use tracing::TracingConfig;
pub use tracing::TracingSystem;
pub use tracing::TracingVersion;
pub use audit::AlertingConfig;
pub use audit::AuditConfig;
pub use audit::AuditEvent;
pub use audit::AuditEventBuilder;
pub use audit::AuditLogger;
pub use audit::AuditStatistics;
pub use audit::ComplianceMode;
pub use audit::ComplianceReport;
pub use audit::DataClassification;
pub use audit::EventCategory;
pub use audit::EventOutcome;
pub use audit::EventSeverity;
pub use audit::RetentionPolicy;
pub use audit::StorageBackend;
pub use audit::SystemContext;

Modules§

adaptivemonitoring
Adaptive monitoring module
audit
Audit Logging System
tracing
Distributed Tracing System