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 hitscache_misses- Total cache missescache_hit_rate- Hit rate percentage (target: >90%)
§Latency Metrics (in milliseconds)
query_latency_p50- Median query latencyquery_latency_p95- 95th percentile query latencyquery_latency_p99- 99th percentile query latency
§Performance Metrics
fingerprint_time_ns- Blake3 fingerprinting time in nanosecondsparse_time_us- Tree-sitter parsing time in microsecondsextract_time_us- Symbol extraction time in microseconds
§Throughput Metrics
files_processed_total- Total files processedsymbols_extracted_total- Total symbols extractedthroughput_files_per_sec- Files processed per second
§Error Metrics
errors_total- Total errors by typeerror_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
- Metrics
Snapshot - Snapshot of metrics at a point in time
Enums§
- SLOStatus
- SLO compliance status