Observability: Tracing and Metrics in the Hive
Overview
Architecture
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ │ │ │ │ │
│ API Client │───▶│ API Gateway │───▶│ Core Service│
│ │ │ (FastAPI) │ │ (gRPC) │
└─────────────┘ └─────────────┘ └─────────────┘
│
├─────────────┐
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ │ │ │
│ Database │ │ Mistral AI │
│ (PostgreSQL)│ │ (LangChain)│
└─────────────┘ └─────────────┘Metrics Architecture (The Hive Vital Signs)
Configuration
Environment Variables
Docker Compose
Implementation Details
Telemetry Initialization
Instrumentation
API Gateway (api-gateway/src/main.py)
api-gateway/src/main.py)Core Service (core-service/src/main.py)
core-service/src/main.py)Logging Correlation
Usage
Running with Docker
Accessing Jaeger UI
Expected Traces
Key Metrics
Testing
Troubleshooting
No Traces Appearing
Common Issues
Debugging Commands
Error Handling
Performance Optimization
Sampling Configuration
Batch Processor Tuning
Resource Usage Monitoring
Advanced Configuration
Custom Span Attributes
Context Propagation
Security Considerations
Sensitive Data
Network Security
Migration Guide
From No Tracing to OpenTelemetry
Upgrading OpenTelemetry Versions
Dependencies
Performance Considerations
Future Enhancements
Последнее обновление