lukaszraczylo
1bff79e4f4
ci: also bump benchmark job Go to 1.25
v1.0.2
2026-05-22 23:37:46 +01:00
lukaszraczylo
b6e83f2837
ci: bump release Go to 1.25 to match go.mod directive
...
The repo's go.mod has required go 1.25.0 since the perf+coverage pass,
but the release workflow still pinned setup-go to 1.24 — the latest
1.24.X tool refuses to compile a 1.25 module with GOTOOLCHAIN=local,
breaking auto-release on every push.
2026-05-22 23:36:44 +01:00
lukaszraczylo
287289cd80
fix(telemetry): inject appVersion at build + auto-resolve at runtime
...
The released v0.45.1 binary shipped with the source default
appVersion="dev" because .goreleaser.yaml had ldflags="-s -w" only,
so every startup ping was rejected by the receiver with HTTP 400
(invalid version: regex requires leading digit).
Two-layer fix:
1. .goreleaser.yaml now passes -X main.appVersion={{.Version}} so
goreleaser-built binaries report the actual release version.
2. Switch to telemetry.SendForModule which prefers
debug.ReadBuildInfo Main/Deps when available, falling back to
appVersion. This means `go install github.com/lukaszraczylo/
graphql-monitoring-proxy@vX.Y.Z` users also get correct versions
without relying on the ldflag.
Bumps oss-telemetry to v0.2.1 for SendForModule.
2026-05-22 23:34:09 +01:00
lukaszraczylo
21b429c98a
docs: add Telemetry section linking to oss-telemetry opt-out docs
...
Discloses the single anonymous adoption ping sent on startup and points
users to the upstream README section for full opt-out instructions
instead of duplicating the table here.
2026-05-21 04:07:12 +01:00
lukaszraczylo
d96d2f429f
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
v0.45.1
2026-05-21 03:06:34 +01:00
lukaszraczylo
c2c75d69c0
perf+coverage: optimisation pass + coverage push to ≥70%
...
Performance / resource usage:
- circuit_breaker_metrics: fix data race on failCounters map (RWMutex + double-checked locking)
- server.go: drop user_id and op_name metric labels (Prometheus cardinality bound); de-duplicate extractUserInfo
- graphql.go: gate runtime.ReadMemStats per-request behind ENABLE_ALLOCATION_TRACKING flag (default off)
- graphql.go: collapse two-pass AST scan into single pass; lower-case once
- sanitization.go: cache compiled redaction regexes per pattern via sync.Map; hoist inner constants to pkg vars
- proxy.go: hoist connection/timeout substrings to pkg vars; sentinel errors for static error paths; drop dead Headers map alloc
- metrics_aggregator.go: log-field allocation guarded by Logger.IsLevelEnabled
- logging/logger.go: add IsLevelEnabled helper
- lru_cache.go: 16-shard sharding, FNV-1a routing (concurrent throughput +22%)
- cache/memory/lru_memory_cache.go: gzip compress/decompress moved outside mu.Lock
- rps_tracker.go: RWMutex+uint64 -> atomic.Uint64
- retry_budget.go: drop unused mutex
- api.go: bannedUsersIDs map+RWMutex -> sync.Map (+ snapshot/replace helpers)
- tracing/tracing.go: pkg-level constSpanAttrs, copy-then-append in StartSpanWithAttributes
- admin_dashboard.go: handleStatsWebSocket reuses bytes.Buffer + json.Encoder per connection
Build / runtime:
- Makefile: -ldflags="-s -w" -trimpath, CGO_ENABLED=0 for build (=1 for test recipes)
- Dockerfile + Dockerfile.goreleaser: ENV GOMEMLIMIT=512MiB
- main.go: blank import go.uber.org/automaxprocs (cgroup-aware GOMAXPROCS)
- main.go: PPROF_PORT env var wires net/http/pprof on 127.0.0.1 only with full server timeouts
- README.md: env-var docs + metric-label docs updated; cardinality note
Test coverage push (per package):
- main 51.2% -> 74.7%
- cache 66.3% -> 93.7%
- cache/redis 45.5% -> 98.2%
- tracing 66.7% -> 72.9%
- (cache/memory 91.6%, logging 91.9%, monitoring 77.6%, pkg/pools 100% unchanged)
New test files: coverage_micro_test, coverage_extras_test, server_handlers_test,
api_health_test, admin_dashboard_cluster_test, metrics_aggregator_test, concerns_test,
cache/cache_coverage_test, cache/redis/redis_coverage_test, tracing/tracing_coverage_test.
Bug fix: connection_resilience_test.go TestIntegratedHealthManagement.health_manager_startup
was sync.Once-coupled to InitializeBackendHealth and panicked when another test (e.g. via
parseConfig) had already triggered Once. Use NewBackendHealthManager directly.
v0.44.1
2026-04-19 19:49:24 +01:00
lukaszraczylo
65fa936b60
Update go.mod and go.sum ( #86 )
v0.43.91
2026-04-04 04:48:07 +01:00
lukaszraczylo
122148d23e
Update go.mod and go.sum ( #85 )
v0.43.89
2026-04-03 04:56:24 +01:00
lukaszraczylo
6e493e4100
Update go.mod and go.sum ( #84 )
v0.43.87
2026-04-02 04:54:42 +01:00
lukaszraczylo
92da4af001
Update go.mod and go.sum ( #83 )
v0.43.85
2026-04-01 05:02:25 +01:00
lukaszraczylo
c68dc2f20a
Update go.mod and go.sum ( #82 )
v0.43.83
2026-03-31 04:56:07 +01:00
lukaszraczylo
11ff751001
Update go.mod and go.sum ( #81 )
v0.43.81
2026-03-23 03:53:38 +00:00
lukaszraczylo
0414473f15
Update go.mod and go.sum ( #80 )
v0.43.79
2026-03-22 03:49:12 +00:00
lukaszraczylo
bc61557015
Update go.mod and go.sum ( #79 )
v0.43.77
2026-03-21 03:42:49 +00:00
lukaszraczylo
12ec00f697
Update go.mod and go.sum ( #78 )
v0.43.75
2026-03-20 03:45:16 +00:00
lukaszraczylo
da4a179d66
Update go.mod and go.sum ( #77 )
v0.43.73
2026-03-18 03:51:52 +00:00
lukaszraczylo
d0ecefce6c
Update go.mod and go.sum ( #76 )
v0.43.71
2026-03-17 03:46:12 +00:00
lukaszraczylo
c742530d2f
Update go.mod and go.sum ( #75 )
v0.43.69
2026-03-13 03:46:36 +00:00
lukaszraczylo
7304559801
Update go.mod and go.sum ( #74 )
v0.43.67
2026-03-12 03:45:51 +00:00
lukaszraczylo
aa46992497
Update go.mod and go.sum ( #73 )
v0.43.65
2026-03-10 03:45:15 +00:00
lukaszraczylo
e968a48584
Update go.mod and go.sum ( #72 )
v0.43.63
2026-03-09 03:47:33 +00:00
lukaszraczylo
c67dfe1827
Update go.mod and go.sum ( #71 )
v0.43.61
2026-03-08 03:46:25 +00:00
lukaszraczylo
55d86e34cf
Update go.mod and go.sum ( #70 )
v0.43.59
2026-03-07 03:37:20 +00:00
lukaszraczylo
cd4a1f16ed
Update go.mod and go.sum ( #69 )
v0.43.57
2026-03-03 03:46:23 +00:00
lukaszraczylo
3352050bdb
Update go.mod and go.sum ( #68 )
v0.43.55
2026-02-27 03:46:24 +00:00
lukaszraczylo
bb2509e254
Update go.mod and go.sum ( #67 )
v0.43.53
2026-02-26 03:47:30 +00:00
lukaszraczylo
d027122446
Update go.mod and go.sum ( #66 )
v0.43.51
2026-02-25 03:48:58 +00:00
lukaszraczylo
3abbaf66a1
Update go.mod and go.sum ( #65 )
v0.43.49
2026-02-24 03:47:16 +00:00
lukaszraczylo
f8871a4fb7
Update go.mod and go.sum ( #64 )
v0.43.47
2026-02-19 03:49:36 +00:00
lukaszraczylo
420e63f383
Update go.mod and go.sum ( #63 )
v0.43.45
2026-02-18 03:50:04 +00:00
lukaszraczylo
9bd9f0b9ba
Update go.mod and go.sum ( #62 )
v0.43.43
2026-02-17 03:47:17 +00:00
lukaszraczylo
31cb5930d5
Update go.mod and go.sum ( #61 )
v0.43.41
2026-02-15 03:51:37 +00:00
lukaszraczylo
454e1d2425
Update go.mod and go.sum ( #60 )
v0.43.39
2026-02-14 03:46:07 +00:00
lukaszraczylo
98afa39943
Update go.mod and go.sum ( #59 )
v0.43.37
2026-02-11 03:57:00 +00:00
lukaszraczylo
6605c59efd
Update go.mod and go.sum ( #58 )
v0.43.35
2026-02-10 03:58:10 +00:00
lukaszraczylo
f87f2ae5a2
Update go.mod and go.sum ( #57 )
v0.43.33
2026-02-09 03:52:03 +00:00
lukaszraczylo
04f6deb0a8
Update go.mod and go.sum ( #56 )
v0.43.31
2026-02-04 03:46:40 +00:00
lukaszraczylo
5ea41ea268
Update go.mod and go.sum ( #55 )
v0.43.29
2026-02-03 03:47:55 +00:00
lukaszraczylo
b8b814a9be
Update go.mod and go.sum ( #54 )
v0.43.27
2026-02-02 03:51:10 +00:00
lukaszraczylo
5b79b49b00
Update go.mod and go.sum ( #53 )
v0.43.25
2026-02-01 03:55:03 +00:00
lukaszraczylo
bdbf829a59
Update go.mod and go.sum ( #52 )
v0.43.23
2026-01-30 03:45:32 +00:00
lukaszraczylo
dcff327745
Update go.mod and go.sum ( #51 )
v0.43.21
2026-01-29 03:45:20 +00:00
lukaszraczylo
f2997c4c9f
Update go.mod and go.sum ( #50 )
v0.43.19
2026-01-28 03:32:18 +00:00
lukaszraczylo
c3fe0471df
Update go.mod and go.sum ( #49 )
v0.43.17
2026-01-27 03:32:38 +00:00
lukaszraczylo
d62c718682
Update go.mod and go.sum ( #48 )
v0.43.15
2026-01-26 03:37:18 +00:00
lukaszraczylo
26cebee756
Update go.mod and go.sum ( #47 )
v0.43.13
2026-01-25 03:33:49 +00:00
lukaszraczylo
acace4fe16
Update go.mod and go.sum ( #46 )
v0.43.11
2026-01-23 03:32:22 +00:00
lukaszraczylo
f6fc338c8c
Update go.mod and go.sum ( #45 )
v0.43.9
2026-01-22 03:32:34 +00:00
lukaszraczylo
9b792c3c64
Update go.mod and go.sum ( #44 )
v0.43.7
2026-01-21 03:30:16 +00:00
lukaszraczylo
d3fe02aa52
Update go.mod and go.sum ( #43 )
v0.43.5
2026-01-19 03:31:38 +00:00