[chore] test metrics and profiling with auto-instrumentation#2329
[chore] test metrics and profiling with auto-instrumentation#2329
Conversation
9314f11 to
ec80e19
Compare
| - name: SPLUNK_METRICS_ENABLED | ||
| value: "true" |
There was a problem hiding this comment.
Without this var, no metrics are exported from Node.js. Only set in the test values for now, but will check with product about whether this deviation from other languages default behavior is expected.
There was a problem hiding this comment.
Pull request overview
Adds functional test coverage to validate Splunk auto-instrumentation emits expected runtime metrics and profiling signals across supported languages, and updates the kind/CI flow to build compatible test-app images locally.
Changes:
- Added per-language functional subtests for auto-instrumentation metrics and profiling, matched by
telemetry.sdk.language+service.name. - Refactored/moved auto-instrumentation trace test helpers into a dedicated test file and updated shared metric-check helpers.
- Switched Python/Node.js test app images from Alpine → Slim and added Makefile/CI steps to build +
kind loadthese images.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| functional_tests/functional/testdata/values/test_values.yaml.tmpl | Enables profiling in test values and overrides nodejs metrics env + adds o11y HEC exporter endpoint for profiling. |
| functional_tests/functional/testdata/python/Dockerfile | Moves Python test app base image to python:3.13-slim and updates package install/pip flags. |
| functional_tests/functional/testdata/nodejs/Dockerfile | Moves Node.js test app base image to node:18-slim and updates package install commands. |
| functional_tests/functional/functional_test.go | Adds new local-cluster subtests for metrics/profiling and refactors metric assertion helpers. |
| functional_tests/functional/auto_instrumentation_test.go | New file containing auto-instrumentation trace tests plus new metrics/profiling validations. |
| Makefile | Adds kind-build-test-images and wires it into functionaltest-local. |
| .github/workflows/functional_test_v2.yaml | Builds + loads the updated test images into kind before running functional tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
9a18faa to
b0eb4a2
Compare
b0eb4a2 to
62d4e25
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Description:
Add functional test coverage for auto-instrumentation metrics and profiling across
all Splunk-supported languages (Java, .NET, Node.js, Python).
Changes:
auto_instrumentation_test.gowith per-language metrics and profiling subtests,matched by
telemetry.sdk.language+service.namefunctional_test.gopsutil/grpciofor Python, the C++ profiling addon for Node.js) and I couldn't runtime metrics for Python and profiling data for nodejs to work with the our Alpine (musl libc).kind load docker-image(TODO - push these updated images to quay)