Skip to content

feat(signoz): report Signoz server version in telemetry#517

Merged
mangglesh merged 1 commit into
mainfrom
feat/report-signoz-version
Jul 14, 2026
Merged

feat(signoz): report Signoz server version in telemetry#517
mangglesh merged 1 commit into
mainfrom
feat/report-signoz-version

Conversation

@mangglesh

Copy link
Copy Markdown
Contributor

What

Adds the Signoz server version to the telemetry payload the agent posts to /v1/k8s/telemetry.

Today the telemetry poster reports the logs provider (signoz), its URL, and connection status, but log_provider_config for Signoz is an empty {}. This wires the version into that map:

"log_provider_config": { "version": "v0.51.0" }

How

  • New helper fetchSignozVersion — GETs the unauthenticated /api/v1/version and parses {"version": "..."}.
  • probeLogsProvider's Signoz branch now populates log_provider_config["version"] when available.
  • Best-effort: probed each telemetry tick alongside the existing health probe; any failure (unreachable, non-200, malformed body) just omits the version and leaves log_provider_config unchanged — telemetry never fails on it.

Testing

  • Unit test TestFetchSignozVersion (httptest): ok / empty-version / non-200 / bad-json / unreachable.
  • Verified end-to-end against a live Signoz (v0.51.0) via a local telemetry sink — the real agent POST carried log_provider_config: {"version": "v0.51.0"}.

Notes

🤖 Generated with Claude Code

@mangglesh mangglesh requested a review from a team as a code owner July 13, 2026 21:01

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds functionality to fetch and report the Signoz server version from its /api/v1/version endpoint, including unit tests for various response scenarios. The review feedback suggests skipping the version fetch if the initial health check fails to avoid unnecessary network latency, and properly draining the HTTP response body to ensure connection reuse and prevent resource leaks.

Comment thread runner/cmd/agent/main.go
Comment thread runner/cmd/agent/main.go
@github-actions

Copy link
Copy Markdown
Contributor

📦 Image Tags Updated

I've automatically updated the image tags in `charts/nudgebee-agent/values.yaml` to the latest versions from GHCR for the `main` branch.

The image tags are now synchronized with the latest builds and ready for release.

The telemetry poster already reports the logs provider name, URL and
connection status, but not the datasource's version. Fetch Signoz's
server version from the unauthenticated GET /api/v1/version and include
it in log_provider_config so the backend/UI can surface it and gate
version-specific behaviour.

Best-effort: probed each telemetry tick alongside the health probe; any
error (unreachable, non-200, bad body) simply omits the version and
leaves log_provider_config unchanged, so telemetry never fails on it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mayankpande88 mayankpande88 force-pushed the feat/report-signoz-version branch from 88acba7 to 7000f4a Compare July 14, 2026 03:27
@mangglesh mangglesh merged commit fbc9436 into main Jul 14, 2026
7 checks passed
@mangglesh mangglesh deleted the feat/report-signoz-version branch July 14, 2026 03:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants