Welcome to the Telemetry 2.0 framework documentation.
- Architecture Overview - System design and components
- API Reference - Public API documentation
- Developer Guide - Getting started for developers
- Build Setup - Build environment configuration
- Testing Guide - Test procedures and coverage
Telemetry 2.0 is a lightweight, efficient telemetry framework designed for embedded devices in the RDK (Reference Design Kit) ecosystem. It provides real-time monitoring, event collection, and reporting capabilities for resource-constrained devices such as set-top boxes, gateways, and IoT devices.
- Lightweight: Optimized for devices with <128MB RAM
- Flexible: Profile-based configuration via JSON or XConf
- Efficient: Connection pooling and batch reporting
- Secure: mTLS support for encrypted communication
- Platform-Independent: Supports multiple architectures and platforms
docs/
├── architecture/ # System architecture and design
│ ├── overview.md # High-level system architecture
│ ├── components.md # Component relationships
│ ├── threading-model.md # Threading and synchronization
│ └── data-flow.md # Data flow and state machines
├── api/ # API documentation
│ ├── public-api.md # Public API reference
│ ├── internal-api.md # Internal API reference
│ └── error-codes.md # Error codes and meanings
├── integration/ # Integration and setup guides
│ ├── developer-guide.md # Getting started guide
│ ├── build-setup.md # Build configuration
│ ├── platform-porting.md # Porting to new platforms
│ └── testing.md # Testing procedures
└── troubleshooting/ # Debug and troubleshooting
├── memory-issues.md # Memory debugging
├── threading-issues.md # Thread debugging
└── common-errors.md # Common error solutions
Detailed technical documentation for individual components is located in source/docs/ following the source code structure:
- Bulk Data - Profile and marker management
- Protocol - HTTP communication layer
- Scheduler - Report scheduling
- XConf Client - Configuration retrieval
- DCA Utilities - Log marker collection
- Read the Architecture Overview to understand the system design
- Follow the Developer Guide to set up your environment
- Review the API Reference for available functions
- Check Testing Guide for test procedures
- Review Platform Porting Guide for integration requirements
- Check Build Setup for compilation options
- Review Threading Model for resource planning
- Review Component Documentation for implementation details
- Check Troubleshooting Guides for common issues
- Refer to Internal API for module interfaces
- Repository: https://github.com/rdkcentral/telemetry
- Bug Reports: GitHub Issues
- Contributions: See CONTRIBUTING.md
- License: Apache 2.0 (see LICENSE)
- Functions:
function_name() - Types:
type_name_t - Constants:
CONSTANT_NAME - Files: filename.c
- [Linux] - Linux-specific information
- [RDKB] - RDK-B specific information
- [Embedded] - General embedded platform info
⚠️ Warning - Important information that could cause issues if ignored- 💡 Tip - Helpful suggestion or best practice
- 📝 Note - Additional context or clarification
- ❌ Deprecated - Feature or API scheduled for removal
Documentation improvements are welcome! When contributing:
- Follow the Documentation Style Guide
- Test all code examples
- Use Mermaid for diagrams
- Add cross-references to related docs
- Update the table of contents
- For usage questions: Check Troubleshooting
- For build issues: See Build Setup
- For bugs: File a GitHub issue
- For API questions: See API Reference
Last Updated: March 2026
Version: 2.0