Skip to content

perf(tunnel): reduce telemetry bandwidth for v0.17.6 - #451

Merged
youzi-1122 merged 3 commits into
mainfrom
feat/tunnel-metrics-compression
Sep 30, 2026
Merged

youzi-1122 merged 3 commits into
mainfrom
feat/tunnel-metrics-compression

Conversation

@youzi-1122

Copy link
Copy Markdown
Member

Summary

  • Negotiate Snappy compression for metric RPC payloads while preserving JSON compatibility with older Managers and Edge agents.
  • Split large metric uploads within Geminio's real frame budget, including Base64 envelope overhead, and retain acknowledged progress when later batches fail.
  • Avoid re-uploading confirmed cached scrape snapshots and duplicate scrape URLs without dropping new observations or changing their timestamps.
  • Bump VERSION and all README download examples to v0.17.6. Helm chart metadata and Edge image tags are derived from this version during packaging.

Design and compatibility details: docs/rfc/RFC-004-tunnel-metrics-compression.md.

Validation

  • Linux arm64 race tests passed for tunnel, collectors, Edge business logic, metrics, custom metrics, database metrics, Auto APM, Kubernetes, and Manager Frontier handlers.
  • Changed-package go vet and Linux builds of cmd/ongrid and cmd/ongrid-edge passed.
  • Regression tests cover JSON fallback, bounded decoding, partial batch acknowledgement, cancellation, snapshot deduplication, and actual Geminio packet encoding below its 10 MiB frame limit.
  • A synthetic multi-batch payload retained all samples and reduced 9,436,686 JSON bytes to 442,915 Snappy bytes. This is not a production bandwidth estimate.
  • make proto, make version-print package-k8s-chart, and git diff --check passed; packaged chart version, appVersion, and image tag were verified as 0.17.6 / v0.17.6 / v0.17.6.

Rollout and rollback

Upgrade Manager before Edge to enable compression immediately; mixed versions retain the JSON path when compression is not negotiated. Roll back to v0.17.5 artifacts if necessary; there are no database migrations. Durable buffering and exactly-once delivery are outside this change, and production load testing has not been performed.

Author confirmation

@youzi-1122
youzi-1122 merged commit 3e32776 into main Sep 30, 2026
7 checks passed
@youzi-1122
youzi-1122 deleted the feat/tunnel-metrics-compression branch September 30, 2026 03:41
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.

1 participant