mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-05-15 22:06:40 +02:00
Upgrade use of semconv to v1.24.0 (#4754)
This commit is contained in:
parent
259143a662
commit
01472db75f
@ -25,6 +25,8 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
- Upgrade all use of `go.opentelemetry.io/otel/semconv` to use `v1.24.0`. (#4754)
|
||||||
|
- Update transformations in `go.opentelemetry.io/otel/exporters/zipkin` to follow `v1.19.0` version of the OpenTelemetry specification. (#4754)
|
||||||
- Record synchronous measurements when the passed context is canceled instead of dropping in `go.opentelemetry.io/otel/sdk/metric`.
|
- Record synchronous measurements when the passed context is canceled instead of dropping in `go.opentelemetry.io/otel/sdk/metric`.
|
||||||
If you do not want to make a measurement when the context is cancelled, you need to handle it yourself (e.g `if ctx.Err() != nil`). (#4671)
|
If you do not want to make a measurement when the context is cancelled, you need to handle it yourself (e.g `if ctx.Err() != nil`). (#4671)
|
||||||
- Improve `go.opentelemetry.io/otel/trace.TraceState`'s performance. (#4722)
|
- Improve `go.opentelemetry.io/otel/trace.TraceState`'s performance. (#4722)
|
||||||
|
@ -24,7 +24,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/attribute"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
"go.opentelemetry.io/otel/bridge/opentracing/migration"
|
"go.opentelemetry.io/otel/bridge/opentracing/migration"
|
||||||
"go.opentelemetry.io/otel/codes"
|
"go.opentelemetry.io/otel/codes"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
"go.opentelemetry.io/otel/trace/embedded"
|
"go.opentelemetry.io/otel/trace/embedded"
|
||||||
"go.opentelemetry.io/otel/trace/noop"
|
"go.opentelemetry.io/otel/trace/noop"
|
||||||
|
@ -26,7 +26,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/sdk/metric"
|
"go.opentelemetry.io/otel/sdk/metric"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
"go.opentelemetry.io/otel/sdk/trace"
|
"go.opentelemetry.io/otel/sdk/trace"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
// setupOTelSDK bootstraps the OpenTelemetry pipeline.
|
// setupOTelSDK bootstraps the OpenTelemetry pipeline.
|
||||||
|
@ -34,7 +34,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/propagation"
|
"go.opentelemetry.io/otel/propagation"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/exporters/zipkin"
|
"go.opentelemetry.io/otel/exporters/zipkin"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ import (
|
|||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
|
|
||||||
"go.opentelemetry.io/otel"
|
"go.opentelemetry.io/otel"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
collpb "go.opentelemetry.io/proto/otlp/collector/metrics/v1"
|
collpb "go.opentelemetry.io/proto/otlp/collector/metrics/v1"
|
||||||
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
||||||
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
||||||
|
@ -28,7 +28,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/sdk/instrumentation"
|
"go.opentelemetry.io/otel/sdk/instrumentation"
|
||||||
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
||||||
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
||||||
rpb "go.opentelemetry.io/proto/otlp/resource/v1"
|
rpb "go.opentelemetry.io/proto/otlp/resource/v1"
|
||||||
|
@ -29,7 +29,7 @@ import (
|
|||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
|
|
||||||
"go.opentelemetry.io/otel"
|
"go.opentelemetry.io/otel"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
collpb "go.opentelemetry.io/proto/otlp/collector/metrics/v1"
|
collpb "go.opentelemetry.io/proto/otlp/collector/metrics/v1"
|
||||||
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
||||||
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
||||||
|
@ -28,7 +28,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/sdk/instrumentation"
|
"go.opentelemetry.io/otel/sdk/instrumentation"
|
||||||
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
||||||
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
||||||
rpb "go.opentelemetry.io/proto/otlp/resource/v1"
|
rpb "go.opentelemetry.io/proto/otlp/resource/v1"
|
||||||
|
@ -29,7 +29,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
tracesdk "go.opentelemetry.io/otel/sdk/trace"
|
tracesdk "go.opentelemetry.io/otel/sdk/trace"
|
||||||
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
tracepb "go.opentelemetry.io/proto/otlp/trace/v1"
|
tracepb "go.opentelemetry.io/proto/otlp/trace/v1"
|
||||||
)
|
)
|
||||||
|
@ -32,7 +32,7 @@ import (
|
|||||||
otelmetric "go.opentelemetry.io/otel/metric"
|
otelmetric "go.opentelemetry.io/otel/metric"
|
||||||
"go.opentelemetry.io/otel/sdk/metric"
|
"go.opentelemetry.io/otel/sdk/metric"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestPrometheusExporter(t *testing.T) {
|
func TestPrometheusExporter(t *testing.T) {
|
||||||
|
@ -26,7 +26,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/sdk/metric"
|
"go.opentelemetry.io/otel/sdk/metric"
|
||||||
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/exporters/stdout/stdouttrace"
|
"go.opentelemetry.io/otel/exporters/stdout/stdouttrace"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -28,7 +28,9 @@ import (
|
|||||||
"go.opentelemetry.io/otel/codes"
|
"go.opentelemetry.io/otel/codes"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
tracesdk "go.opentelemetry.io/otel/sdk/trace"
|
tracesdk "go.opentelemetry.io/otel/sdk/trace"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv120 "go.opentelemetry.io/otel/semconv/v1.20.0"
|
||||||
|
semconv121 "go.opentelemetry.io/otel/semconv/v1.21.0"
|
||||||
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -236,15 +238,19 @@ func toZipkinTags(data tracesdk.ReadOnlySpan) map[string]string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Rank determines selection order for remote endpoint. See the specification
|
// Rank determines selection order for remote endpoint. See the specification
|
||||||
// https://github.com/open-telemetry/opentelemetry-specification/blob/v1.20.0/specification/trace/sdk_exporters/zipkin.md#otlp---zipkin
|
// https://github.com/open-telemetry/opentelemetry-specification/blob/v1.28.0/specification/trace/sdk_exporters/zipkin.md#otlp---zipkin
|
||||||
var remoteEndpointKeyRank = map[attribute.Key]int{
|
var remoteEndpointKeyRank = map[attribute.Key]int{
|
||||||
semconv.PeerServiceKey: 0,
|
semconv.PeerServiceKey: 1,
|
||||||
semconv.NetPeerNameKey: 1,
|
semconv.ServerAddressKey: 2,
|
||||||
semconv.NetSockPeerNameKey: 2,
|
semconv120.NetPeerNameKey: 3,
|
||||||
semconv.NetSockPeerAddrKey: 3,
|
semconv.NetworkPeerAddressKey: 4,
|
||||||
keyPeerHostname: 4,
|
semconv121.ServerSocketDomainKey: 5,
|
||||||
keyPeerAddress: 5,
|
semconv121.ServerSocketAddressKey: 6,
|
||||||
semconv.DBNameKey: 6,
|
semconv120.NetSockPeerNameKey: 7,
|
||||||
|
semconv120.NetSockPeerAddrKey: 8,
|
||||||
|
keyPeerHostname: 9,
|
||||||
|
keyPeerAddress: 10,
|
||||||
|
semconv.DBNameKey: 11,
|
||||||
}
|
}
|
||||||
|
|
||||||
func toZipkinRemoteEndpoint(data tracesdk.ReadOnlySpan) *zkmodel.Endpoint {
|
func toZipkinRemoteEndpoint(data tracesdk.ReadOnlySpan) *zkmodel.Endpoint {
|
||||||
@ -273,19 +279,23 @@ func toZipkinRemoteEndpoint(data tracesdk.ReadOnlySpan) *zkmodel.Endpoint {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if endpointAttr.Key != semconv.NetSockPeerAddrKey &&
|
v := endpointAttr.Value.AsString()
|
||||||
endpointAttr.Value.Type() == attribute.STRING {
|
|
||||||
|
switch endpointAttr.Key {
|
||||||
|
case semconv.NetworkPeerAddressKey:
|
||||||
|
return remoteEndpointPeerIPWithPort(v, semconv.NetworkPeerPortKey, attr)
|
||||||
|
case semconv121.ServerSocketAddressKey:
|
||||||
|
return remoteEndpointPeerIPWithPort(v, semconv121.ServerSocketPortKey, attr)
|
||||||
|
case semconv120.NetSockPeerAddrKey:
|
||||||
|
return remoteEndpointPeerIPWithPort(v, semconv121.NetSockPeerPortKey, attr)
|
||||||
|
}
|
||||||
|
|
||||||
return &zkmodel.Endpoint{
|
return &zkmodel.Endpoint{
|
||||||
ServiceName: endpointAttr.Value.AsString(),
|
ServiceName: v,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return remoteEndpointPeerIPWithPort(endpointAttr.Value.AsString(), attr)
|
func remoteEndpointPeerIPWithPort(peerIP string, portKey attribute.Key, attrs []attribute.KeyValue) *zkmodel.Endpoint {
|
||||||
}
|
|
||||||
|
|
||||||
// Handles `net.peer.ip` remote endpoint separately (should include `net.peer.ip`
|
|
||||||
// as well, if available).
|
|
||||||
func remoteEndpointPeerIPWithPort(peerIP string, attrs []attribute.KeyValue) *zkmodel.Endpoint {
|
|
||||||
ip := net.ParseIP(peerIP)
|
ip := net.ParseIP(peerIP)
|
||||||
if ip == nil {
|
if ip == nil {
|
||||||
return nil
|
return nil
|
||||||
@ -300,7 +310,7 @@ func remoteEndpointPeerIPWithPort(peerIP string, attrs []attribute.KeyValue) *zk
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, kv := range attrs {
|
for _, kv := range attrs {
|
||||||
if kv.Key == semconv.NetSockPeerPortKey {
|
if kv.Key == portKey {
|
||||||
port, _ := strconv.ParseUint(kv.Value.Emit(), 10, 16)
|
port, _ := strconv.ParseUint(kv.Value.Emit(), 10, 16)
|
||||||
endpoint.Port = uint16(port)
|
endpoint.Port = uint16(port)
|
||||||
return endpoint
|
return endpoint
|
||||||
|
@ -32,7 +32,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
tracesdk "go.opentelemetry.io/otel/sdk/trace"
|
tracesdk "go.opentelemetry.io/otel/sdk/trace"
|
||||||
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -291,8 +291,8 @@ func TestModelConversion(t *testing.T) {
|
|||||||
attribute.Int64("attr1", 42),
|
attribute.Int64("attr1", 42),
|
||||||
attribute.String("attr2", "bar"),
|
attribute.String("attr2", "bar"),
|
||||||
attribute.String("peer.hostname", "test-peer-hostname"),
|
attribute.String("peer.hostname", "test-peer-hostname"),
|
||||||
attribute.String("net.sock.peer.addr", "1.2.3.4"),
|
attribute.String("network.peer.address", "1.2.3.4"),
|
||||||
attribute.Int64("net.sock.peer.port", 9876),
|
attribute.Int64("network.peer.port", 9876),
|
||||||
},
|
},
|
||||||
Events: []tracesdk.Event{
|
Events: []tracesdk.Event{
|
||||||
{
|
{
|
||||||
@ -747,8 +747,8 @@ func TestModelConversion(t *testing.T) {
|
|||||||
Tags: map[string]string{
|
Tags: map[string]string{
|
||||||
"attr1": "42",
|
"attr1": "42",
|
||||||
"attr2": "bar",
|
"attr2": "bar",
|
||||||
"net.sock.peer.addr": "1.2.3.4",
|
"network.peer.address": "1.2.3.4",
|
||||||
"net.sock.peer.port": "9876",
|
"network.peer.port": "9876",
|
||||||
"peer.hostname": "test-peer-hostname",
|
"peer.hostname": "test-peer-hostname",
|
||||||
"otel.status_code": "ERROR",
|
"otel.status_code": "ERROR",
|
||||||
"error": "404, file not found",
|
"error": "404, file not found",
|
||||||
@ -1091,13 +1091,13 @@ func TestRemoteEndpointTransformation(t *testing.T) {
|
|||||||
want: nil,
|
want: nil,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "peer-service-rank",
|
name: "peer.service-rank",
|
||||||
data: tracetest.SpanStub{
|
data: tracetest.SpanStub{
|
||||||
SpanKind: trace.SpanKindProducer,
|
SpanKind: trace.SpanKindProducer,
|
||||||
Attributes: []attribute.KeyValue{
|
Attributes: []attribute.KeyValue{
|
||||||
semconv.PeerService("peer-service-test"),
|
semconv.PeerService("peer-service-test"),
|
||||||
semconv.NetPeerName("peer-name-test"),
|
semconv.ServerAddress("server-address-test"),
|
||||||
semconv.NetSockPeerName("net-sock-peer-test"),
|
semconv.NetworkPeerAddress("10.1.2.80"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
want: &zkmodel.Endpoint{
|
want: &zkmodel.Endpoint{
|
||||||
@ -1105,33 +1105,108 @@ func TestRemoteEndpointTransformation(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "net-sock-peer-rank",
|
name: "server.address-rank",
|
||||||
data: tracetest.SpanStub{
|
data: tracetest.SpanStub{
|
||||||
SpanKind: trace.SpanKindProducer,
|
SpanKind: trace.SpanKindProducer,
|
||||||
Attributes: []attribute.KeyValue{
|
Attributes: []attribute.KeyValue{
|
||||||
semconv.NetSockPeerName("net-sock-peer-test"),
|
semconv.ServerAddress("server-address-test"),
|
||||||
semconv.DBName("db-name-test"),
|
attribute.String("net.peer.name", "net-peer-name-test"),
|
||||||
|
semconv.NetworkPeerAddress("10.1.2.80"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
want: &zkmodel.Endpoint{
|
want: &zkmodel.Endpoint{
|
||||||
ServiceName: "net-sock-peer-test",
|
ServiceName: "server-address-test",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "db-name-rank",
|
name: "net.peer.name-rank",
|
||||||
data: tracetest.SpanStub{
|
data: tracetest.SpanStub{
|
||||||
SpanKind: trace.SpanKindProducer,
|
SpanKind: trace.SpanKindProducer,
|
||||||
Attributes: []attribute.KeyValue{
|
Attributes: []attribute.KeyValue{
|
||||||
attribute.String("foo", "bar"),
|
attribute.String("net.peer.name", "net-peer-name-test"),
|
||||||
semconv.DBName("db-name-test"),
|
semconv.NetworkPeerAddress("10.1.2.80"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
want: &zkmodel.Endpoint{
|
want: &zkmodel.Endpoint{
|
||||||
ServiceName: "db-name-test",
|
ServiceName: "net-peer-name-test",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "peer-hostname-rank",
|
name: "network.peer.address-rank",
|
||||||
|
data: tracetest.SpanStub{
|
||||||
|
SpanKind: trace.SpanKindProducer,
|
||||||
|
Attributes: []attribute.KeyValue{
|
||||||
|
keyPeerHostname.String("peer-hostname-test"),
|
||||||
|
semconv.NetworkPeerAddress("10.1.2.80"),
|
||||||
|
semconv.DBName("db-name-test"),
|
||||||
|
attribute.String("server.socket.domain", "server-socket-domain-test"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
want: &zkmodel.Endpoint{
|
||||||
|
IPv4: net.ParseIP("10.1.2.80"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "server.socket.domain-rank",
|
||||||
|
data: tracetest.SpanStub{
|
||||||
|
SpanKind: trace.SpanKindProducer,
|
||||||
|
Attributes: []attribute.KeyValue{
|
||||||
|
keyPeerHostname.String("peer-hostname-test"),
|
||||||
|
semconv.DBName("db-name-test"),
|
||||||
|
attribute.String("server.socket.domain", "server-socket-domain-test"),
|
||||||
|
attribute.String("server.socket.address", "10.2.3.4"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
want: &zkmodel.Endpoint{
|
||||||
|
ServiceName: "server-socket-domain-test",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "server.socket.address-rank",
|
||||||
|
data: tracetest.SpanStub{
|
||||||
|
SpanKind: trace.SpanKindProducer,
|
||||||
|
Attributes: []attribute.KeyValue{
|
||||||
|
keyPeerHostname.String("peer-hostname-test"),
|
||||||
|
semconv.DBName("db-name-test"),
|
||||||
|
attribute.String("net.sock.peer.name", "server-socket-domain-test"),
|
||||||
|
attribute.String("server.socket.address", "10.2.3.4"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
want: &zkmodel.Endpoint{
|
||||||
|
IPv4: net.ParseIP("10.2.3.4"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "net.sock.peer.name-rank",
|
||||||
|
data: tracetest.SpanStub{
|
||||||
|
SpanKind: trace.SpanKindProducer,
|
||||||
|
Attributes: []attribute.KeyValue{
|
||||||
|
keyPeerHostname.String("peer-hostname-test"),
|
||||||
|
semconv.DBName("db-name-test"),
|
||||||
|
attribute.String("net.sock.peer.name", "net-sock-peer-name-test"),
|
||||||
|
attribute.String("net.sock.peer.addr", "10.4.8.12"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
want: &zkmodel.Endpoint{
|
||||||
|
ServiceName: "net-sock-peer-name-test",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "net.sock.peer.addr-rank",
|
||||||
|
data: tracetest.SpanStub{
|
||||||
|
SpanKind: trace.SpanKindProducer,
|
||||||
|
Attributes: []attribute.KeyValue{
|
||||||
|
keyPeerHostname.String("peer-hostname-test"),
|
||||||
|
semconv.DBName("db-name-test"),
|
||||||
|
attribute.String("net.sock.peer.addr", "10.4.8.12"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
want: &zkmodel.Endpoint{
|
||||||
|
IPv4: net.ParseIP("10.4.8.12"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "peer.hostname-rank",
|
||||||
data: tracetest.SpanStub{
|
data: tracetest.SpanStub{
|
||||||
SpanKind: trace.SpanKindProducer,
|
SpanKind: trace.SpanKindProducer,
|
||||||
Attributes: []attribute.KeyValue{
|
Attributes: []attribute.KeyValue{
|
||||||
@ -1145,7 +1220,7 @@ func TestRemoteEndpointTransformation(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "peer-address-rank",
|
name: "peer.address-rank",
|
||||||
data: tracetest.SpanStub{
|
data: tracetest.SpanStub{
|
||||||
SpanKind: trace.SpanKindProducer,
|
SpanKind: trace.SpanKindProducer,
|
||||||
Attributes: []attribute.KeyValue{
|
Attributes: []attribute.KeyValue{
|
||||||
@ -1158,21 +1233,34 @@ func TestRemoteEndpointTransformation(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "net-peer-invalid-ip",
|
name: "db.name-rank",
|
||||||
data: tracetest.SpanStub{
|
data: tracetest.SpanStub{
|
||||||
SpanKind: trace.SpanKindProducer,
|
SpanKind: trace.SpanKindProducer,
|
||||||
Attributes: []attribute.KeyValue{
|
Attributes: []attribute.KeyValue{
|
||||||
semconv.NetSockPeerAddr("INVALID"),
|
attribute.String("foo", "bar"),
|
||||||
|
semconv.DBName("db-name-test"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
want: &zkmodel.Endpoint{
|
||||||
|
ServiceName: "db-name-test",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "network.peer.address-invalid-ip",
|
||||||
|
data: tracetest.SpanStub{
|
||||||
|
SpanKind: trace.SpanKindProducer,
|
||||||
|
Attributes: []attribute.KeyValue{
|
||||||
|
semconv.NetworkPeerAddress("INVALID"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
want: nil,
|
want: nil,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "net-peer-ipv6-no-port",
|
name: "network.peer.address-ipv6-no-port",
|
||||||
data: tracetest.SpanStub{
|
data: tracetest.SpanStub{
|
||||||
SpanKind: trace.SpanKindProducer,
|
SpanKind: trace.SpanKindProducer,
|
||||||
Attributes: []attribute.KeyValue{
|
Attributes: []attribute.KeyValue{
|
||||||
semconv.NetSockPeerAddr("0:0:1:5ee:bad:c0de:0:0"),
|
semconv.NetworkPeerAddress("0:0:1:5ee:bad:c0de:0:0"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
want: &zkmodel.Endpoint{
|
want: &zkmodel.Endpoint{
|
||||||
@ -1180,12 +1268,14 @@ func TestRemoteEndpointTransformation(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "net-peer-ipv4-port",
|
name: "network.peer.address-ipv4-port",
|
||||||
data: tracetest.SpanStub{
|
data: tracetest.SpanStub{
|
||||||
SpanKind: trace.SpanKindProducer,
|
SpanKind: trace.SpanKindProducer,
|
||||||
Attributes: []attribute.KeyValue{
|
Attributes: []attribute.KeyValue{
|
||||||
semconv.NetSockPeerAddr("1.2.3.4"),
|
semconv.NetworkPeerAddress("1.2.3.4"),
|
||||||
semconv.NetSockPeerPort(9876),
|
semconv.NetworkPeerPort(9876),
|
||||||
|
attribute.Int("server.socket.port", 5432),
|
||||||
|
attribute.Int("net.sock.peer.port", 2345),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
want: &zkmodel.Endpoint{
|
want: &zkmodel.Endpoint{
|
||||||
@ -1193,6 +1283,38 @@ func TestRemoteEndpointTransformation(t *testing.T) {
|
|||||||
Port: 9876,
|
Port: 9876,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "server.socket.address-ipv4-port",
|
||||||
|
data: tracetest.SpanStub{
|
||||||
|
SpanKind: trace.SpanKindProducer,
|
||||||
|
Attributes: []attribute.KeyValue{
|
||||||
|
attribute.String("server.socket.address", "1.2.3.4"),
|
||||||
|
semconv.NetworkPeerPort(9876),
|
||||||
|
attribute.Int("server.socket.port", 5432),
|
||||||
|
attribute.Int("net.sock.peer.port", 2345),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
want: &zkmodel.Endpoint{
|
||||||
|
IPv4: net.ParseIP("1.2.3.4"),
|
||||||
|
Port: 5432,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "net.sock.peer.addr-ipv4-port",
|
||||||
|
data: tracetest.SpanStub{
|
||||||
|
SpanKind: trace.SpanKindProducer,
|
||||||
|
Attributes: []attribute.KeyValue{
|
||||||
|
attribute.String("net.sock.peer.addr", "1.2.3.4"),
|
||||||
|
semconv.NetworkPeerPort(9876),
|
||||||
|
attribute.Int("server.socket.port", 5432),
|
||||||
|
attribute.Int("net.sock.peer.port", 2345),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
want: &zkmodel.Endpoint{
|
||||||
|
IPv4: net.ParseIP("1.2.3.4"),
|
||||||
|
Port: 2345,
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
@ -38,7 +38,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||||
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ import (
|
|||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
|
|
||||||
"go.opentelemetry.io/otel"
|
"go.opentelemetry.io/otel"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
collpb "go.opentelemetry.io/proto/otlp/collector/metrics/v1"
|
collpb "go.opentelemetry.io/proto/otlp/collector/metrics/v1"
|
||||||
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
||||||
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
||||||
|
@ -28,7 +28,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/sdk/instrumentation"
|
"go.opentelemetry.io/otel/sdk/instrumentation"
|
||||||
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
cpb "go.opentelemetry.io/proto/otlp/common/v1"
|
||||||
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
||||||
rpb "go.opentelemetry.io/proto/otlp/resource/v1"
|
rpb "go.opentelemetry.io/proto/otlp/resource/v1"
|
||||||
|
@ -25,7 +25,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel"
|
"go.opentelemetry.io/otel"
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
"go.opentelemetry.io/otel/metric"
|
"go.opentelemetry.io/otel/metric"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
var meter = otel.Meter("my-service-meter")
|
var meter = otel.Meter("my-service-meter")
|
||||||
@ -277,6 +277,6 @@ func ExampleMeter_attributes() {
|
|||||||
statusCode := http.StatusOK
|
statusCode := http.StatusOK
|
||||||
|
|
||||||
apiCounter.Add(r.Context(), 1,
|
apiCounter.Add(r.Context(), 1,
|
||||||
metric.WithAttributes(semconv.HTTPStatusCode(statusCode)))
|
metric.WithAttributes(semconv.HTTPResponseStatusCode(statusCode)))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ import (
|
|||||||
"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"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
// To enable metrics in your application using the SDK,
|
// To enable metrics in your application using the SDK,
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestDetect(t *testing.T) {
|
func TestDetect(t *testing.T) {
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
|
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
"go.opentelemetry.io/otel/sdk"
|
"go.opentelemetry.io/otel/sdk"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
type containerIDProvider func() (string, error)
|
type containerIDProvider func() (string, error)
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
|
|
||||||
"go.opentelemetry.io/otel"
|
"go.opentelemetry.io/otel"
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -24,7 +24,7 @@ import (
|
|||||||
|
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
ottest "go.opentelemetry.io/otel/sdk/internal/internaltest"
|
ottest "go.opentelemetry.io/otel/sdk/internal/internaltest"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestDetectOnePair(t *testing.T) {
|
func TestDetectOnePair(t *testing.T) {
|
||||||
|
@ -19,7 +19,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
type hostIDProvider func() (string, error)
|
type hostIDProvider func() (string, error)
|
||||||
|
@ -19,7 +19,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
type osDescriptionProvider func() (string, error)
|
type osDescriptionProvider func() (string, error)
|
||||||
|
@ -21,7 +21,7 @@ import (
|
|||||||
|
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
func mockRuntimeProviders() {
|
func mockRuntimeProviders() {
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
@ -32,7 +32,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/sdk"
|
"go.opentelemetry.io/otel/sdk"
|
||||||
ottest "go.opentelemetry.io/otel/sdk/internal/internaltest"
|
ottest "go.opentelemetry.io/otel/sdk/internal/internaltest"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -30,7 +30,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/sdk/instrumentation"
|
"go.opentelemetry.io/otel/sdk/instrumentation"
|
||||||
"go.opentelemetry.io/otel/sdk/internal"
|
"go.opentelemetry.io/otel/sdk/internal"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
"go.opentelemetry.io/otel/trace/embedded"
|
"go.opentelemetry.io/otel/trace/embedded"
|
||||||
)
|
)
|
||||||
|
@ -36,7 +36,7 @@ import (
|
|||||||
"go.opentelemetry.io/otel/sdk/instrumentation"
|
"go.opentelemetry.io/otel/sdk/instrumentation"
|
||||||
ottest "go.opentelemetry.io/otel/sdk/internal/internaltest"
|
ottest "go.opentelemetry.io/otel/sdk/internal/internaltest"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"go.opentelemetry.io/otel/sdk/resource"
|
||||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user