mirror of https://github.com/knative/pkg.git
1 Commits
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
e7bd895fbd
|
Introduce `pkg/metrics` support for multiple Resources (#1392)
* Update OpenCensus to include #1196. * Extend OpenCensus to track per-Resource stats. * Add generic ResourceView mechanics, part 1. TODO: wire newFactory, tests * Move factory creation to where it can be customized per-backend * Integrate opencensus export with Resource-based exporters * Add stackdriver support for resource views * address feedbacks * add test cases * make KnativeRevision a map * Update go modules to point to latest opencensus which includes `view.Meter`. * Add support for Resources to Prometheus Exporter. This involved copying/improving much of the contrib prometheus exporter. * add resource_view tests and fix minor issues * add recorder tests for meter * Update resource_view_test with an e2e export test. * Fix prometheus e2e resource_view_test. Found a fun circular lock. Found a fun double-registration in metricproducer/Meter. Found some unnecessary extra code. Fixed prometheus string sanitization. Removed a layer of Prometheus wrapping which made debugging more challenging. * Add test for standard view exports and non-resourced views to e2e test. * Add UnregisterResourceView to fix tests * Add OpenCensus e2e resource export test. Still a little flaky, so work around that with "<=". * Fix tests for OpenCensus export. * Fix flakiness / timing issues in OpenCensus exporter e2e test. * Update to latest ocagent to fix `Resources` bug. * Don't swallow errors from stackdriver init. * Get Stackdriver export mostly working in e2e tests Tests still fail because stackdriver converts custom metrics to a namespaced format and seems to lose Resource information. * Add support for Stackdriver resource export. * ./hack/update-codegen.sh * Fix data race with graceful shutdown. * Fix issues noticed by @vagababov * Address mattmoor-bot comments. * Remove MonitoredResource and apply suggestions from yanweiguo * More cleanup to stackdriver_exporter_test.go * Update tests (particularly config_test.go) for Stackdriver recorder changes which sometimes record with additional resources. * Avoid setting two `view.WithRecorder` options on record * Add stackdriver tests * Address comments * Switch Prometheus port due to possible conflict in test env * Fix missing := * FIx data races around *view.Data shared across Meters. Cleanup resource_view_test. * Remove unneeded monitored_resources.go * Use sync.WaitGroup to avoid data races on closing channel. * Sort the map for ResourceAsString * Apply lint and vagababov changes. * Fix typos * refactor ResourceAsString * Update stackdriver exporter version * Update metrics/resource_view_test.go Remove accidental paste * Fix go.sum * Address yanweiguo comments on comments * Fix autogen/go mod * Handling resource extraction when custom metrics are allowed * Add tests for AllowCustomMetrics set to true * Address vagababov and yanweiguo comments. Signed-off-by: Evan Anderson <evan.k.anderson@gmail.com> * address comments * Renaming * Reduce some condition nesting * go fmt * Sleep for 1ms to allow metrics being sent (#9) * Address yanweiguo comments Co-authored-by: JJ Zeng <jjzeng@google.com> Co-authored-by: jjzeng-seattle <56568376+jjzeng-seattle@users.noreply.github.com> |