kubernetes/test/instrumentation
Tim Hockin 2e2ae029c3
Fix instrumentation tests
1) Fail if we can't read critical env vars
2) Don't rely on KUBE_ROOT env var when `go list` works
3) Don't rely on GOOS env var when `go env` works
4) Don't quietly ignore "can't read" errors

Once we stop ignoring errors, some tests fail for real (and should
always have failed).

The "Imported k8s.io/staging constant" test seems to not be allowed at
all anymore.  Han said to nix it and he'd look async.

Oversall this test is dodgy.  You REALLY can't glue strings together and
expect valid Go module paths.  We should consider a deeper rework.
2024-02-29 22:07:41 -08:00
..
documentation Run test/instrumentation/update-* 2024-01-14 10:24:35 -08:00
sort sort stability list of metrics in the shell command (#120197) 2023-08-28 04:43:54 -07:00
testdata bump the stability level of apiserver_storage_size_bytes to STABLE 2024-02-16 10:03:39 -08:00
decode_metric.go add support for ExponentialBucketsRange 2023-08-01 11:38:20 -07:00
doc.go go fmt 2022-11-08 13:34:17 -08:00
error.go Fix instrumentation tests 2024-02-29 22:07:41 -08:00
find_stable_metric.go Fix stable metric finder for NewDesc with custom import name 2023-06-23 16:57:56 +02:00
main_test.go Fix instrumentation tests 2024-02-29 22:07:41 -08:00
main.go Fix instrumentation tests 2024-02-29 22:07:41 -08:00
metric.go add support for parsing custom collectors from the stability framework 2022-11-01 13:56:57 -07:00
OWNERS Check in OWNERS modified by update-yamlfmt.sh 2021-12-09 21:31:26 -05:00
README.md update documentation for metrics with deprecated version and version of k8s 2022-11-03 14:57:57 -07:00
stability-utils.sh Call verify_go_version at the END of setup_env 2024-02-29 22:06:56 -08:00
test-update.sh Add support for summary metrics for stablity checks 2022-07-26 15:31:25 -07:00
test-verify.sh Add support for summary metrics for stablity checks 2022-07-26 15:31:25 -07:00
update-documentation-metrics.sh add automated documentation generation from our static analysis pipeline 2022-10-25 14:44:09 -04:00
update-documentation.sh fix shellcheck errors 2022-11-07 12:44:40 -08:00

This directory contains the regression test for controlling the list of stable metrics

If you add or remove a stable metric, this test will fail and you will need to update the golden list of tests stored in testdata/. Changes to that file require review by sig-instrumentation.

To update the list, run

./hack/update-generated-stable-metrics.sh

Add the changed file to your PR, then send for review.

If you want to test the stability framework, you can add metrics to the file in test/instrumentation/testdata/pkg/kubelet/metrics/metrics.go and run test verification via:

./test/instrumentation/test-verify.sh

To update the golden test list, you can run:

./test/instrumentation/test-update.sh

To update the list of documented metrics, please run:

./test/instrumentation/update-documentation-metrics.sh

To update the documented list of metrics for k8s/website, please run:

./test/instrumentation/update-documentation.sh

Then you need to copy the output to the appropriate website directory. Please define the directory in which the website repo lives in an env variable like so:

export WEBSITE_ROOT=<path to website root>

And then from the root of the k8s/k8s repository, please run this command:

cp ./test/instrumentation/documentation/documentation.md $WEBSITE_ROOT/content/en/docs/reference/instrumentation/metrics.md