feat: anonymous usage telemetry via oss-telemetry

Send a single fire-and-forget ping at startup to help track adoption
and version spread. No persistent identifiers are collected.

Adds main.appVersion var (defaulting to "dev"); wire ldflags
(-X main.appVersion=$VERSION) to populate it at release time.

Opt out via any of:
  DO_NOT_TRACK=1
  OSS_TELEMETRY_DISABLED=1
  GRAPHQL_MONITORING_PROXY_DISABLE_TELEMETRY=1
This commit is contained in:
2026-05-21 03:06:34 +01:00
parent c2c75d69c0
commit d96d2f429f
3 changed files with 11 additions and 0 deletions
+8
View File
@@ -28,11 +28,17 @@ import (
libpack_logging "github.com/lukaszraczylo/graphql-monitoring-proxy/logging"
libpack_monitoring "github.com/lukaszraczylo/graphql-monitoring-proxy/monitoring"
libpack_tracing "github.com/lukaszraczylo/graphql-monitoring-proxy/tracing"
telemetry "github.com/lukaszraczylo/oss-telemetry"
// Auto-tune GOMAXPROCS from cgroup CPU quota (containerized workloads).
_ "go.uber.org/automaxprocs"
)
// appVersion is the build version. Set via ldflags during build:
//
// -X main.appVersion=v1.2.3
var appVersion = "dev"
var (
cfg *config
cfgMutex sync.RWMutex
@@ -512,6 +518,8 @@ func parseConfig() {
}
func main() {
telemetry.Send("graphql-monitoring-proxy", appVersion)
// Parse configuration
parseConfig()