Add tests for Prometheus metrics endpoint and validation
What type of PR is this?
Uncomment only one
/kind <>line, press enter to put that in a new line, and remove leading whitespace from that line:/kind breaking /kind bug
/kind cleanup
/kind documentation /kind feature /kind hotfix /kind release
What this PR does / Why we need it:
- Added tests for Prometheus exporter registration and metrics endpoint exposure
- Verified all expected metrics are served via /metrics endpoint
- Included Stackdriver-only setup test to ensure no panics
Which issue(s) this PR fixes:
Closes #3925
Special notes for your reviewer:
Build Succeeded :partying_face:
Build Id: 9386d087-612a-404f-8994-fcf316d51dda
The following development artifacts have been built, and will exist for the next 30 days:
- image: us-docker.pkg.dev/agones-images/ci/agones-controller:1.50.0-dev-67da16b
- image: us-docker.pkg.dev/agones-images/ci/agones-extensions:1.50.0-dev-67da16b
- image: us-docker.pkg.dev/agones-images/ci/agones-sdk:1.50.0-dev-67da16b-linux
- image: us-docker.pkg.dev/agones-images/ci/agones-ping:1.50.0-dev-67da16b
- image: us-docker.pkg.dev/agones-images/ci/agones-allocator:1.50.0-dev-67da16b
- Linux C++ SDK (build): agonessdk-1.50.0-dev-67da16b-linux-arch_64.tar.gz
- SDK Server: agonessdk-server-1.50.0-dev-67da16b.zip
A preview of the website (the last 30 builds are retained):
- https://67da16b-dot-preview-dot-agones-images.appspot.com/
To install this version:
git fetch https://github.com/googleforgames/agones.git pull/4185/head:pr_4185 && git checkout pr_4185
helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.50.0-dev-67da16b
Build Succeeded :partying_face:
Build Id: 23068501-53f6-4639-b3c6-97f7f58947be
The following development artifacts have been built, and will exist for the next 30 days:
- image: us-docker.pkg.dev/agones-images/ci/agones-controller:1.50.0-dev-d097ea8
- image: us-docker.pkg.dev/agones-images/ci/agones-extensions:1.50.0-dev-d097ea8
- image: us-docker.pkg.dev/agones-images/ci/agones-sdk:1.50.0-dev-d097ea8-linux
- image: us-docker.pkg.dev/agones-images/ci/agones-ping:1.50.0-dev-d097ea8
- image: us-docker.pkg.dev/agones-images/ci/agones-allocator:1.50.0-dev-d097ea8
- Linux C++ SDK (build): agonessdk-1.50.0-dev-d097ea8-linux-arch_64.tar.gz
- SDK Server: agonessdk-server-1.50.0-dev-d097ea8.zip
A preview of the website (the last 30 builds are retained):
- https://d097ea8-dot-preview-dot-agones-images.appspot.com/
To install this version:
git fetch https://github.com/googleforgames/agones.git pull/4185/head:pr_4185 && git checkout pr_4185
helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.50.0-dev-d097ea8
Looks like this test isn't including the
agones_gameserver_allocations_duration_secondsoragones_gameserver_allocations_retry_total. @vicentefb could you confirm which metrics are expected at the allocator endpoint?Try adding some debug statements (or just use your debugger) to see what metrics the test is testing for:
metricsSet := collectMetricNames(resp) fmt.Println("GOT", metricsSet) expectedMetrics := getMetricNames() fmt.Println("EXPECTED", expectedMetrics) // Force test to fail so that the above fmt.Println actually prints. assert.True(t, false)
Yeah, those two metrics are also expected at the allocator endpoint as well as metrics listed here: https://agones.dev/site/docs/guides/metrics/
Build Succeeded :partying_face:
Build Id: 39b31441-5c49-41f8-9952-7da7117eefa8
The following development artifacts have been built, and will exist for the next 30 days:
- image: us-docker.pkg.dev/agones-images/ci/agones-controller:1.50.0-dev-cbf1045
- image: us-docker.pkg.dev/agones-images/ci/agones-extensions:1.50.0-dev-cbf1045
- image: us-docker.pkg.dev/agones-images/ci/agones-sdk:1.50.0-dev-cbf1045-linux
- image: us-docker.pkg.dev/agones-images/ci/agones-ping:1.50.0-dev-cbf1045
- image: us-docker.pkg.dev/agones-images/ci/agones-allocator:1.50.0-dev-cbf1045
- Linux C++ SDK (build): agonessdk-1.50.0-dev-cbf1045-linux-arch_64.tar.gz
- SDK Server: agonessdk-server-1.50.0-dev-cbf1045.zip
A preview of the website (the last 30 builds are retained):
- https://cbf1045-dot-preview-dot-agones-images.appspot.com/
To install this version:
git fetch https://github.com/googleforgames/agones.git pull/4185/head:pr_4185 && git checkout pr_4185
helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.50.0-dev-cbf1045
Build Failed :sob:
Build Id: 1034ca0f-312c-4550-8da4-0c52d51d32c0
Status: FAILURE
To get permission to view the Cloud Build view, join the agones-discuss Google Group.
/gcbrun
Build Succeeded :partying_face:
Build Id: bce52699-46ed-4e2f-825c-d93dc931153f
The following development artifacts have been built, and will exist for the next 30 days:
- image: us-docker.pkg.dev/agones-images/ci/agones-controller:1.50.0-dev-2acecd1
- image: us-docker.pkg.dev/agones-images/ci/agones-extensions:1.50.0-dev-2acecd1
- image: us-docker.pkg.dev/agones-images/ci/agones-sdk:1.50.0-dev-2acecd1-linux
- image: us-docker.pkg.dev/agones-images/ci/agones-ping:1.50.0-dev-2acecd1
- image: us-docker.pkg.dev/agones-images/ci/agones-allocator:1.50.0-dev-2acecd1
- Linux C++ SDK (build): agonessdk-1.50.0-dev-2acecd1-linux-arch_64.tar.gz
- SDK Server: agonessdk-server-1.50.0-dev-2acecd1.zip
A preview of the website (the last 30 builds are retained):
- https://2acecd1-dot-preview-dot-agones-images.appspot.com/
To install this version:
git fetch https://github.com/googleforgames/agones.git pull/4185/head:pr_4185 && git checkout pr_4185
helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.50.0-dev-2acecd1
Build Succeeded :partying_face:
Build Id: 135458f3-06d2-482b-b080-45996e261032
The following development artifacts have been built, and will exist for the next 30 days:
- image: us-docker.pkg.dev/agones-images/ci/agones-controller:1.51.0-dev-837d684
- image: us-docker.pkg.dev/agones-images/ci/agones-extensions:1.51.0-dev-837d684
- image: us-docker.pkg.dev/agones-images/ci/agones-sdk:1.51.0-dev-837d684-linux
- image: us-docker.pkg.dev/agones-images/ci/agones-ping:1.51.0-dev-837d684
- image: us-docker.pkg.dev/agones-images/ci/agones-allocator:1.51.0-dev-837d684
- Linux C++ SDK (build): agonessdk-1.51.0-dev-837d684-linux-arch_64.tar.gz
- SDK Server: agonessdk-server-1.51.0-dev-837d684.zip
A preview of the website (the last 30 builds are retained):
- https://837d684-dot-preview-dot-agones-images.appspot.com/
To install this version:
git fetch https://github.com/googleforgames/agones.git pull/4185/head:pr_4185 && git checkout pr_4185
helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.51.0-dev-837d684