Skip to main content

Module monitoring

Module monitoring 

Source
Expand description

§Thread Flow Monitoring

Production-ready monitoring and observability infrastructure for Thread Flow.

§Features

  • Metrics Collection: Prometheus-compatible metrics for cache, latency, throughput
  • Structured Logging: JSON and human-readable logging with tracing
  • Performance Tracking: Real-time performance metrics and alerts
  • Error Tracking: Error rates and error type categorization

§Usage

use thread_flow::monitoring::{Metrics, init_logging};

// Initialize logging
init_logging(LogLevel::Info, LogFormat::Json)?;

// Create metrics collector
let metrics = Metrics::new();

// Track operations
metrics.record_cache_hit();
metrics.record_query_latency(15);  // 15ms
metrics.record_fingerprint_time(425);  // 425ns

// Get statistics
let stats = metrics.snapshot();
println!("Cache hit rate: {:.2}%", stats.cache_hit_rate());

§Metrics Tracked

§Cache Metrics

  • cache_hits - Total cache hits
  • cache_misses - Total cache misses
  • cache_hit_rate - Hit rate percentage (target: >90%)

§Latency Metrics (in milliseconds)

  • query_latency_p50 - Median query latency
  • query_latency_p95 - 95th percentile query latency
  • query_latency_p99 - 99th percentile query latency

§Performance Metrics

  • fingerprint_time_ns - Blake3 fingerprinting time in nanoseconds
  • parse_time_us - Tree-sitter parsing time in microseconds
  • extract_time_us - Symbol extraction time in microseconds

§Throughput Metrics

  • files_processed_total - Total files processed
  • symbols_extracted_total - Total symbols extracted
  • throughput_files_per_sec - Files processed per second

§Error Metrics

  • errors_total - Total errors by type
  • error_rate - Error rate percentage

Modules§

logging
Structured Logging for Thread Flow
performance
Performance monitoring and metrics collection

Structs§

Metrics
Metrics collector for Thread Flow operations
MetricsSnapshot
Snapshot of metrics at a point in time

Enums§

SLOStatus
SLO compliance status