mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-09 03:57:41 +00:00
Merge pull request #117959 from humblec/openconsensus
opencensus update to v0.24.0
This commit is contained in:
commit
d8f60a1e8c
2
go.mod
2
go.mod
@ -221,7 +221,7 @@ require (
|
||||
go.etcd.io/etcd/pkg/v3 v3.5.8 // indirect
|
||||
go.etcd.io/etcd/raft/v3 v3.5.8 // indirect
|
||||
go.etcd.io/etcd/server/v3 v3.5.8 // indirect
|
||||
go.opencensus.io v0.23.0 // indirect
|
||||
go.opencensus.io v0.24.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.35.1 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.10.0 // indirect
|
||||
|
3
go.sum
3
go.sum
@ -713,8 +713,9 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
|
||||
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
|
||||
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
|
||||
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
|
||||
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
|
||||
go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.35.0 h1:KQjX0qQ8H21oBUAvFp4ZLKJMMLIluONvSPDAFIGmX58=
|
||||
go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.35.0/go.mod h1:DQYkU9srMFqLUTVA/7/WlRHdnYDB7wyMMlle2ktMjfI=
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0 h1:xFSRQBbXF6VvYRf2lqMJXxoB72XI1K/azav8TekHHSw=
|
||||
|
@ -71,7 +71,7 @@ require (
|
||||
github.com/prometheus/common v0.37.0 // indirect
|
||||
github.com/prometheus/procfs v0.8.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
go.opencensus.io v0.23.0 // indirect
|
||||
go.opencensus.io v0.24.0 // indirect
|
||||
golang.org/x/net v0.9.0 // indirect
|
||||
golang.org/x/sys v0.7.0 // indirect
|
||||
golang.org/x/term v0.7.0 // indirect
|
||||
|
3
staging/src/k8s.io/legacy-cloud-providers/go.sum
generated
3
staging/src/k8s.io/legacy-cloud-providers/go.sum
generated
@ -359,8 +359,9 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
|
||||
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
|
||||
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
|
||||
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
|
||||
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
|
||||
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
|
||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
|
8
vendor/go.opencensus.io/Makefile
generated
vendored
8
vendor/go.opencensus.io/Makefile
generated
vendored
@ -91,7 +91,7 @@ embedmd:
|
||||
|
||||
.PHONY: install-tools
|
||||
install-tools:
|
||||
go get -u golang.org/x/lint/golint
|
||||
go get -u golang.org/x/tools/cmd/cover
|
||||
go get -u golang.org/x/tools/cmd/goimports
|
||||
go get -u github.com/rakyll/embedmd
|
||||
go install golang.org/x/lint/golint@latest
|
||||
go install golang.org/x/tools/cmd/cover@latest
|
||||
go install golang.org/x/tools/cmd/goimports@latest
|
||||
go install github.com/rakyll/embedmd@latest
|
||||
|
2
vendor/go.opencensus.io/opencensus.go
generated
vendored
2
vendor/go.opencensus.io/opencensus.go
generated
vendored
@ -17,5 +17,5 @@ package opencensus // import "go.opencensus.io"
|
||||
|
||||
// Version is the current release version of OpenCensus in use.
|
||||
func Version() string {
|
||||
return "0.23.0"
|
||||
return "0.24.0"
|
||||
}
|
||||
|
4
vendor/go.opencensus.io/plugin/ochttp/server.go
generated
vendored
4
vendor/go.opencensus.io/plugin/ochttp/server.go
generated
vendored
@ -31,7 +31,7 @@ import (
|
||||
// Handler is an http.Handler wrapper to instrument your HTTP server with
|
||||
// OpenCensus. It supports both stats and tracing.
|
||||
//
|
||||
// Tracing
|
||||
// # Tracing
|
||||
//
|
||||
// This handler is aware of the incoming request's span, reading it from request
|
||||
// headers as configured using the Propagation field.
|
||||
@ -224,7 +224,9 @@ func (t *trackingResponseWriter) WriteHeader(statusCode int) {
|
||||
}
|
||||
|
||||
// wrappedResponseWriter returns a wrapped version of the original
|
||||
//
|
||||
// ResponseWriter and only implements the same combination of additional
|
||||
//
|
||||
// interfaces as the original.
|
||||
// This implementation is based on https://github.com/felixge/httpsnoop.
|
||||
func (t *trackingResponseWriter) wrappedResponseWriter() http.ResponseWriter {
|
||||
|
7
vendor/go.opencensus.io/stats/doc.go
generated
vendored
7
vendor/go.opencensus.io/stats/doc.go
generated
vendored
@ -19,7 +19,7 @@ Package stats contains support for OpenCensus stats recording.
|
||||
OpenCensus allows users to create typed measures, record measurements,
|
||||
aggregate the collected data, and export the aggregated data.
|
||||
|
||||
Measures
|
||||
# Measures
|
||||
|
||||
A measure represents a type of data point to be tracked and recorded.
|
||||
For example, latency, request Mb/s, and response Mb/s are measures
|
||||
@ -33,7 +33,7 @@ Libraries can define and export measures. Application authors can then
|
||||
create views and collect and break down measures by the tags they are
|
||||
interested in.
|
||||
|
||||
Recording measurements
|
||||
# Recording measurements
|
||||
|
||||
Measurement is a data point to be collected for a measure. For example,
|
||||
for a latency (ms) measure, 100 is a measurement that represents a 100ms
|
||||
@ -49,7 +49,7 @@ Libraries can always record measurements, and applications can later decide
|
||||
on which measurements they want to collect by registering views. This allows
|
||||
libraries to turn on the instrumentation by default.
|
||||
|
||||
Exemplars
|
||||
# Exemplars
|
||||
|
||||
For a given recorded measurement, the associated exemplar is a diagnostic map
|
||||
that gives more information about the measurement.
|
||||
@ -64,6 +64,5 @@ then the trace span will be added to the exemplar associated with the measuremen
|
||||
|
||||
When exported to a supporting back end, you should be able to easily navigate
|
||||
to example traces that fell into each bucket in the Distribution.
|
||||
|
||||
*/
|
||||
package stats // import "go.opencensus.io/stats"
|
||||
|
6
vendor/go.opencensus.io/stats/internal/record.go
generated
vendored
6
vendor/go.opencensus.io/stats/internal/record.go
generated
vendored
@ -21,5 +21,11 @@ import (
|
||||
// DefaultRecorder will be called for each Record call.
|
||||
var DefaultRecorder func(tags *tag.Map, measurement interface{}, attachments map[string]interface{})
|
||||
|
||||
// MeasurementRecorder will be called for each Record call. This is the same as DefaultRecorder but
|
||||
// avoids interface{} conversion.
|
||||
// This will be a func(tags *tag.Map, measurement []Measurement, attachments map[string]interface{}) type,
|
||||
// but is interface{} here to avoid import loops
|
||||
var MeasurementRecorder interface{}
|
||||
|
||||
// SubscriptionReporter reports when a view subscribed with a measure.
|
||||
var SubscriptionReporter func(measure string)
|
||||
|
21
vendor/go.opencensus.io/stats/record.go
generated
vendored
21
vendor/go.opencensus.io/stats/record.go
generated
vendored
@ -86,10 +86,29 @@ func createRecordOption(ros ...Options) *recordOptions {
|
||||
return o
|
||||
}
|
||||
|
||||
type measurementRecorder = func(tags *tag.Map, measurement []Measurement, attachments map[string]interface{})
|
||||
|
||||
// Record records one or multiple measurements with the same context at once.
|
||||
// If there are any tags in the context, measurements will be tagged with them.
|
||||
func Record(ctx context.Context, ms ...Measurement) {
|
||||
RecordWithOptions(ctx, WithMeasurements(ms...))
|
||||
// Record behaves the same as RecordWithOptions, but because we do not have to handle generic functionality
|
||||
// (RecordOptions) we can reduce some allocations to speed up this hot path
|
||||
if len(ms) == 0 {
|
||||
return
|
||||
}
|
||||
recorder := internal.MeasurementRecorder.(measurementRecorder)
|
||||
record := false
|
||||
for _, m := range ms {
|
||||
if m.desc.subscribed() {
|
||||
record = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !record {
|
||||
return
|
||||
}
|
||||
recorder(tag.FromContext(ctx), ms, nil)
|
||||
return
|
||||
}
|
||||
|
||||
// RecordWithTags records one or multiple measurements at once.
|
||||
|
9
vendor/go.opencensus.io/stats/view/collector.go
generated
vendored
9
vendor/go.opencensus.io/stats/view/collector.go
generated
vendored
@ -59,8 +59,15 @@ func (c *collector) clearRows() {
|
||||
// encodeWithKeys encodes the map by using values
|
||||
// only associated with the keys provided.
|
||||
func encodeWithKeys(m *tag.Map, keys []tag.Key) []byte {
|
||||
// Compute the buffer length we will need ahead of time to avoid resizing later
|
||||
reqLen := 0
|
||||
for _, k := range keys {
|
||||
s, _ := m.Value(k)
|
||||
// We will store each key + its length
|
||||
reqLen += len(s) + 1
|
||||
}
|
||||
vb := &tagencoding.Values{
|
||||
Buffer: make([]byte, len(keys)),
|
||||
Buffer: make([]byte, reqLen),
|
||||
}
|
||||
for _, k := range keys {
|
||||
v, _ := m.Value(k)
|
||||
|
2
vendor/go.opencensus.io/stats/view/doc.go
generated
vendored
2
vendor/go.opencensus.io/stats/view/doc.go
generated
vendored
@ -34,7 +34,7 @@
|
||||
// Libraries can define views but it is recommended that in most cases registering
|
||||
// views be left up to applications.
|
||||
//
|
||||
// Exporting
|
||||
// # Exporting
|
||||
//
|
||||
// Collected and aggregated data can be exported to a metric collection
|
||||
// backend by registering its exporter.
|
||||
|
27
vendor/go.opencensus.io/stats/view/worker.go
generated
vendored
27
vendor/go.opencensus.io/stats/view/worker.go
generated
vendored
@ -33,6 +33,7 @@ func init() {
|
||||
defaultWorker = NewMeter().(*worker)
|
||||
go defaultWorker.start()
|
||||
internal.DefaultRecorder = record
|
||||
internal.MeasurementRecorder = recordMeasurement
|
||||
}
|
||||
|
||||
type measureRef struct {
|
||||
@ -199,11 +200,21 @@ func record(tags *tag.Map, ms interface{}, attachments map[string]interface{}) {
|
||||
defaultWorker.Record(tags, ms, attachments)
|
||||
}
|
||||
|
||||
func recordMeasurement(tags *tag.Map, ms []stats.Measurement, attachments map[string]interface{}) {
|
||||
defaultWorker.recordMeasurement(tags, ms, attachments)
|
||||
}
|
||||
|
||||
// Record records a set of measurements ms associated with the given tags and attachments.
|
||||
func (w *worker) Record(tags *tag.Map, ms interface{}, attachments map[string]interface{}) {
|
||||
w.recordMeasurement(tags, ms.([]stats.Measurement), attachments)
|
||||
}
|
||||
|
||||
// recordMeasurement records a set of measurements ms associated with the given tags and attachments.
|
||||
// This is the same as Record but without an interface{} type to avoid allocations
|
||||
func (w *worker) recordMeasurement(tags *tag.Map, ms []stats.Measurement, attachments map[string]interface{}) {
|
||||
req := &recordReq{
|
||||
tm: tags,
|
||||
ms: ms.([]stats.Measurement),
|
||||
ms: ms,
|
||||
attachments: attachments,
|
||||
t: time.Now(),
|
||||
}
|
||||
@ -221,6 +232,11 @@ func SetReportingPeriod(d time.Duration) {
|
||||
defaultWorker.SetReportingPeriod(d)
|
||||
}
|
||||
|
||||
// Stop stops the default worker.
|
||||
func Stop() {
|
||||
defaultWorker.Stop()
|
||||
}
|
||||
|
||||
// SetReportingPeriod sets the interval between reporting aggregated views in
|
||||
// the program. If duration is less than or equal to zero, it enables the
|
||||
// default behavior.
|
||||
@ -281,7 +297,7 @@ func (w *worker) start() {
|
||||
case <-w.quit:
|
||||
w.timer.Stop()
|
||||
close(w.c)
|
||||
w.done <- true
|
||||
close(w.done)
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -290,8 +306,11 @@ func (w *worker) start() {
|
||||
func (w *worker) Stop() {
|
||||
prodMgr := metricproducer.GlobalManager()
|
||||
prodMgr.DeleteProducer(w)
|
||||
|
||||
w.quit <- true
|
||||
select {
|
||||
case <-w.quit:
|
||||
default:
|
||||
close(w.quit)
|
||||
}
|
||||
<-w.done
|
||||
}
|
||||
|
||||
|
1
vendor/go.opencensus.io/tag/profile_19.go
generated
vendored
1
vendor/go.opencensus.io/tag/profile_19.go
generated
vendored
@ -12,6 +12,7 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//go:build go1.9
|
||||
// +build go1.9
|
||||
|
||||
package tag
|
||||
|
1
vendor/go.opencensus.io/tag/profile_not19.go
generated
vendored
1
vendor/go.opencensus.io/tag/profile_not19.go
generated
vendored
@ -12,6 +12,7 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//go:build !go1.9
|
||||
// +build !go1.9
|
||||
|
||||
package tag
|
||||
|
5
vendor/go.opencensus.io/trace/doc.go
generated
vendored
5
vendor/go.opencensus.io/trace/doc.go
generated
vendored
@ -18,8 +18,7 @@ Package trace contains support for OpenCensus distributed tracing.
|
||||
The following assumes a basic familiarity with OpenCensus concepts.
|
||||
See http://opencensus.io
|
||||
|
||||
|
||||
Exporting Traces
|
||||
# Exporting Traces
|
||||
|
||||
To export collected tracing data, register at least one exporter. You can use
|
||||
one of the provided exporters or write your own.
|
||||
@ -35,7 +34,7 @@ to sample a subset of traces, or use AlwaysSample to collect a trace on every ru
|
||||
Be careful about using trace.AlwaysSample in a production application with
|
||||
significant traffic: a new trace will be started and exported for every request.
|
||||
|
||||
Adding Spans to a Trace
|
||||
# Adding Spans to a Trace
|
||||
|
||||
A trace consists of a tree of spans. In Go, the current span is carried in a
|
||||
context.Context.
|
||||
|
2
vendor/go.opencensus.io/trace/lrumap.go
generated
vendored
2
vendor/go.opencensus.io/trace/lrumap.go
generated
vendored
@ -44,7 +44,7 @@ func (lm lruMap) len() int {
|
||||
}
|
||||
|
||||
func (lm lruMap) keys() []interface{} {
|
||||
keys := make([]interface{}, len(lm.cacheKeys))
|
||||
keys := make([]interface{}, 0, len(lm.cacheKeys))
|
||||
for k := range lm.cacheKeys {
|
||||
keys = append(keys, k)
|
||||
}
|
||||
|
1
vendor/go.opencensus.io/trace/trace_go11.go
generated
vendored
1
vendor/go.opencensus.io/trace/trace_go11.go
generated
vendored
@ -12,6 +12,7 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//go:build go1.11
|
||||
// +build go1.11
|
||||
|
||||
package trace
|
||||
|
1
vendor/go.opencensus.io/trace/trace_nongo11.go
generated
vendored
1
vendor/go.opencensus.io/trace/trace_nongo11.go
generated
vendored
@ -12,6 +12,7 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//go:build !go1.11
|
||||
// +build !go1.11
|
||||
|
||||
package trace
|
||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -823,7 +823,7 @@ go.etcd.io/etcd/server/v3/proxy/grpcproxy/adapter
|
||||
go.etcd.io/etcd/server/v3/verify
|
||||
go.etcd.io/etcd/server/v3/wal
|
||||
go.etcd.io/etcd/server/v3/wal/walpb
|
||||
# go.opencensus.io v0.23.0
|
||||
# go.opencensus.io v0.24.0
|
||||
## explicit; go 1.13
|
||||
go.opencensus.io
|
||||
go.opencensus.io/internal
|
||||
|
Loading…
Reference in New Issue
Block a user