You've already forked opentelemetry-go
mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-11-27 22:49:15 +02:00
Add ExampleNewView_attributeFilter and refine ExampleNewView_drop (#4527)
This commit is contained in:
@@ -21,6 +21,7 @@ import (
|
|||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
"go.opentelemetry.io/otel"
|
"go.opentelemetry.io/otel"
|
||||||
|
"go.opentelemetry.io/otel/attribute"
|
||||||
"go.opentelemetry.io/otel/sdk/instrumentation"
|
"go.opentelemetry.io/otel/sdk/instrumentation"
|
||||||
"go.opentelemetry.io/otel/sdk/metric"
|
"go.opentelemetry.io/otel/sdk/metric"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
@@ -167,35 +168,6 @@ func ExampleNewView() {
|
|||||||
// unit: ms
|
// unit: ms
|
||||||
}
|
}
|
||||||
|
|
||||||
func ExampleNewView_drop() {
|
|
||||||
// Create a view that sets the drop aggregator for all instrumentation from
|
|
||||||
// the "db" library, effectively turning-off all instrumentation from that
|
|
||||||
// library.
|
|
||||||
view := metric.NewView(
|
|
||||||
metric.Instrument{Scope: instrumentation.Scope{Name: "db"}},
|
|
||||||
metric.Stream{Aggregation: metric.AggregationDrop{}},
|
|
||||||
)
|
|
||||||
|
|
||||||
// The created view can then be registered with the OpenTelemetry metric
|
|
||||||
// SDK using the WithView option.
|
|
||||||
_ = metric.NewMeterProvider(
|
|
||||||
metric.WithView(view),
|
|
||||||
)
|
|
||||||
|
|
||||||
// Below is an example of how the view will
|
|
||||||
// function in the SDK for certain instruments.
|
|
||||||
stream, _ := view(metric.Instrument{
|
|
||||||
Name: "queries",
|
|
||||||
Kind: metric.InstrumentKindCounter,
|
|
||||||
Scope: instrumentation.Scope{Name: "db", Version: "v0.4.0"},
|
|
||||||
})
|
|
||||||
fmt.Println("name:", stream.Name)
|
|
||||||
fmt.Printf("aggregation: %#v", stream.Aggregation)
|
|
||||||
// Output:
|
|
||||||
// name: queries
|
|
||||||
// aggregation: metric.AggregationDrop{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func ExampleNewView_wildcard() {
|
func ExampleNewView_wildcard() {
|
||||||
// Create a view that sets unit to milliseconds for any instrument with a
|
// Create a view that sets unit to milliseconds for any instrument with a
|
||||||
// name suffix of ".ms".
|
// name suffix of ".ms".
|
||||||
@@ -223,9 +195,45 @@ func ExampleNewView_wildcard() {
|
|||||||
// unit: ms
|
// unit: ms
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleNewView_drop() {
|
||||||
|
// Create a view that drops the "latency" instrument from the "http"
|
||||||
|
// instrumentation library.
|
||||||
|
view := metric.NewView(
|
||||||
|
metric.Instrument{
|
||||||
|
Name: "latency",
|
||||||
|
Scope: instrumentation.Scope{Name: "http"},
|
||||||
|
},
|
||||||
|
metric.Stream{Aggregation: metric.AggregationDrop{}},
|
||||||
|
)
|
||||||
|
|
||||||
|
// The created view can then be registered with the OpenTelemetry metric
|
||||||
|
// SDK using the WithView option.
|
||||||
|
_ = metric.NewMeterProvider(
|
||||||
|
metric.WithView(view),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func ExampleNewView_attributeFilter() {
|
||||||
|
// Create a view removes the "http.request.method" attribute recorded by
|
||||||
|
// the "latency" instrument from the "http" instrumentation library.
|
||||||
|
view := metric.NewView(
|
||||||
|
metric.Instrument{
|
||||||
|
Name: "latency",
|
||||||
|
Scope: instrumentation.Scope{Name: "http"},
|
||||||
|
},
|
||||||
|
metric.Stream{AttributeFilter: attribute.NewDenyKeysFilter("http.request.method")},
|
||||||
|
)
|
||||||
|
|
||||||
|
// The created view can then be registered with the OpenTelemetry metric
|
||||||
|
// SDK using the WithView option.
|
||||||
|
_ = metric.NewMeterProvider(
|
||||||
|
metric.WithView(view),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
func ExampleNewView_exponentialHistogram() {
|
func ExampleNewView_exponentialHistogram() {
|
||||||
// Create a view that makes the "latency" instrument
|
// Create a view that makes the "latency" instrument from the "http"
|
||||||
// to be reported as an exponential histogram.
|
// instrumentation library to be reported as an exponential histogram.
|
||||||
view := metric.NewView(
|
view := metric.NewView(
|
||||||
metric.Instrument{
|
metric.Instrument{
|
||||||
Name: "latency",
|
Name: "latency",
|
||||||
|
|||||||
Reference in New Issue
Block a user