-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Labels
sourcesSupport for additional observability platformsSupport for additional observability platforms
Description
Description
Add support for SigNoz as an observability backend, enabling users to query OpenTelemetry traces from SigNoz (self-hosted or cloud).
Motivation
SigNoz is mentioned specifically in the roadmap ("Support for additional backends (SigNoz, ClickHouse)"). SigNoz is a popular open-source alternative to Datadog/New Relic with native OpenTelemetry support, making it ideal for cost-conscious teams and self-hosted deployments.
Implementation Requirements
1. Backend Implementation
- Create
src/openllmetry_mcp/backends/signoz.pyfollowing the abstract interface inbackends/base.py - Implement the following methods:
search_traces()- Query traces using SigNoz Query Service APIget_trace()- Retrieve full trace detailslist_services()- List available servicesget_aggregated_usage()- Aggregate token usage metrics
2. Configuration
- Add
signozas a backend type option - Required configuration:
BACKEND_URL: SigNoz instance URL (e.g.,http://localhost:3301orhttps://your-signoz-cloud.signoz.io)BACKEND_API_KEY: API key (for SigNoz Cloud) or empty for self-hosted
- Update
.env.examplewith SigNoz configuration example
3. API Integration
Reference SigNoz APIs:
- Query Service API
- Traces API endpoints
- SigNoz uses ClickHouse backend with custom query language
- Authentication: Bearer token in
Authorizationheader (Cloud) or no auth (self-hosted)
4. Query Language
SigNoz uses a custom query builder for filtering traces. Example:
{
"start": 1609459200000,
"end": 1609545600000,
"filters": {
"items": [
{
"key": {"key": "serviceName", "type": "tag"},
"value": "api",
"op": "="
}
],
"op": "AND"
},
"limit": 100
}5. OpenLLMetry Support
Ensure proper parsing of OpenLLMetry semantic conventions (gen_ai.* attributes) from SigNoz trace spans.
6. Documentation
- Add SigNoz backend configuration to README.md
- Include Claude Desktop integration example
- Document both self-hosted and SigNoz Cloud configurations
- Add troubleshooting section for common SigNoz connection issues
7. Testing
- Add unit tests in
tests/backends/test_signoz.py - Test trace querying with SigNoz query format
- Test filtering, aggregation, and pagination
- Test error handling and authentication
- Test both self-hosted and cloud scenarios
Example Configuration
Self-hosted
BACKEND_TYPE=signoz
BACKEND_URL=http://localhost:3301SigNoz Cloud
BACKEND_TYPE=signoz
BACKEND_URL=https://your-org.signoz.io
BACKEND_API_KEY=your_api_key_hereReferences
- SigNoz Official Docs
- SigNoz OpenTelemetry Guide
- SigNoz API Documentation
- SigNoz GitHub
- Future Enhancements roadmap item
- Existing backend implementations:
backends/jaeger.py,backends/tempo.py,backends/traceloop.py
Acceptance Criteria
- SigNoz backend implementation complete
- All abstract methods implemented
- Query builder for SigNoz filter format
- Configuration documented (self-hosted and cloud)
- Tests passing for both deployment types
- README updated with SigNoz examples
- Works with Claude Desktop integration
Metadata
Metadata
Assignees
Labels
sourcesSupport for additional observability platformsSupport for additional observability platforms