* 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>
* Add BucketSet type which implements consistent bucketing
BucketSet permits mapping keys to buckets in a consistent manner, permitting us to use this type
in the HA applications. BucketSet implements the Bucket interface so it can be used in reconciler/leaderelection
pieces and has an additional method which returns the owner for the key. This is necessary in autoscaler
where requests need to be forwarded to an appropriate autoscaler.
* git mod stuff
* fixes
* nit
* two types for two thigns
* more tests
* test out go modules
* chmod +x *.sh
* revert some changes
* update-deps
* try fixing
* chmod +x
* update
* update test-infra for testing
* test
* test
* update
* no -mod=vendor
* update
* adding tools to master in prep for go mod.
* adding tools via update deps.
* import the tools directly
* need the root dir too
* adding gengo tools, dep update.
* update go-cmpt to work with 1.14.
Mostly to fix https://github.com/google/go-cmp/issues/167, but we also pinned at some
random commit, rather than at a release version.
* add new pkg
* Move generic packages from serving to pkg.
I was asked to move this to do some re-use in Eventing.
/cc @chizh
/assign mattmoor @tcnghia
* fix the compile error
* add basic code to alert for performance regression
* add comment before closing issue
* minor change
* address code review feedbacks
* address feedbacks and add unit tests
* update dep golang.org/x/net
* Add stackdriver exporter support in pkg
* fix race and tests
* Use thread safe newMetricsExporter in tests
* address cr comments
* minor fix
* checkpoint
* Address cr comments
* add test for UpdateExporterFromConfigMap
* Move lock position
* add a test case for stackdriver error check
* minor change
* removing one test case since it seems app default creds exists for presubmit tests
* replace promSrvChan with promSrv as cr suggsted
* use a local var server for ListenAndServe
* add getter and setter for shared variables
* add func isMetricsConfigChanged and test
* address cr comments
* Update opencensus-go-exporter-stackdriver to v0.7.0
* Revert "Update opencensus-go-exporter-stackdriver to v0.7.0"
This reverts commit 9825f641f8.
* run update-deps.sh
* merge conflict
* run update-deps.sh
* Update Gopkg.toml so it doesn't have stackdriver exporter
* remove regex for metrics domain at pkg repo per cr comments
* merge conflict
The `controller.go` is from: https://github.com/knative/serving/pull/1770, however, this adds 100% coverage of `controller.go`, which we have been missing in `knative/serving`.
This also adds a `context.Context` to the `Reconcile` signature, to enable better sharing of logger setup across controllers.
Fixes: https://github.com/knative/pkg/issues/8