Observability
Feature Overview: Observability is iFlow CLI's monitoring and analysis system, providing performance monitoring, usage analysis, and debugging support.
Learning Time: 10-15 minutes
Prerequisites: Understanding basic JSON configuration, familiarity with system monitoring concepts
What is Observability
Observability is a monitoring and analysis system provided by iFlow CLI that enables you to gain deep insights into CLI performance, operational status, and usage patterns. By enabling observability features, you can obtain tracing data, performance metrics, and structured logs to better monitor operations, debug issues, and optimize user experience.
Core Features
| Feature | Description | Advantage |
|---|---|---|
| Standardized Protocol | Built on OpenTelemetry standards | Compatible with various monitoring backends |
| Multiple Data Types | Supports traces, metrics, and logs | Comprehensive observability |
| Flexible Configuration | Supports local and cloud output methods | Adapts to different deployment environments |
| Privacy Protection | Configurable sensitive information recording | Protects user privacy |
| Performance Optimization | Asynchronous processing, doesn't affect CLI performance | Transparent monitoring |
How It Works
Observability Data Flow
CLI Operations → Data Collection → Data Processing → Data Output → Monitoring Analysis
↓
[User Behavior] → [Trace Recording] → [Metric Aggregation] → [Local/Cloud] → [Performance Insights]
Technical Architecture
- Data Collection: Automatically collects performance data based on OpenTelemetry SDK
- Data Processing: Structured processing with filtering and aggregation support
- Data Output: Supports multiple outputs including local files, OTLP endpoints, cloud services
- Privacy Protection: Configurable data masking and filtering mechanisms
Detailed Feature Description
Configuration Management
Observability features support multiple flexible configuration methods, primarily managed through configuration files and environment variables, with CLI flags able to override specific session settings.
Configuration Priority
| Priority | Configuration Method | Description |
|---|---|---|
| Highest | CLI flags | Temporarily override current session |
| High | Environment variables | Global environment configuration |
| Medium | Project configuration | .iflow/settings.json |
| Low | User configuration | ~/.iflow/settings.json |
| Lowest | Default values | System default settings |
CLI Flag Parameters
| Parameter | Function | Example |
|---|---|---|
--telemetry / --no-telemetry | Enable/disable observability | iflow --telemetry |
--telemetry-target <local|gcp> | Set output target | iflow --telemetry-target local |
--telemetry-otlp-endpoint <URL> | Set OTLP endpoint | iflow --telemetry-otlp-endpoint http://localhost:4317 |
--telemetry-outfile <path> | Export to file | iflow --telemetry-outfile ./metrics.json |
--telemetry-log-prompts | Record prompts | iflow --telemetry-log-prompts |
Environment Variables
| Variable Name | Purpose | Example |
|---|---|---|
OTEL_EXPORTER_OTLP_ENDPOINT | Set OTLP export endpoint | http://localhost:4317 |