voo_telemetry 1.1.0
voo_telemetry: ^1.1.0 copied to clipboard
OpenTelemetry integration for VooFlutter with support for traces, metrics, and logs.
1.1.0 #
New Features #
- FEAT: Implement combined telemetry export and configuration options
- FEAT: Add telemetry worker for background processing and web compatibility
- FEAT: Enhance asynchronous log, metric, and span handling to prevent deadlocks during export
- FEAT: Update API key handling and maintain traceId/spanId as strings for OTLP export
- FEAT: Enhanced OTLP HTTP exporter with improved meter and metrics support
Improvements #
- REFACTOR: Improve telemetry span management and serialization
- REFACTOR: Update imports to use centralized voo_core package
- REFACTOR: Clean up debug statements in exporters and workers
- DEPS: Requires
voo_core: ^1.2.0
Tests #
- TEST: Add comprehensive unit tests for TraceProvider, Tracer, LoggerProvider, Logger, MeterProvider, Meter, and instruments
- TEST: Add integration tests for OTLP logs, metrics, traces, and retry behavior
1.0.1 #
Bug Fixes #
- FIX: Add retry logic with exponential backoff and jitter to
OTLPHttpExporter - FIX: Implement span stack for proper parent span restoration in nested
withSpan()calls
New Features #
- FEAT: Implement trace context propagation to logs (log-trace correlation via traceId/spanId)
Improvements #
- REFACTOR: Use self-rescheduling timer for flush to prevent overlapping flush operations
- CHORE: Remove dead code (
_hexToBytesmethods) from span, log record, and serializable models
1.0.0 #
Note: This release marks the first stable major version with breaking changes.
Breaking Changes #
- Requires
voo_core: ^1.0.0 - OTLP exporter configuration updates for new DevStack API
New Features #
- FEAT: Enhanced OTLP export with improved batching and reliability
- FEAT: Feature toggle system integration for telemetry services
- FEAT: Add error tracking with fingerprinting support
- FEAT: Improved trace context propagation
- FEAT: Better integration with VooUserContext for session correlation
Improvements #
- REFACTOR: Simplified constructor parameters and improved code readability
- ENHANCEMENT: Better memory management for telemetry buffers
- ENHANCEMENT: Batch-level metadata support for OTLP payloads
- ENHANCEMENT: Improved offline resilience with automatic retry
0.2.3 #
- FEAT: add example modules and run configurations for VooFlutter packages.
0.2.2 #
- FEAT: Introduce voo_tokens package for design tokens and responsive utilities.
- FEAT: Enhance form components with configurable options and improved theming.
- FEAT: Add VooDataGrid previews and update configurations for better development experience.
0.2.1 #
fixed error causing repeated error in console DebugService: Error serving requestsError: Unsupported operation: Cannot send Null
0.2.0 #
Note: This release has breaking changes.
- REFACTOR: remove deprecated performance sync entity and update plugin structure.
- FEAT: Update cSpell words in settings, increment version to 0.3.2, and refactor network_bloc for improved readability.
- FEAT: Refactor network list and performance list to use new empty state widget.
- FEAT: Refactor NetworkList to support both log and request models.
- FEAT: Update changelogs for voo_analytics, voo_core, voo_logging, and voo_performance packages to reflect deprecation and migration to voo_telemetry.
- FEAT: Enhance topics in pubspec.yaml files for voo_analytics, voo_core, voo_logging, voo_performance, and voo_telemetry packages.
- FEAT: Add comprehensive test suite and configuration for VooTelemetry package.
- FEAT: Update package versions and descriptions; enhance import statements for consistency.
- BREAKING FEAT(voo_telemetry): Complete OpenTelemetry migration for VooFlutter.
Changelog #
0.1.0 - 2024-08-20 #
- Added WASM support for web platform
- Improved documentation and API comments
- Added comprehensive examples
- Enhanced pub.dev score compliance
- Performance optimizations
- Enhanced OTLP export capabilities
- Improved trace and metric collection
0.0.1 - 2024-01-15 #
🎉 Major Release - Complete OpenTelemetry Implementation #
This is a complete rewrite of the VooFlutter telemetry system to align with OpenTelemetry standards and integrate with the new DevStack OTLP API.
✨ New Features #
- Full OpenTelemetry Support: Complete implementation of traces, metrics, and logs following OTLP specification
- OTLP Export: Native OTLP/HTTP export with JSON encoding (gRPC coming soon)
- Unified API: Single
VooTelemetryentry point for all telemetry operations - Context Propagation: W3C Trace Context support for distributed tracing
- Automatic Instrumentation: Built-in support for HTTP and Dio clients
- Batch Processing: Intelligent batching with configurable intervals and sizes
- Resource Attributes: Comprehensive resource identification and attributes
- Error Tracking: Automatic exception capture with stack traces
- Performance Metrics: Built-in instruments for counters, gauges, and histograms
- Structured Logging: OpenTelemetry-compliant log records with severity levels
🔄 Breaking Changes #
- Package Rename: Consolidated from separate packages to unified
voo_telemetry - API Changes: Complete API redesign following OpenTelemetry conventions
- Configuration: New initialization API with OTLP endpoint configuration
- Dependencies: Removed legacy dependencies, added OTLP support libraries
🔧 Technical Improvements #
- Clean Architecture: Separation of concerns with providers, exporters, and processors
- Type Safety: Strong typing throughout the API
- Performance: Optimized batching and export mechanisms
- Reliability: Automatic retry with exponential backoff
- Debugging: Comprehensive debug mode with detailed logging
📦 Migration Guide #
Before (legacy packages)
VooLogger.initialize(apiKey: 'key', endpoint: 'url');
VooLogger.log('message');
VooAnalytics.trackEvent('event', properties: {});
VooPerformance.startTrace('trace');
After (v0.0.1)
await VooTelemetry.initialize(
endpoint: 'https://your-api.com',
apiKey: 'key',
serviceName: 'app',
);
// Logging
VooTelemetry.instance.getLogger().info('message');
// Tracing
VooTelemetry.instance.getTracer().withSpan('operation', (span) async {
// Your code
});
// Metrics
VooTelemetry.instance.getMeter().createCounter('events').increment();
🚀 DevStack API Integration #
This version is designed to work with DevStack API which provides:
- Native OTLP ingestion endpoints
- GCP Cloud Operations integration
- Real-time telemetry processing
- PII redaction and compliance
📝 Documentation #
- Comprehensive README with examples
- API documentation with dartdoc
- Integration guides for common scenarios
- Troubleshooting section
🐛 Known Issues #
- gRPC export not yet implemented (use HTTP/JSON)
- Some advanced OpenTelemetry features pending implementation
🔮 Future Enhancements #
- gRPC support for improved performance
- Additional instrumentations (SQLite, SharedPreferences)
- Sampling strategies configuration
- Offline storage with SQLite
- Custom exporters support