Skip to content

Commit d18cdd3

Browse files
authored
Update OpenTelemetry (#268)
* update OTel * fix error wrapping * remove a few attributes from http metrics
1 parent ea2b3ce commit d18cdd3

File tree

7 files changed

+105
-179
lines changed

7 files changed

+105
-179
lines changed

cmd/controller.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,11 @@ import (
55
"strings"
66
"time"
77

8-
"go.opentelemetry.io/otel/sdk/resource"
9-
semconv "go.opentelemetry.io/otel/semconv/v1.12.0"
10-
118
"go.opentelemetry.io/otel/exporters/prometheus"
12-
139
"go.opentelemetry.io/otel/sdk/metric"
1410
"go.opentelemetry.io/otel/sdk/metric/aggregation"
11+
"go.opentelemetry.io/otel/sdk/resource"
12+
semconv "go.opentelemetry.io/otel/semconv/v1.18.0"
1513

1614
"github.com/kelseyhightower/envconfig"
1715
"github.com/spf13/cobra"

cmd/proxy.go

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ import (
44
"flag"
55
"fmt"
66

7-
"go.opentelemetry.io/otel/metric/global"
8-
7+
"go.opentelemetry.io/otel"
8+
"go.opentelemetry.io/otel/attribute"
99
"go.opentelemetry.io/otel/exporters/prometheus"
1010
"go.opentelemetry.io/otel/sdk/metric"
1111
"go.opentelemetry.io/otel/sdk/resource"
12-
semconv "go.opentelemetry.io/otel/semconv/v1.12.0"
12+
semconv "go.opentelemetry.io/otel/semconv/v1.18.0"
1313

1414
"github.com/kelseyhightower/envconfig"
1515
"github.com/spf13/cobra"
@@ -73,9 +73,27 @@ func NewProxyCmd() *cobra.Command {
7373
kubeClient := kubernetes.NewClient(loadTestClient, kubeClientSet, logger)
7474

7575
provider := metric.NewMeterProvider(metric.WithReader(pe), metric.WithResource(
76-
resource.NewSchemaless(semconv.ServiceNameKey.String("kangal-proxy"))))
77-
78-
global.SetMeterProvider(provider)
76+
resource.NewSchemaless(semconv.ServiceNameKey.String("kangal-proxy"))),
77+
metric.WithView(metric.NewView(
78+
metric.Instrument{Name: "http.server.*"},
79+
metric.Stream{
80+
AttributeFilter: func(kv attribute.KeyValue) bool {
81+
return !map[attribute.Key]bool{
82+
semconv.HTTPClientIPKey: true,
83+
semconv.HTTPUserAgentKey: true,
84+
semconv.NetSockPeerAddrKey: true,
85+
semconv.NetSockPeerPortKey: true,
86+
semconv.NetPeerNameKey: true,
87+
semconv.NetPeerPortKey: true,
88+
semconv.NetHostNameKey: true,
89+
semconv.NetHostPortKey: true,
90+
}[kv.Key]
91+
},
92+
},
93+
)),
94+
)
95+
96+
otel.SetMeterProvider(provider)
7997

8098
statsReporter, err := proxy.NewMetricsReporter(provider.Meter("proxy"), kubeClient)
8199
if err != nil {

go.mod

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ require (
99
github.com/golang/mock v1.6.0
1010
github.com/kelseyhightower/envconfig v1.4.0
1111
github.com/minio/minio-go/v7 v7.0.22
12-
github.com/prometheus/client_golang v1.14.0
12+
github.com/prometheus/client_golang v1.15.1
1313
github.com/rs/cors v1.8.2
1414
github.com/spf13/afero v1.9.3
1515
github.com/spf13/cobra v1.5.0
16-
github.com/stretchr/testify v1.8.2
16+
github.com/stretchr/testify v1.8.3
1717
github.com/technosophos/moniker v0.0.0-20210218184952-3ea787d3943b
1818
github.com/tidwall/sjson v1.2.5
19-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.40.0
20-
go.opentelemetry.io/otel v1.14.0
21-
go.opentelemetry.io/otel/exporters/prometheus v0.37.0
22-
go.opentelemetry.io/otel/metric v0.37.0
23-
go.opentelemetry.io/otel/sdk v1.14.0
24-
go.opentelemetry.io/otel/sdk/metric v0.37.0
19+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0
20+
go.opentelemetry.io/otel v1.16.0
21+
go.opentelemetry.io/otel/exporters/prometheus v0.39.0
22+
go.opentelemetry.io/otel/metric v1.16.0
23+
go.opentelemetry.io/otel/sdk v1.16.0
24+
go.opentelemetry.io/otel/sdk/metric v0.39.0
2525
go.uber.org/zap v1.23.0
2626
k8s.io/api v0.25.1
2727
k8s.io/apimachinery v0.25.1
@@ -33,19 +33,19 @@ require (
3333
github.com/ajg/form v1.5.1 // indirect
3434
github.com/benbjohnson/clock v1.1.0 // indirect
3535
github.com/beorn7/perks v1.0.1 // indirect
36-
github.com/cespare/xxhash/v2 v2.1.2 // indirect
36+
github.com/cespare/xxhash/v2 v2.2.0 // indirect
3737
github.com/davecgh/go-spew v1.1.1 // indirect
3838
github.com/dustin/go-humanize v1.0.0 // indirect
3939
github.com/emicklei/go-restful/v3 v3.9.0 // indirect
4040
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
41-
github.com/go-logr/logr v1.2.3 // indirect
41+
github.com/go-logr/logr v1.2.4 // indirect
4242
github.com/go-logr/stdr v1.2.2 // indirect
4343
github.com/go-openapi/jsonpointer v0.19.5 // indirect
4444
github.com/go-openapi/jsonreference v0.20.0 // indirect
4545
github.com/go-openapi/swag v0.22.3 // indirect
4646
github.com/gogo/protobuf v1.3.2 // indirect
4747
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
48-
github.com/golang/protobuf v1.5.2 // indirect
48+
github.com/golang/protobuf v1.5.3 // indirect
4949
github.com/google/gnostic v0.6.9 // indirect
5050
github.com/google/go-cmp v0.5.9 // indirect
5151
github.com/google/gofuzz v1.2.0 // indirect
@@ -56,9 +56,8 @@ require (
5656
github.com/json-iterator/go v1.1.12 // indirect
5757
github.com/klauspost/compress v1.13.5 // indirect
5858
github.com/klauspost/cpuid/v2 v2.1.2 // indirect
59-
github.com/kr/pretty v0.2.1 // indirect
6059
github.com/mailru/easyjson v0.7.7 // indirect
61-
github.com/matttproud/golang_protobuf_extensions v1.0.2 // indirect
60+
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
6261
github.com/minio/md5-simd v1.1.2 // indirect
6362
github.com/minio/sha256-simd v1.0.0 // indirect
6463
github.com/mitchellh/go-homedir v1.1.0 // indirect
@@ -67,29 +66,29 @@ require (
6766
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
6867
github.com/pkg/errors v0.9.1 // indirect
6968
github.com/pmezard/go-difflib v1.0.0 // indirect
70-
github.com/prometheus/client_model v0.3.0 // indirect
71-
github.com/prometheus/common v0.37.0 // indirect
72-
github.com/prometheus/procfs v0.8.0 // indirect
69+
github.com/prometheus/client_model v0.4.0 // indirect
70+
github.com/prometheus/common v0.42.0 // indirect
71+
github.com/prometheus/procfs v0.9.0 // indirect
7372
github.com/rs/xid v1.2.1 // indirect
7473
github.com/sirupsen/logrus v1.8.1 // indirect
7574
github.com/spf13/pflag v1.0.5 // indirect
7675
github.com/tidwall/gjson v1.14.3 // indirect
7776
github.com/tidwall/match v1.1.1 // indirect
7877
github.com/tidwall/pretty v1.2.1 // indirect
79-
go.opentelemetry.io/otel/trace v1.14.0 // indirect
78+
go.opentelemetry.io/otel/trace v1.16.0 // indirect
8079
go.uber.org/atomic v1.10.0 // indirect
8180
go.uber.org/multierr v1.8.0 // indirect
8281
golang.org/x/crypto v0.0.0-20221010152910-d6f0a8c073c2 // indirect
8382
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
8483
golang.org/x/net v0.7.0 // indirect
85-
golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1 // indirect
86-
golang.org/x/sys v0.5.0 // indirect
84+
golang.org/x/oauth2 v0.5.0 // indirect
85+
golang.org/x/sys v0.8.0 // indirect
8786
golang.org/x/term v0.5.0 // indirect
8887
golang.org/x/text v0.7.0 // indirect
8988
golang.org/x/time v0.0.0-20220922220347-f3bd1da661af // indirect
9089
golang.org/x/tools v0.1.12 // indirect
9190
google.golang.org/appengine v1.6.7 // indirect
92-
google.golang.org/protobuf v1.28.1 // indirect
91+
google.golang.org/protobuf v1.30.0 // indirect
9392
gopkg.in/inf.v0 v0.9.1 // indirect
9493
gopkg.in/ini.v1 v1.67.0 // indirect
9594
gopkg.in/yaml.v2 v2.4.0 // indirect

0 commit comments

Comments
 (0)