-
Notifications
You must be signed in to change notification settings - Fork 11
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