Merge pull request #7662 from lucacome/bump-otel-deps
Bump OpenTelemetry contrib to v0.36.4
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @@ -56,7 +56,7 @@ require ( | ||||
| 	github.com/urfave/cli v1.22.9 | ||||
| 	github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5 | ||||
| 	go.etcd.io/bbolt v1.3.6 | ||||
| 	go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.32.0 | ||||
| 	go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 | ||||
| 	go.opentelemetry.io/otel v1.11.1 | ||||
| 	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.1 | ||||
| 	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.1 | ||||
|   | ||||
							
								
								
									
										10
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								go.sum
									
									
									
									
									
								
							| @@ -173,7 +173,6 @@ github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XP | ||||
| github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= | ||||
| github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= | ||||
| github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= | ||||
| github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= | ||||
| github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= | ||||
| github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= | ||||
| github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= | ||||
| @@ -375,7 +374,6 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m | ||||
| github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= | ||||
| github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= | ||||
| github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= | ||||
| github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= | ||||
| github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= | ||||
| github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= | ||||
| github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= | ||||
| @@ -503,7 +501,6 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ | ||||
| github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||
| github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||
| github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||
| github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= | ||||
| github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= | ||||
| github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= | ||||
| github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= | ||||
| @@ -974,12 +971,11 @@ go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= | ||||
| go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= | ||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= | ||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= | ||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.32.0 h1:WenoaOMNP71oq3KkMZ/jnxI9xU/JSCLw8yZILSI2lfU= | ||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.32.0/go.mod h1:J0dBVrt7dPS/lKJyQoW0xzQiUr4r2Ik1VwPjAUWnofI= | ||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 h1:PRXhsszxTt5bbPriTjmaweWUsAnJYeWBhUMLRetUgBU= | ||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4/go.mod h1:05eWWy6ZWzmpeImD3UowLTB3VjDMU1yxQ+ENuVWDM3c= | ||||
| go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= | ||||
| go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= | ||||
| go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= | ||||
| go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk= | ||||
| go.opentelemetry.io/otel v1.11.1 h1:4WLLAmcfkmDk2ukNXJyq3/kiz/3UzCaYq6PskJsaou4= | ||||
| go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE= | ||||
| go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= | ||||
| @@ -1005,7 +1001,6 @@ go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi | ||||
| go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= | ||||
| go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= | ||||
| go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= | ||||
| go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= | ||||
| go.opentelemetry.io/otel/trace v1.11.1 h1:ofxdnzsNrGBYXbP7t7zpUK281+go5rF7dvdIZXF8gdQ= | ||||
| go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4vbPHFGkTPtOk= | ||||
| go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= | ||||
| @@ -1473,7 +1468,6 @@ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ | ||||
| google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= | ||||
| google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= | ||||
| google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= | ||||
| google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= | ||||
| google.golang.org/grpc v1.50.1 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY= | ||||
| google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= | ||||
| google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= | ||||
|   | ||||
| @@ -1050,10 +1050,9 @@ go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= | ||||
| go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= | ||||
| go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= | ||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= | ||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.32.0/go.mod h1:J0dBVrt7dPS/lKJyQoW0xzQiUr4r2Ik1VwPjAUWnofI= | ||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4/go.mod h1:05eWWy6ZWzmpeImD3UowLTB3VjDMU1yxQ+ENuVWDM3c= | ||||
| go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= | ||||
| go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= | ||||
| go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk= | ||||
| go.opentelemetry.io/otel v1.11.1 h1:4WLLAmcfkmDk2ukNXJyq3/kiz/3UzCaYq6PskJsaou4= | ||||
| go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE= | ||||
| go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= | ||||
| @@ -1068,7 +1067,6 @@ go.opentelemetry.io/otel/sdk v1.11.1/go.mod h1:/l3FE4SupHJ12TduVjUkZtlfFqDCQJlOl | ||||
| go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= | ||||
| go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= | ||||
| go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= | ||||
| go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= | ||||
| go.opentelemetry.io/otel/trace v1.11.1 h1:ofxdnzsNrGBYXbP7t7zpUK281+go5rF7dvdIZXF8gdQ= | ||||
| go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4vbPHFGkTPtOk= | ||||
| go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= | ||||
|   | ||||
| @@ -33,8 +33,14 @@ const ( | ||||
| 	GRPCStatusCodeKey = attribute.Key("rpc.grpc.status_code") | ||||
| ) | ||||
|  | ||||
| // Filter is a predicate used to determine whether a given request in | ||||
| // interceptor info should be traced. A Filter must return true if | ||||
| // the request should be traced. | ||||
| type Filter func(*InterceptorInfo) bool | ||||
|  | ||||
| // config is a group of options for this instrumentation. | ||||
| type config struct { | ||||
| 	Filter         Filter | ||||
| 	Propagators    propagation.TextMapPropagator | ||||
| 	TracerProvider trace.TracerProvider | ||||
| } | ||||
| @@ -78,6 +84,21 @@ func (o tracerProviderOption) apply(c *config) { | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // WithInterceptorFilter returns an Option to use the request filter. | ||||
| func WithInterceptorFilter(f Filter) Option { | ||||
| 	return interceptorFilterOption{f: f} | ||||
| } | ||||
|  | ||||
| type interceptorFilterOption struct { | ||||
| 	f Filter | ||||
| } | ||||
|  | ||||
| func (o interceptorFilterOption) apply(c *config) { | ||||
| 	if o.f != nil { | ||||
| 		c.Filter = o.f | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // WithTracerProvider returns an Option to use the TracerProvider when | ||||
| // creating a Tracer. | ||||
| func WithTracerProvider(tp trace.TracerProvider) Option { | ||||
| @@ -88,7 +109,7 @@ type metadataSupplier struct { | ||||
| 	metadata *metadata.MD | ||||
| } | ||||
|  | ||||
| // assert that metadataSupplier implements the TextMapCarrier interface | ||||
| // assert that metadataSupplier implements the TextMapCarrier interface. | ||||
| var _ propagation.TextMapCarrier = &metadataSupplier{} | ||||
|  | ||||
| func (s *metadataSupplier) Get(key string) string { | ||||
| @@ -114,21 +135,45 @@ func (s *metadataSupplier) Keys() []string { | ||||
| // Inject injects correlation context and span context into the gRPC | ||||
| // metadata object. This function is meant to be used on outgoing | ||||
| // requests. | ||||
| func Inject(ctx context.Context, metadata *metadata.MD, opts ...Option) { | ||||
| // Deprecated: Unnecessary public func. | ||||
| func Inject(ctx context.Context, md *metadata.MD, opts ...Option) { | ||||
| 	c := newConfig(opts) | ||||
| 	c.Propagators.Inject(ctx, &metadataSupplier{ | ||||
| 		metadata: metadata, | ||||
| 		metadata: md, | ||||
| 	}) | ||||
| } | ||||
|  | ||||
| func inject(ctx context.Context, propagators propagation.TextMapPropagator) context.Context { | ||||
| 	md, ok := metadata.FromOutgoingContext(ctx) | ||||
| 	if !ok { | ||||
| 		md = metadata.MD{} | ||||
| 	} | ||||
| 	propagators.Inject(ctx, &metadataSupplier{ | ||||
| 		metadata: &md, | ||||
| 	}) | ||||
| 	return metadata.NewOutgoingContext(ctx, md) | ||||
| } | ||||
|  | ||||
| // Extract returns the correlation context and span context that | ||||
| // another service encoded in the gRPC metadata object with Inject. | ||||
| // This function is meant to be used on incoming requests. | ||||
| func Extract(ctx context.Context, metadata *metadata.MD, opts ...Option) (baggage.Baggage, trace.SpanContext) { | ||||
| // Deprecated: Unnecessary public func. | ||||
| func Extract(ctx context.Context, md *metadata.MD, opts ...Option) (baggage.Baggage, trace.SpanContext) { | ||||
| 	c := newConfig(opts) | ||||
| 	ctx = c.Propagators.Extract(ctx, &metadataSupplier{ | ||||
| 		metadata: metadata, | ||||
| 		metadata: md, | ||||
| 	}) | ||||
|  | ||||
| 	return baggage.FromContext(ctx), trace.SpanContextFromContext(ctx) | ||||
| } | ||||
|  | ||||
| func extract(ctx context.Context, propagators propagation.TextMapPropagator) context.Context { | ||||
| 	md, ok := metadata.FromIncomingContext(ctx) | ||||
| 	if !ok { | ||||
| 		md = metadata.MD{} | ||||
| 	} | ||||
|  | ||||
| 	return propagators.Extract(ctx, &metadataSupplier{ | ||||
| 		metadata: &md, | ||||
| 	}) | ||||
| } | ||||
|   | ||||
| @@ -21,19 +21,17 @@ import ( | ||||
| 	"io" | ||||
| 	"net" | ||||
|  | ||||
| 	"github.com/golang/protobuf/proto" // nolint:staticcheck | ||||
|  | ||||
| 	"google.golang.org/grpc" | ||||
| 	grpc_codes "google.golang.org/grpc/codes" | ||||
| 	"google.golang.org/grpc/metadata" | ||||
| 	"google.golang.org/grpc/peer" | ||||
| 	"google.golang.org/grpc/status" | ||||
| 	"google.golang.org/protobuf/proto" | ||||
|  | ||||
| 	"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/internal" | ||||
| 	"go.opentelemetry.io/otel/attribute" | ||||
| 	"go.opentelemetry.io/otel/baggage" | ||||
| 	"go.opentelemetry.io/otel/codes" | ||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.10.0" | ||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.12.0" | ||||
| 	"go.opentelemetry.io/otel/trace" | ||||
| ) | ||||
|  | ||||
| @@ -43,6 +41,9 @@ type messageType attribute.KeyValue | ||||
| // passed context with id and size (if message is a proto message). | ||||
| func (m messageType) Event(ctx context.Context, id int, message interface{}) { | ||||
| 	span := trace.SpanFromContext(ctx) | ||||
| 	if !span.IsRecording() { | ||||
| 		return | ||||
| 	} | ||||
| 	if p, ok := message.(proto.Message); ok { | ||||
| 		span.AddEvent("message", trace.WithAttributes( | ||||
| 			attribute.KeyValue(m), | ||||
| @@ -65,6 +66,12 @@ var ( | ||||
| // UnaryClientInterceptor returns a grpc.UnaryClientInterceptor suitable | ||||
| // for use in a grpc.Dial call. | ||||
| func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor { | ||||
| 	cfg := newConfig(opts) | ||||
| 	tracer := cfg.TracerProvider.Tracer( | ||||
| 		instrumentationName, | ||||
| 		trace.WithInstrumentationVersion(SemVersion()), | ||||
| 	) | ||||
|  | ||||
| 	return func( | ||||
| 		ctx context.Context, | ||||
| 		method string, | ||||
| @@ -73,13 +80,13 @@ func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor { | ||||
| 		invoker grpc.UnaryInvoker, | ||||
| 		callOpts ...grpc.CallOption, | ||||
| 	) error { | ||||
| 		requestMetadata, _ := metadata.FromOutgoingContext(ctx) | ||||
| 		metadataCopy := requestMetadata.Copy() | ||||
|  | ||||
| 		tracer := newConfig(opts).TracerProvider.Tracer( | ||||
| 			instrumentationName, | ||||
| 			trace.WithInstrumentationVersion(SemVersion()), | ||||
| 		) | ||||
| 		i := &InterceptorInfo{ | ||||
| 			Method: method, | ||||
| 			Type:   UnaryClient, | ||||
| 		} | ||||
| 		if cfg.Filter != nil && !cfg.Filter(i) { | ||||
| 			return invoker(ctx, method, req, reply, cc, callOpts...) | ||||
| 		} | ||||
|  | ||||
| 		name, attr := spanInfo(method, cc.Target()) | ||||
| 		var span trace.Span | ||||
| @@ -91,8 +98,7 @@ func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor { | ||||
| 		) | ||||
| 		defer span.End() | ||||
|  | ||||
| 		Inject(ctx, &metadataCopy, opts...) | ||||
| 		ctx = metadata.NewOutgoingContext(ctx, metadataCopy) | ||||
| 		ctx = inject(ctx, cfg.Propagators) | ||||
|  | ||||
| 		messageSent.Event(ctx, 1, req) | ||||
|  | ||||
| @@ -235,6 +241,12 @@ func (w *clientStream) sendStreamEvent(eventType streamEventType, err error) { | ||||
| // StreamClientInterceptor returns a grpc.StreamClientInterceptor suitable | ||||
| // for use in a grpc.Dial call. | ||||
| func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor { | ||||
| 	cfg := newConfig(opts) | ||||
| 	tracer := cfg.TracerProvider.Tracer( | ||||
| 		instrumentationName, | ||||
| 		trace.WithInstrumentationVersion(SemVersion()), | ||||
| 	) | ||||
|  | ||||
| 	return func( | ||||
| 		ctx context.Context, | ||||
| 		desc *grpc.StreamDesc, | ||||
| @@ -243,13 +255,13 @@ func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor { | ||||
| 		streamer grpc.Streamer, | ||||
| 		callOpts ...grpc.CallOption, | ||||
| 	) (grpc.ClientStream, error) { | ||||
| 		requestMetadata, _ := metadata.FromOutgoingContext(ctx) | ||||
| 		metadataCopy := requestMetadata.Copy() | ||||
|  | ||||
| 		tracer := newConfig(opts).TracerProvider.Tracer( | ||||
| 			instrumentationName, | ||||
| 			trace.WithInstrumentationVersion(SemVersion()), | ||||
| 		) | ||||
| 		i := &InterceptorInfo{ | ||||
| 			Method: method, | ||||
| 			Type:   StreamClient, | ||||
| 		} | ||||
| 		if cfg.Filter != nil && !cfg.Filter(i) { | ||||
| 			return streamer(ctx, desc, cc, method, callOpts...) | ||||
| 		} | ||||
|  | ||||
| 		name, attr := spanInfo(method, cc.Target()) | ||||
| 		var span trace.Span | ||||
| @@ -260,8 +272,7 @@ func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor { | ||||
| 			trace.WithAttributes(attr...), | ||||
| 		) | ||||
|  | ||||
| 		Inject(ctx, &metadataCopy, opts...) | ||||
| 		ctx = metadata.NewOutgoingContext(ctx, metadataCopy) | ||||
| 		ctx = inject(ctx, cfg.Propagators) | ||||
|  | ||||
| 		s, err := streamer(ctx, desc, cc, method, callOpts...) | ||||
| 		if err != nil { | ||||
| @@ -294,26 +305,31 @@ func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor { | ||||
| // UnaryServerInterceptor returns a grpc.UnaryServerInterceptor suitable | ||||
| // for use in a grpc.NewServer call. | ||||
| func UnaryServerInterceptor(opts ...Option) grpc.UnaryServerInterceptor { | ||||
| 	cfg := newConfig(opts) | ||||
| 	tracer := cfg.TracerProvider.Tracer( | ||||
| 		instrumentationName, | ||||
| 		trace.WithInstrumentationVersion(SemVersion()), | ||||
| 	) | ||||
|  | ||||
| 	return func( | ||||
| 		ctx context.Context, | ||||
| 		req interface{}, | ||||
| 		info *grpc.UnaryServerInfo, | ||||
| 		handler grpc.UnaryHandler, | ||||
| 	) (interface{}, error) { | ||||
| 		requestMetadata, _ := metadata.FromIncomingContext(ctx) | ||||
| 		metadataCopy := requestMetadata.Copy() | ||||
| 		i := &InterceptorInfo{ | ||||
| 			UnaryServerInfo: info, | ||||
| 			Type:            UnaryServer, | ||||
| 		} | ||||
| 		if cfg.Filter != nil && !cfg.Filter(i) { | ||||
| 			return handler(ctx, req) | ||||
| 		} | ||||
|  | ||||
| 		bags, spanCtx := Extract(ctx, &metadataCopy, opts...) | ||||
| 		ctx = baggage.ContextWithBaggage(ctx, bags) | ||||
|  | ||||
| 		tracer := newConfig(opts).TracerProvider.Tracer( | ||||
| 			instrumentationName, | ||||
| 			trace.WithInstrumentationVersion(SemVersion()), | ||||
| 		) | ||||
| 		ctx = extract(ctx, cfg.Propagators) | ||||
|  | ||||
| 		name, attr := spanInfo(info.FullMethod, peerFromCtx(ctx)) | ||||
| 		ctx, span := tracer.Start( | ||||
| 			trace.ContextWithRemoteSpanContext(ctx, spanCtx), | ||||
| 			trace.ContextWithRemoteSpanContext(ctx, trace.SpanContextFromContext(ctx)), | ||||
| 			name, | ||||
| 			trace.WithSpanKind(trace.SpanKindServer), | ||||
| 			trace.WithAttributes(attr...), | ||||
| @@ -381,6 +397,12 @@ func wrapServerStream(ctx context.Context, ss grpc.ServerStream) *serverStream { | ||||
| // StreamServerInterceptor returns a grpc.StreamServerInterceptor suitable | ||||
| // for use in a grpc.NewServer call. | ||||
| func StreamServerInterceptor(opts ...Option) grpc.StreamServerInterceptor { | ||||
| 	cfg := newConfig(opts) | ||||
| 	tracer := cfg.TracerProvider.Tracer( | ||||
| 		instrumentationName, | ||||
| 		trace.WithInstrumentationVersion(SemVersion()), | ||||
| 	) | ||||
|  | ||||
| 	return func( | ||||
| 		srv interface{}, | ||||
| 		ss grpc.ServerStream, | ||||
| @@ -388,21 +410,19 @@ func StreamServerInterceptor(opts ...Option) grpc.StreamServerInterceptor { | ||||
| 		handler grpc.StreamHandler, | ||||
| 	) error { | ||||
| 		ctx := ss.Context() | ||||
| 		i := &InterceptorInfo{ | ||||
| 			StreamServerInfo: info, | ||||
| 			Type:             StreamServer, | ||||
| 		} | ||||
| 		if cfg.Filter != nil && !cfg.Filter(i) { | ||||
| 			return handler(srv, wrapServerStream(ctx, ss)) | ||||
| 		} | ||||
|  | ||||
| 		requestMetadata, _ := metadata.FromIncomingContext(ctx) | ||||
| 		metadataCopy := requestMetadata.Copy() | ||||
|  | ||||
| 		bags, spanCtx := Extract(ctx, &metadataCopy, opts...) | ||||
| 		ctx = baggage.ContextWithBaggage(ctx, bags) | ||||
|  | ||||
| 		tracer := newConfig(opts).TracerProvider.Tracer( | ||||
| 			instrumentationName, | ||||
| 			trace.WithInstrumentationVersion(SemVersion()), | ||||
| 		) | ||||
| 		ctx = extract(ctx, cfg.Propagators) | ||||
|  | ||||
| 		name, attr := spanInfo(info.FullMethod, peerFromCtx(ctx)) | ||||
| 		ctx, span := tracer.Start( | ||||
| 			trace.ContextWithRemoteSpanContext(ctx, spanCtx), | ||||
| 			trace.ContextWithRemoteSpanContext(ctx, trace.SpanContextFromContext(ctx)), | ||||
| 			name, | ||||
| 			trace.WithSpanKind(trace.SpanKindServer), | ||||
| 			trace.WithAttributes(attr...), | ||||
| @@ -459,7 +479,7 @@ func peerFromCtx(ctx context.Context) string { | ||||
| 	return p.Addr.String() | ||||
| } | ||||
|  | ||||
| // statusCodeAttr returns status code attribute based on given gRPC code | ||||
| // statusCodeAttr returns status code attribute based on given gRPC code. | ||||
| func statusCodeAttr(c grpc_codes.Code) attribute.KeyValue { | ||||
| 	return GRPCStatusCodeKey.Int64(int64(c)) | ||||
| } | ||||
|   | ||||
							
								
								
									
										50
									
								
								vendor/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/interceptorinfo.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								vendor/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/interceptorinfo.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| package otelgrpc // import "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" | ||||
|  | ||||
| import ( | ||||
| 	"google.golang.org/grpc" | ||||
| ) | ||||
|  | ||||
| // InterceptorType is the flag to define which gRPC interceptor | ||||
| // the InterceptorInfo object is. | ||||
| type InterceptorType uint8 | ||||
|  | ||||
| const ( | ||||
| 	// UndefinedInterceptor is the type for the interceptor information that is not | ||||
| 	// well initialized or categorized to other types. | ||||
| 	UndefinedInterceptor InterceptorType = iota | ||||
| 	// UnaryClient is the type for grpc.UnaryClient interceptor. | ||||
| 	UnaryClient | ||||
| 	// StreamClient is the type for grpc.StreamClient interceptor. | ||||
| 	StreamClient | ||||
| 	// UnaryServer is the type for grpc.UnaryServer interceptor. | ||||
| 	UnaryServer | ||||
| 	// StreamServer is the type for grpc.StreamServer interceptor. | ||||
| 	StreamServer | ||||
| ) | ||||
|  | ||||
| // InterceptorInfo is the union of some arguments to four types of | ||||
| // gRPC interceptors. | ||||
| type InterceptorInfo struct { | ||||
| 	// Method is method name registered to UnaryClient and StreamClient | ||||
| 	Method string | ||||
| 	// UnaryServerInfo is the metadata for UnaryServer | ||||
| 	UnaryServerInfo *grpc.UnaryServerInfo | ||||
| 	// StreamServerInfo if the metadata for StreamServer | ||||
| 	StreamServerInfo *grpc.StreamServerInfo | ||||
| 	// Type is the type for interceptor | ||||
| 	Type InterceptorType | ||||
| } | ||||
| @@ -18,7 +18,7 @@ import ( | ||||
| 	"strings" | ||||
|  | ||||
| 	"go.opentelemetry.io/otel/attribute" | ||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.10.0" | ||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.12.0" | ||||
| ) | ||||
|  | ||||
| // ParseFullMethod returns a span name following the OpenTelemetry semantic | ||||
|   | ||||
| @@ -16,7 +16,7 @@ package otelgrpc // import "go.opentelemetry.io/contrib/instrumentation/google.g | ||||
|  | ||||
| import ( | ||||
| 	"go.opentelemetry.io/otel/attribute" | ||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.10.0" | ||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.12.0" | ||||
| ) | ||||
|  | ||||
| // Semantic conventions for attribute keys for gRPC. | ||||
|   | ||||
| @@ -16,7 +16,7 @@ package otelgrpc // import "go.opentelemetry.io/contrib/instrumentation/google.g | ||||
|  | ||||
| // Version is the current release version of the gRPC instrumentation. | ||||
| func Version() string { | ||||
| 	return "0.32.0" | ||||
| 	return "0.36.4" | ||||
| 	// This string is updated by the pre_release.sh script during release | ||||
| } | ||||
|  | ||||
|   | ||||
							
								
								
									
										20
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/doc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/doc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,20 +0,0 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| // Package semconv implements OpenTelemetry semantic conventions. | ||||
| // | ||||
| // OpenTelemetry semantic conventions are agreed standardized naming | ||||
| // patterns for OpenTelemetry things. This package represents the conventions | ||||
| // as of the v1.10.0 version of the OpenTelemetry specification. | ||||
| package semconv // import "go.opentelemetry.io/otel/semconv/v1.10.0" | ||||
							
								
								
									
										20
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/exception.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/exception.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,20 +0,0 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| package semconv // import "go.opentelemetry.io/otel/semconv/v1.10.0" | ||||
|  | ||||
| const ( | ||||
| 	// ExceptionEventName is the name of the Span event representing an exception. | ||||
| 	ExceptionEventName = "exception" | ||||
| ) | ||||
							
								
								
									
										114
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/http.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										114
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/http.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,114 +0,0 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| package semconv // import "go.opentelemetry.io/otel/semconv/v1.10.0" | ||||
|  | ||||
| import ( | ||||
| 	"net/http" | ||||
|  | ||||
| 	"go.opentelemetry.io/otel/attribute" | ||||
| 	"go.opentelemetry.io/otel/codes" | ||||
| 	"go.opentelemetry.io/otel/semconv/internal" | ||||
| 	"go.opentelemetry.io/otel/trace" | ||||
| ) | ||||
|  | ||||
| // HTTP scheme attributes. | ||||
| var ( | ||||
| 	HTTPSchemeHTTP  = HTTPSchemeKey.String("http") | ||||
| 	HTTPSchemeHTTPS = HTTPSchemeKey.String("https") | ||||
| ) | ||||
|  | ||||
| var sc = &internal.SemanticConventions{ | ||||
| 	EnduserIDKey:                EnduserIDKey, | ||||
| 	HTTPClientIPKey:             HTTPClientIPKey, | ||||
| 	HTTPFlavorKey:               HTTPFlavorKey, | ||||
| 	HTTPHostKey:                 HTTPHostKey, | ||||
| 	HTTPMethodKey:               HTTPMethodKey, | ||||
| 	HTTPRequestContentLengthKey: HTTPRequestContentLengthKey, | ||||
| 	HTTPRouteKey:                HTTPRouteKey, | ||||
| 	HTTPSchemeHTTP:              HTTPSchemeHTTP, | ||||
| 	HTTPSchemeHTTPS:             HTTPSchemeHTTPS, | ||||
| 	HTTPServerNameKey:           HTTPServerNameKey, | ||||
| 	HTTPStatusCodeKey:           HTTPStatusCodeKey, | ||||
| 	HTTPTargetKey:               HTTPTargetKey, | ||||
| 	HTTPURLKey:                  HTTPURLKey, | ||||
| 	HTTPUserAgentKey:            HTTPUserAgentKey, | ||||
| 	NetHostIPKey:                NetHostIPKey, | ||||
| 	NetHostNameKey:              NetHostNameKey, | ||||
| 	NetHostPortKey:              NetHostPortKey, | ||||
| 	NetPeerIPKey:                NetPeerIPKey, | ||||
| 	NetPeerNameKey:              NetPeerNameKey, | ||||
| 	NetPeerPortKey:              NetPeerPortKey, | ||||
| 	NetTransportIP:              NetTransportIP, | ||||
| 	NetTransportOther:           NetTransportOther, | ||||
| 	NetTransportTCP:             NetTransportTCP, | ||||
| 	NetTransportUDP:             NetTransportUDP, | ||||
| 	NetTransportUnix:            NetTransportUnix, | ||||
| } | ||||
|  | ||||
| // NetAttributesFromHTTPRequest generates attributes of the net | ||||
| // namespace as specified by the OpenTelemetry specification for a | ||||
| // span.  The network parameter is a string that net.Dial function | ||||
| // from standard library can understand. | ||||
| func NetAttributesFromHTTPRequest(network string, request *http.Request) []attribute.KeyValue { | ||||
| 	return sc.NetAttributesFromHTTPRequest(network, request) | ||||
| } | ||||
|  | ||||
| // EndUserAttributesFromHTTPRequest generates attributes of the | ||||
| // enduser namespace as specified by the OpenTelemetry specification | ||||
| // for a span. | ||||
| func EndUserAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue { | ||||
| 	return sc.EndUserAttributesFromHTTPRequest(request) | ||||
| } | ||||
|  | ||||
| // HTTPClientAttributesFromHTTPRequest generates attributes of the | ||||
| // http namespace as specified by the OpenTelemetry specification for | ||||
| // a span on the client side. | ||||
| func HTTPClientAttributesFromHTTPRequest(request *http.Request) []attribute.KeyValue { | ||||
| 	return sc.HTTPClientAttributesFromHTTPRequest(request) | ||||
| } | ||||
|  | ||||
| // HTTPServerMetricAttributesFromHTTPRequest generates low-cardinality attributes | ||||
| // to be used with server-side HTTP metrics. | ||||
| func HTTPServerMetricAttributesFromHTTPRequest(serverName string, request *http.Request) []attribute.KeyValue { | ||||
| 	return sc.HTTPServerMetricAttributesFromHTTPRequest(serverName, request) | ||||
| } | ||||
|  | ||||
| // HTTPServerAttributesFromHTTPRequest generates attributes of the | ||||
| // http namespace as specified by the OpenTelemetry specification for | ||||
| // a span on the server side. Currently, only basic authentication is | ||||
| // supported. | ||||
| func HTTPServerAttributesFromHTTPRequest(serverName, route string, request *http.Request) []attribute.KeyValue { | ||||
| 	return sc.HTTPServerAttributesFromHTTPRequest(serverName, route, request) | ||||
| } | ||||
|  | ||||
| // HTTPAttributesFromHTTPStatusCode generates attributes of the http | ||||
| // namespace as specified by the OpenTelemetry specification for a | ||||
| // span. | ||||
| func HTTPAttributesFromHTTPStatusCode(code int) []attribute.KeyValue { | ||||
| 	return sc.HTTPAttributesFromHTTPStatusCode(code) | ||||
| } | ||||
|  | ||||
| // SpanStatusFromHTTPStatusCode generates a status code and a message | ||||
| // as specified by the OpenTelemetry specification for a span. | ||||
| func SpanStatusFromHTTPStatusCode(code int) (codes.Code, string) { | ||||
| 	return internal.SpanStatusFromHTTPStatusCode(code) | ||||
| } | ||||
|  | ||||
| // SpanStatusFromHTTPStatusCodeAndSpanKind generates a status code and a message | ||||
| // as specified by the OpenTelemetry specification for a span. | ||||
| // Exclude 4xx for SERVER to set the appropriate status. | ||||
| func SpanStatusFromHTTPStatusCodeAndSpanKind(code int, spanKind trace.SpanKind) (codes.Code, string) { | ||||
| 	return internal.SpanStatusFromHTTPStatusCodeAndSpanKind(code, spanKind) | ||||
| } | ||||
							
								
								
									
										981
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/resource.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										981
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/resource.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,981 +0,0 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| // Code generated from semantic convention specification. DO NOT EDIT. | ||||
|  | ||||
| package semconv // import "go.opentelemetry.io/otel/semconv/v1.10.0" | ||||
|  | ||||
| import "go.opentelemetry.io/otel/attribute" | ||||
|  | ||||
| // A cloud environment (e.g. GCP, Azure, AWS) | ||||
| const ( | ||||
| 	// Name of the cloud provider. | ||||
| 	// | ||||
| 	// Type: Enum | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	CloudProviderKey = attribute.Key("cloud.provider") | ||||
| 	// The cloud account ID the resource is assigned to. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '111111111111', 'opentelemetry' | ||||
| 	CloudAccountIDKey = attribute.Key("cloud.account.id") | ||||
| 	// The geographical region the resource is running. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'us-central1', 'us-east-1' | ||||
| 	// Note: Refer to your provider's docs to see the available regions, for example | ||||
| 	// [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc- | ||||
| 	// detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global- | ||||
| 	// infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/en- | ||||
| 	// us/global-infrastructure/geographies/), [Google Cloud | ||||
| 	// regions](https://cloud.google.com/about/locations), or [Tencent Cloud | ||||
| 	// regions](https://intl.cloud.tencent.com/document/product/213/6091). | ||||
| 	CloudRegionKey = attribute.Key("cloud.region") | ||||
| 	// Cloud regions often have multiple, isolated locations known as zones to | ||||
| 	// increase availability. Availability zone represents the zone where the resource | ||||
| 	// is running. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'us-east-1c' | ||||
| 	// Note: Availability zones are called "zones" on Alibaba Cloud and Google Cloud. | ||||
| 	CloudAvailabilityZoneKey = attribute.Key("cloud.availability_zone") | ||||
| 	// The cloud platform in use. | ||||
| 	// | ||||
| 	// Type: Enum | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Note: The prefix of the service SHOULD match the one specified in | ||||
| 	// `cloud.provider`. | ||||
| 	CloudPlatformKey = attribute.Key("cloud.platform") | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	// Alibaba Cloud | ||||
| 	CloudProviderAlibabaCloud = CloudProviderKey.String("alibaba_cloud") | ||||
| 	// Amazon Web Services | ||||
| 	CloudProviderAWS = CloudProviderKey.String("aws") | ||||
| 	// Microsoft Azure | ||||
| 	CloudProviderAzure = CloudProviderKey.String("azure") | ||||
| 	// Google Cloud Platform | ||||
| 	CloudProviderGCP = CloudProviderKey.String("gcp") | ||||
| 	// Tencent Cloud | ||||
| 	CloudProviderTencentCloud = CloudProviderKey.String("tencent_cloud") | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	// Alibaba Cloud Elastic Compute Service | ||||
| 	CloudPlatformAlibabaCloudECS = CloudPlatformKey.String("alibaba_cloud_ecs") | ||||
| 	// Alibaba Cloud Function Compute | ||||
| 	CloudPlatformAlibabaCloudFc = CloudPlatformKey.String("alibaba_cloud_fc") | ||||
| 	// AWS Elastic Compute Cloud | ||||
| 	CloudPlatformAWSEC2 = CloudPlatformKey.String("aws_ec2") | ||||
| 	// AWS Elastic Container Service | ||||
| 	CloudPlatformAWSECS = CloudPlatformKey.String("aws_ecs") | ||||
| 	// AWS Elastic Kubernetes Service | ||||
| 	CloudPlatformAWSEKS = CloudPlatformKey.String("aws_eks") | ||||
| 	// AWS Lambda | ||||
| 	CloudPlatformAWSLambda = CloudPlatformKey.String("aws_lambda") | ||||
| 	// AWS Elastic Beanstalk | ||||
| 	CloudPlatformAWSElasticBeanstalk = CloudPlatformKey.String("aws_elastic_beanstalk") | ||||
| 	// AWS App Runner | ||||
| 	CloudPlatformAWSAppRunner = CloudPlatformKey.String("aws_app_runner") | ||||
| 	// Azure Virtual Machines | ||||
| 	CloudPlatformAzureVM = CloudPlatformKey.String("azure_vm") | ||||
| 	// Azure Container Instances | ||||
| 	CloudPlatformAzureContainerInstances = CloudPlatformKey.String("azure_container_instances") | ||||
| 	// Azure Kubernetes Service | ||||
| 	CloudPlatformAzureAKS = CloudPlatformKey.String("azure_aks") | ||||
| 	// Azure Functions | ||||
| 	CloudPlatformAzureFunctions = CloudPlatformKey.String("azure_functions") | ||||
| 	// Azure App Service | ||||
| 	CloudPlatformAzureAppService = CloudPlatformKey.String("azure_app_service") | ||||
| 	// Google Cloud Compute Engine (GCE) | ||||
| 	CloudPlatformGCPComputeEngine = CloudPlatformKey.String("gcp_compute_engine") | ||||
| 	// Google Cloud Run | ||||
| 	CloudPlatformGCPCloudRun = CloudPlatformKey.String("gcp_cloud_run") | ||||
| 	// Google Cloud Kubernetes Engine (GKE) | ||||
| 	CloudPlatformGCPKubernetesEngine = CloudPlatformKey.String("gcp_kubernetes_engine") | ||||
| 	// Google Cloud Functions (GCF) | ||||
| 	CloudPlatformGCPCloudFunctions = CloudPlatformKey.String("gcp_cloud_functions") | ||||
| 	// Google Cloud App Engine (GAE) | ||||
| 	CloudPlatformGCPAppEngine = CloudPlatformKey.String("gcp_app_engine") | ||||
| 	// Tencent Cloud Cloud Virtual Machine (CVM) | ||||
| 	CloudPlatformTencentCloudCvm = CloudPlatformKey.String("tencent_cloud_cvm") | ||||
| 	// Tencent Cloud Elastic Kubernetes Service (EKS) | ||||
| 	CloudPlatformTencentCloudEKS = CloudPlatformKey.String("tencent_cloud_eks") | ||||
| 	// Tencent Cloud Serverless Cloud Function (SCF) | ||||
| 	CloudPlatformTencentCloudScf = CloudPlatformKey.String("tencent_cloud_scf") | ||||
| ) | ||||
|  | ||||
| // Resources used by AWS Elastic Container Service (ECS). | ||||
| const ( | ||||
| 	// The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws. | ||||
| 	// amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'arn:aws:ecs:us- | ||||
| 	// west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9' | ||||
| 	AWSECSContainerARNKey = attribute.Key("aws.ecs.container.arn") | ||||
| 	// The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/develo | ||||
| 	// perguide/clusters.html). | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster' | ||||
| 	AWSECSClusterARNKey = attribute.Key("aws.ecs.cluster.arn") | ||||
| 	// The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/l | ||||
| 	// aunch_types.html) for an ECS task. | ||||
| 	// | ||||
| 	// Type: Enum | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	AWSECSLaunchtypeKey = attribute.Key("aws.ecs.launchtype") | ||||
| 	// The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/lates | ||||
| 	// t/developerguide/task_definitions.html). | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'arn:aws:ecs:us- | ||||
| 	// west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b' | ||||
| 	AWSECSTaskARNKey = attribute.Key("aws.ecs.task.arn") | ||||
| 	// The task definition family this task definition is a member of. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry-family' | ||||
| 	AWSECSTaskFamilyKey = attribute.Key("aws.ecs.task.family") | ||||
| 	// The revision for this task definition. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '8', '26' | ||||
| 	AWSECSTaskRevisionKey = attribute.Key("aws.ecs.task.revision") | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	// ec2 | ||||
| 	AWSECSLaunchtypeEC2 = AWSECSLaunchtypeKey.String("ec2") | ||||
| 	// fargate | ||||
| 	AWSECSLaunchtypeFargate = AWSECSLaunchtypeKey.String("fargate") | ||||
| ) | ||||
|  | ||||
| // Resources used by AWS Elastic Kubernetes Service (EKS). | ||||
| const ( | ||||
| 	// The ARN of an EKS cluster. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster' | ||||
| 	AWSEKSClusterARNKey = attribute.Key("aws.eks.cluster.arn") | ||||
| ) | ||||
|  | ||||
| // Resources specific to Amazon Web Services. | ||||
| const ( | ||||
| 	// The name(s) of the AWS log group(s) an application is writing to. | ||||
| 	// | ||||
| 	// Type: string[] | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '/aws/lambda/my-function', 'opentelemetry-service' | ||||
| 	// Note: Multiple log groups must be supported for cases like multi-container | ||||
| 	// applications, where a single application has sidecar containers, and each write | ||||
| 	// to their own log group. | ||||
| 	AWSLogGroupNamesKey = attribute.Key("aws.log.group.names") | ||||
| 	// The Amazon Resource Name(s) (ARN) of the AWS log group(s). | ||||
| 	// | ||||
| 	// Type: string[] | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*' | ||||
| 	// Note: See the [log group ARN format | ||||
| 	// documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam- | ||||
| 	// access-control-overview-cwl.html#CWL_ARN_Format). | ||||
| 	AWSLogGroupARNsKey = attribute.Key("aws.log.group.arns") | ||||
| 	// The name(s) of the AWS log stream(s) an application is writing to. | ||||
| 	// | ||||
| 	// Type: string[] | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'logs/main/10838bed-421f-43ef-870a-f43feacbbb5b' | ||||
| 	AWSLogStreamNamesKey = attribute.Key("aws.log.stream.names") | ||||
| 	// The ARN(s) of the AWS log stream(s). | ||||
| 	// | ||||
| 	// Type: string[] | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log- | ||||
| 	// stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b' | ||||
| 	// Note: See the [log stream ARN format | ||||
| 	// documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam- | ||||
| 	// access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain | ||||
| 	// several log streams, so these ARNs necessarily identify both a log group and a | ||||
| 	// log stream. | ||||
| 	AWSLogStreamARNsKey = attribute.Key("aws.log.stream.arns") | ||||
| ) | ||||
|  | ||||
| // A container instance. | ||||
| const ( | ||||
| 	// Container name used by container runtime. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry-autoconf' | ||||
| 	ContainerNameKey = attribute.Key("container.name") | ||||
| 	// Container ID. Usually a UUID, as for example used to [identify Docker | ||||
| 	// containers](https://docs.docker.com/engine/reference/run/#container- | ||||
| 	// identification). The UUID might be abbreviated. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'a3bf90e006b2' | ||||
| 	ContainerIDKey = attribute.Key("container.id") | ||||
| 	// The container runtime managing this container. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'docker', 'containerd', 'rkt' | ||||
| 	ContainerRuntimeKey = attribute.Key("container.runtime") | ||||
| 	// Name of the image the container was built on. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'gcr.io/opentelemetry/operator' | ||||
| 	ContainerImageNameKey = attribute.Key("container.image.name") | ||||
| 	// Container image tag. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '0.1' | ||||
| 	ContainerImageTagKey = attribute.Key("container.image.tag") | ||||
| ) | ||||
|  | ||||
| // The software deployment. | ||||
| const ( | ||||
| 	// Name of the [deployment | ||||
| 	// environment](https://en.wikipedia.org/wiki/Deployment_environment) (aka | ||||
| 	// deployment tier). | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'staging', 'production' | ||||
| 	DeploymentEnvironmentKey = attribute.Key("deployment.environment") | ||||
| ) | ||||
|  | ||||
| // The device on which the process represented by this resource is running. | ||||
| const ( | ||||
| 	// A unique identifier representing the device | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '2ab2916d-a51f-4ac8-80ee-45ac31a28092' | ||||
| 	// Note: The device identifier MUST only be defined using the values outlined | ||||
| 	// below. This value is not an advertising identifier and MUST NOT be used as | ||||
| 	// such. On iOS (Swift or Objective-C), this value MUST be equal to the [vendor id | ||||
| 	// entifier](https://developer.apple.com/documentation/uikit/uidevice/1620059-iden | ||||
| 	// tifierforvendor). On Android (Java or Kotlin), this value MUST be equal to the | ||||
| 	// Firebase Installation ID or a globally unique UUID which is persisted across | ||||
| 	// sessions in your application. More information can be found | ||||
| 	// [here](https://developer.android.com/training/articles/user-data-ids) on best | ||||
| 	// practices and exact implementation details. Caution should be taken when | ||||
| 	// storing personal data or anything which can identify a user. GDPR and data | ||||
| 	// protection laws may apply, ensure you do your own due diligence. | ||||
| 	DeviceIDKey = attribute.Key("device.id") | ||||
| 	// The model identifier for the device | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'iPhone3,4', 'SM-G920F' | ||||
| 	// Note: It's recommended this value represents a machine readable version of the | ||||
| 	// model identifier rather than the market or consumer-friendly name of the | ||||
| 	// device. | ||||
| 	DeviceModelIdentifierKey = attribute.Key("device.model.identifier") | ||||
| 	// The marketing name for the device model | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'iPhone 6s Plus', 'Samsung Galaxy S6' | ||||
| 	// Note: It's recommended this value represents a human readable version of the | ||||
| 	// device model rather than a machine readable alternative. | ||||
| 	DeviceModelNameKey = attribute.Key("device.model.name") | ||||
| 	// The name of the device manufacturer | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'Apple', 'Samsung' | ||||
| 	// Note: The Android OS provides this field via | ||||
| 	// [Build](https://developer.android.com/reference/android/os/Build#MANUFACTURER). | ||||
| 	// iOS apps SHOULD hardcode the value `Apple`. | ||||
| 	DeviceManufacturerKey = attribute.Key("device.manufacturer") | ||||
| ) | ||||
|  | ||||
| // A serverless instance. | ||||
| const ( | ||||
| 	// The name of the single function that this runtime instance executes. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: Always | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'my-function' | ||||
| 	// Note: This is the name of the function as configured/deployed on the FaaS | ||||
| 	// platform and is usually different from the name of the callback function (which | ||||
| 	// may be stored in the | ||||
| 	// [`code.namespace`/`code.function`](../../trace/semantic_conventions/span- | ||||
| 	// general.md#source-code-attributes) span attributes). | ||||
| 	FaaSNameKey = attribute.Key("faas.name") | ||||
| 	// The unique ID of the single function that this runtime instance executes. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'arn:aws:lambda:us-west-2:123456789012:function:my-function' | ||||
| 	// Note: Depending on the cloud provider, use: | ||||
|  | ||||
| 	// * **AWS Lambda:** The function | ||||
| 	// [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and- | ||||
| 	// namespaces.html). | ||||
| 	// Take care not to use the "invoked ARN" directly but replace any | ||||
| 	// [alias suffix](https://docs.aws.amazon.com/lambda/latest/dg/configuration- | ||||
| 	// aliases.html) with the resolved function version, as the same runtime instance | ||||
| 	// may be invokable with multiple | ||||
| 	// different aliases. | ||||
| 	// * **GCP:** The [URI of the resource](https://cloud.google.com/iam/docs/full- | ||||
| 	// resource-names) | ||||
| 	// * **Azure:** The [Fully Qualified Resource ID](https://docs.microsoft.com/en- | ||||
| 	// us/rest/api/resources/resources/get-by-id). | ||||
|  | ||||
| 	// On some providers, it may not be possible to determine the full ID at startup, | ||||
| 	// which is why this field cannot be made required. For example, on AWS the | ||||
| 	// account ID | ||||
| 	// part of the ARN is not available without calling another AWS API | ||||
| 	// which may be deemed too slow for a short-running lambda function. | ||||
| 	// As an alternative, consider setting `faas.id` as a span attribute instead. | ||||
| 	FaaSIDKey = attribute.Key("faas.id") | ||||
| 	// The immutable version of the function being executed. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '26', 'pinkfroid-00002' | ||||
| 	// Note: Depending on the cloud provider and platform, use: | ||||
|  | ||||
| 	// * **AWS Lambda:** The [function | ||||
| 	// version](https://docs.aws.amazon.com/lambda/latest/dg/configuration- | ||||
| 	// versions.html) | ||||
| 	//   (an integer represented as a decimal string). | ||||
| 	// * **Google Cloud Run:** The | ||||
| 	// [revision](https://cloud.google.com/run/docs/managing/revisions) | ||||
| 	//   (i.e., the function name plus the revision suffix). | ||||
| 	// * **Google Cloud Functions:** The value of the | ||||
| 	//   [`K_REVISION` environment | ||||
| 	// variable](https://cloud.google.com/functions/docs/env- | ||||
| 	// var#runtime_environment_variables_set_automatically). | ||||
| 	// * **Azure Functions:** Not applicable. Do not set this attribute. | ||||
| 	FaaSVersionKey = attribute.Key("faas.version") | ||||
| 	// The execution environment ID as a string, that will be potentially reused for | ||||
| 	// other invocations to the same function/function version. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de' | ||||
| 	// Note: * **AWS Lambda:** Use the (full) log stream name. | ||||
| 	FaaSInstanceKey = attribute.Key("faas.instance") | ||||
| 	// The amount of memory available to the serverless function in MiB. | ||||
| 	// | ||||
| 	// Type: int | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 128 | ||||
| 	// Note: It's recommended to set this attribute since e.g. too little memory can | ||||
| 	// easily stop a Java AWS Lambda function from working correctly. On AWS Lambda, | ||||
| 	// the environment variable `AWS_LAMBDA_FUNCTION_MEMORY_SIZE` provides this | ||||
| 	// information. | ||||
| 	FaaSMaxMemoryKey = attribute.Key("faas.max_memory") | ||||
| ) | ||||
|  | ||||
| // A host is defined as a general computing instance. | ||||
| const ( | ||||
| 	// Unique host ID. For Cloud, this must be the instance_id assigned by the cloud | ||||
| 	// provider. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry-test' | ||||
| 	HostIDKey = attribute.Key("host.id") | ||||
| 	// Name of the host. On Unix systems, it may contain what the hostname command | ||||
| 	// returns, or the fully qualified hostname, or another name specified by the | ||||
| 	// user. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry-test' | ||||
| 	HostNameKey = attribute.Key("host.name") | ||||
| 	// Type of host. For Cloud, this must be the machine type. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'n1-standard-1' | ||||
| 	HostTypeKey = attribute.Key("host.type") | ||||
| 	// The CPU architecture the host system is running on. | ||||
| 	// | ||||
| 	// Type: Enum | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	HostArchKey = attribute.Key("host.arch") | ||||
| 	// Name of the VM image or OS install the host was instantiated from. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'infra-ami-eks-worker-node-7d4ec78312', 'CentOS-8-x86_64-1905' | ||||
| 	HostImageNameKey = attribute.Key("host.image.name") | ||||
| 	// VM image ID. For Cloud, this value is from the provider. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'ami-07b06b442921831e5' | ||||
| 	HostImageIDKey = attribute.Key("host.image.id") | ||||
| 	// The version string of the VM image as defined in [Version | ||||
| 	// Attributes](README.md#version-attributes). | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '0.1' | ||||
| 	HostImageVersionKey = attribute.Key("host.image.version") | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	// AMD64 | ||||
| 	HostArchAMD64 = HostArchKey.String("amd64") | ||||
| 	// ARM32 | ||||
| 	HostArchARM32 = HostArchKey.String("arm32") | ||||
| 	// ARM64 | ||||
| 	HostArchARM64 = HostArchKey.String("arm64") | ||||
| 	// Itanium | ||||
| 	HostArchIA64 = HostArchKey.String("ia64") | ||||
| 	// 32-bit PowerPC | ||||
| 	HostArchPPC32 = HostArchKey.String("ppc32") | ||||
| 	// 64-bit PowerPC | ||||
| 	HostArchPPC64 = HostArchKey.String("ppc64") | ||||
| 	// IBM z/Architecture | ||||
| 	HostArchS390x = HostArchKey.String("s390x") | ||||
| 	// 32-bit x86 | ||||
| 	HostArchX86 = HostArchKey.String("x86") | ||||
| ) | ||||
|  | ||||
| // A Kubernetes Cluster. | ||||
| const ( | ||||
| 	// The name of the cluster. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry-cluster' | ||||
| 	K8SClusterNameKey = attribute.Key("k8s.cluster.name") | ||||
| ) | ||||
|  | ||||
| // A Kubernetes Node object. | ||||
| const ( | ||||
| 	// The name of the Node. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'node-1' | ||||
| 	K8SNodeNameKey = attribute.Key("k8s.node.name") | ||||
| 	// The UID of the Node. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2' | ||||
| 	K8SNodeUIDKey = attribute.Key("k8s.node.uid") | ||||
| ) | ||||
|  | ||||
| // A Kubernetes Namespace. | ||||
| const ( | ||||
| 	// The name of the namespace that the pod is running in. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'default' | ||||
| 	K8SNamespaceNameKey = attribute.Key("k8s.namespace.name") | ||||
| ) | ||||
|  | ||||
| // A Kubernetes Pod object. | ||||
| const ( | ||||
| 	// The UID of the Pod. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' | ||||
| 	K8SPodUIDKey = attribute.Key("k8s.pod.uid") | ||||
| 	// The name of the Pod. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry-pod-autoconf' | ||||
| 	K8SPodNameKey = attribute.Key("k8s.pod.name") | ||||
| ) | ||||
|  | ||||
| // A container in a [PodTemplate](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates). | ||||
| const ( | ||||
| 	// The name of the Container from Pod specification, must be unique within a Pod. | ||||
| 	// Container runtime usually uses different globally unique name | ||||
| 	// (`container.name`). | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'redis' | ||||
| 	K8SContainerNameKey = attribute.Key("k8s.container.name") | ||||
| 	// Number of times the container was restarted. This attribute can be used to | ||||
| 	// identify a particular container (running or stopped) within a container spec. | ||||
| 	// | ||||
| 	// Type: int | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 0, 2 | ||||
| 	K8SContainerRestartCountKey = attribute.Key("k8s.container.restart_count") | ||||
| ) | ||||
|  | ||||
| // A Kubernetes ReplicaSet object. | ||||
| const ( | ||||
| 	// The UID of the ReplicaSet. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' | ||||
| 	K8SReplicaSetUIDKey = attribute.Key("k8s.replicaset.uid") | ||||
| 	// The name of the ReplicaSet. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry' | ||||
| 	K8SReplicaSetNameKey = attribute.Key("k8s.replicaset.name") | ||||
| ) | ||||
|  | ||||
| // A Kubernetes Deployment object. | ||||
| const ( | ||||
| 	// The UID of the Deployment. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' | ||||
| 	K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid") | ||||
| 	// The name of the Deployment. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry' | ||||
| 	K8SDeploymentNameKey = attribute.Key("k8s.deployment.name") | ||||
| ) | ||||
|  | ||||
| // A Kubernetes StatefulSet object. | ||||
| const ( | ||||
| 	// The UID of the StatefulSet. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' | ||||
| 	K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid") | ||||
| 	// The name of the StatefulSet. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry' | ||||
| 	K8SStatefulSetNameKey = attribute.Key("k8s.statefulset.name") | ||||
| ) | ||||
|  | ||||
| // A Kubernetes DaemonSet object. | ||||
| const ( | ||||
| 	// The UID of the DaemonSet. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' | ||||
| 	K8SDaemonSetUIDKey = attribute.Key("k8s.daemonset.uid") | ||||
| 	// The name of the DaemonSet. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry' | ||||
| 	K8SDaemonSetNameKey = attribute.Key("k8s.daemonset.name") | ||||
| ) | ||||
|  | ||||
| // A Kubernetes Job object. | ||||
| const ( | ||||
| 	// The UID of the Job. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' | ||||
| 	K8SJobUIDKey = attribute.Key("k8s.job.uid") | ||||
| 	// The name of the Job. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry' | ||||
| 	K8SJobNameKey = attribute.Key("k8s.job.name") | ||||
| ) | ||||
|  | ||||
| // A Kubernetes CronJob object. | ||||
| const ( | ||||
| 	// The UID of the CronJob. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '275ecb36-5aa8-4c2a-9c47-d8bb681b9aff' | ||||
| 	K8SCronJobUIDKey = attribute.Key("k8s.cronjob.uid") | ||||
| 	// The name of the CronJob. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry' | ||||
| 	K8SCronJobNameKey = attribute.Key("k8s.cronjob.name") | ||||
| ) | ||||
|  | ||||
| // The operating system (OS) on which the process represented by this resource is running. | ||||
| const ( | ||||
| 	// The operating system type. | ||||
| 	// | ||||
| 	// Type: Enum | ||||
| 	// Required: Always | ||||
| 	// Stability: stable | ||||
| 	OSTypeKey = attribute.Key("os.type") | ||||
| 	// Human readable (not intended to be parsed) OS version information, like e.g. | ||||
| 	// reported by `ver` or `lsb_release -a` commands. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1 LTS' | ||||
| 	OSDescriptionKey = attribute.Key("os.description") | ||||
| 	// Human readable operating system name. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'iOS', 'Android', 'Ubuntu' | ||||
| 	OSNameKey = attribute.Key("os.name") | ||||
| 	// The version string of the operating system as defined in [Version | ||||
| 	// Attributes](../../resource/semantic_conventions/README.md#version-attributes). | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '14.2.1', '18.04.1' | ||||
| 	OSVersionKey = attribute.Key("os.version") | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	// Microsoft Windows | ||||
| 	OSTypeWindows = OSTypeKey.String("windows") | ||||
| 	// Linux | ||||
| 	OSTypeLinux = OSTypeKey.String("linux") | ||||
| 	// Apple Darwin | ||||
| 	OSTypeDarwin = OSTypeKey.String("darwin") | ||||
| 	// FreeBSD | ||||
| 	OSTypeFreeBSD = OSTypeKey.String("freebsd") | ||||
| 	// NetBSD | ||||
| 	OSTypeNetBSD = OSTypeKey.String("netbsd") | ||||
| 	// OpenBSD | ||||
| 	OSTypeOpenBSD = OSTypeKey.String("openbsd") | ||||
| 	// DragonFly BSD | ||||
| 	OSTypeDragonflyBSD = OSTypeKey.String("dragonflybsd") | ||||
| 	// HP-UX (Hewlett Packard Unix) | ||||
| 	OSTypeHPUX = OSTypeKey.String("hpux") | ||||
| 	// AIX (Advanced Interactive eXecutive) | ||||
| 	OSTypeAIX = OSTypeKey.String("aix") | ||||
| 	// Oracle Solaris | ||||
| 	OSTypeSolaris = OSTypeKey.String("solaris") | ||||
| 	// IBM z/OS | ||||
| 	OSTypeZOS = OSTypeKey.String("z_os") | ||||
| ) | ||||
|  | ||||
| // An operating system process. | ||||
| const ( | ||||
| 	// Process identifier (PID). | ||||
| 	// | ||||
| 	// Type: int | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 1234 | ||||
| 	ProcessPIDKey = attribute.Key("process.pid") | ||||
| 	// The name of the process executable. On Linux based systems, can be set to the | ||||
| 	// `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of | ||||
| 	// `GetProcessImageFileNameW`. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: See below | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'otelcol' | ||||
| 	ProcessExecutableNameKey = attribute.Key("process.executable.name") | ||||
| 	// The full path to the process executable. On Linux based systems, can be set to | ||||
| 	// the target of `proc/[pid]/exe`. On Windows, can be set to the result of | ||||
| 	// `GetProcessImageFileNameW`. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: See below | ||||
| 	// Stability: stable | ||||
| 	// Examples: '/usr/bin/cmd/otelcol' | ||||
| 	ProcessExecutablePathKey = attribute.Key("process.executable.path") | ||||
| 	// The command used to launch the process (i.e. the command name). On Linux based | ||||
| 	// systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, | ||||
| 	// can be set to the first parameter extracted from `GetCommandLineW`. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: See below | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'cmd/otelcol' | ||||
| 	ProcessCommandKey = attribute.Key("process.command") | ||||
| 	// The full command used to launch the process as a single string representing the | ||||
| 	// full command. On Windows, can be set to the result of `GetCommandLineW`. Do not | ||||
| 	// set this if you have to assemble it just for monitoring; use | ||||
| 	// `process.command_args` instead. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: See below | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'C:\\cmd\\otecol --config="my directory\\config.yaml"' | ||||
| 	ProcessCommandLineKey = attribute.Key("process.command_line") | ||||
| 	// All the command arguments (including the command/executable itself) as received | ||||
| 	// by the process. On Linux-based systems (and some other Unixoid systems | ||||
| 	// supporting procfs), can be set according to the list of null-delimited strings | ||||
| 	// extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be | ||||
| 	// the full argv vector passed to `main`. | ||||
| 	// | ||||
| 	// Type: string[] | ||||
| 	// Required: See below | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'cmd/otecol', '--config=config.yaml' | ||||
| 	ProcessCommandArgsKey = attribute.Key("process.command_args") | ||||
| 	// The username of the user that owns the process. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'root' | ||||
| 	ProcessOwnerKey = attribute.Key("process.owner") | ||||
| ) | ||||
|  | ||||
| // The single (language) runtime instance which is monitored. | ||||
| const ( | ||||
| 	// The name of the runtime of this process. For compiled native binaries, this | ||||
| 	// SHOULD be the name of the compiler. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'OpenJDK Runtime Environment' | ||||
| 	ProcessRuntimeNameKey = attribute.Key("process.runtime.name") | ||||
| 	// The version of the runtime of this process, as returned by the runtime without | ||||
| 	// modification. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '14.0.2' | ||||
| 	ProcessRuntimeVersionKey = attribute.Key("process.runtime.version") | ||||
| 	// An additional description about the runtime of the process, for example a | ||||
| 	// specific vendor customization of the runtime environment. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0' | ||||
| 	ProcessRuntimeDescriptionKey = attribute.Key("process.runtime.description") | ||||
| ) | ||||
|  | ||||
| // A service instance. | ||||
| const ( | ||||
| 	// Logical name of the service. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: Always | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'shoppingcart' | ||||
| 	// Note: MUST be the same for all instances of horizontally scaled services. If | ||||
| 	// the value was not specified, SDKs MUST fallback to `unknown_service:` | ||||
| 	// concatenated with [`process.executable.name`](process.md#process), e.g. | ||||
| 	// `unknown_service:bash`. If `process.executable.name` is not available, the | ||||
| 	// value MUST be set to `unknown_service`. | ||||
| 	ServiceNameKey = attribute.Key("service.name") | ||||
| 	// A namespace for `service.name`. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'Shop' | ||||
| 	// Note: A string value having a meaning that helps to distinguish a group of | ||||
| 	// services, for example the team name that owns a group of services. | ||||
| 	// `service.name` is expected to be unique within the same namespace. If | ||||
| 	// `service.namespace` is not specified in the Resource then `service.name` is | ||||
| 	// expected to be unique for all services that have no explicit namespace defined | ||||
| 	// (so the empty/unspecified namespace is simply one more valid namespace). Zero- | ||||
| 	// length namespace string is assumed equal to unspecified namespace. | ||||
| 	ServiceNamespaceKey = attribute.Key("service.namespace") | ||||
| 	// The string ID of the service instance. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '627cc493-f310-47de-96bd-71410b7dec09' | ||||
| 	// Note: MUST be unique for each instance of the same | ||||
| 	// `service.namespace,service.name` pair (in other words | ||||
| 	// `service.namespace,service.name,service.instance.id` triplet MUST be globally | ||||
| 	// unique). The ID helps to distinguish instances of the same service that exist | ||||
| 	// at the same time (e.g. instances of a horizontally scaled service). It is | ||||
| 	// preferable for the ID to be persistent and stay the same for the lifetime of | ||||
| 	// the service instance, however it is acceptable that the ID is ephemeral and | ||||
| 	// changes during important lifetime events for the service (e.g. service | ||||
| 	// restarts). If the service has no inherent unique ID that can be used as the | ||||
| 	// value of this attribute it is recommended to generate a random Version 1 or | ||||
| 	// Version 4 RFC 4122 UUID (services aiming for reproducible UUIDs may also use | ||||
| 	// Version 5, see RFC 4122 for more recommendations). | ||||
| 	ServiceInstanceIDKey = attribute.Key("service.instance.id") | ||||
| 	// The version string of the service API or implementation. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '2.0.0' | ||||
| 	ServiceVersionKey = attribute.Key("service.version") | ||||
| ) | ||||
|  | ||||
| // The telemetry SDK used to capture data recorded by the instrumentation libraries. | ||||
| const ( | ||||
| 	// The name of the telemetry SDK as defined above. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'opentelemetry' | ||||
| 	TelemetrySDKNameKey = attribute.Key("telemetry.sdk.name") | ||||
| 	// The language of the telemetry SDK. | ||||
| 	// | ||||
| 	// Type: Enum | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	TelemetrySDKLanguageKey = attribute.Key("telemetry.sdk.language") | ||||
| 	// The version string of the telemetry SDK. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '1.2.3' | ||||
| 	TelemetrySDKVersionKey = attribute.Key("telemetry.sdk.version") | ||||
| 	// The version string of the auto instrumentation agent, if used. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '1.2.3' | ||||
| 	TelemetryAutoVersionKey = attribute.Key("telemetry.auto.version") | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	// cpp | ||||
| 	TelemetrySDKLanguageCPP = TelemetrySDKLanguageKey.String("cpp") | ||||
| 	// dotnet | ||||
| 	TelemetrySDKLanguageDotnet = TelemetrySDKLanguageKey.String("dotnet") | ||||
| 	// erlang | ||||
| 	TelemetrySDKLanguageErlang = TelemetrySDKLanguageKey.String("erlang") | ||||
| 	// go | ||||
| 	TelemetrySDKLanguageGo = TelemetrySDKLanguageKey.String("go") | ||||
| 	// java | ||||
| 	TelemetrySDKLanguageJava = TelemetrySDKLanguageKey.String("java") | ||||
| 	// nodejs | ||||
| 	TelemetrySDKLanguageNodejs = TelemetrySDKLanguageKey.String("nodejs") | ||||
| 	// php | ||||
| 	TelemetrySDKLanguagePHP = TelemetrySDKLanguageKey.String("php") | ||||
| 	// python | ||||
| 	TelemetrySDKLanguagePython = TelemetrySDKLanguageKey.String("python") | ||||
| 	// ruby | ||||
| 	TelemetrySDKLanguageRuby = TelemetrySDKLanguageKey.String("ruby") | ||||
| 	// webjs | ||||
| 	TelemetrySDKLanguageWebjs = TelemetrySDKLanguageKey.String("webjs") | ||||
| 	// swift | ||||
| 	TelemetrySDKLanguageSwift = TelemetrySDKLanguageKey.String("swift") | ||||
| ) | ||||
|  | ||||
| // Resource describing the packaged software running the application code. Web engines are typically executed using process.runtime. | ||||
| const ( | ||||
| 	// The name of the web engine. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: Always | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'WildFly' | ||||
| 	WebEngineNameKey = attribute.Key("webengine.name") | ||||
| 	// The version of the web engine. | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: '21.0.0' | ||||
| 	WebEngineVersionKey = attribute.Key("webengine.version") | ||||
| 	// Additional description of the web engine (e.g. detailed version and edition | ||||
| 	// information). | ||||
| 	// | ||||
| 	// Type: string | ||||
| 	// Required: No | ||||
| 	// Stability: stable | ||||
| 	// Examples: 'WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final' | ||||
| 	WebEngineDescriptionKey = attribute.Key("webengine.description") | ||||
| ) | ||||
							
								
								
									
										20
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/schema.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/schema.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,20 +0,0 @@ | ||||
| // Copyright The OpenTelemetry Authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| package semconv // import "go.opentelemetry.io/otel/semconv/v1.10.0" | ||||
|  | ||||
| // SchemaURL is the schema URL that matches the version of the semantic conventions | ||||
| // that this package defines. Semconv packages starting from v1.4.0 must declare | ||||
| // non-empty schema URL in the form https://opentelemetry.io/schemas/<version> | ||||
| const SchemaURL = "https://opentelemetry.io/schemas/1.10.0" | ||||
							
								
								
									
										1700
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/trace.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1700
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.10.0/trace.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										5
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							| @@ -430,8 +430,8 @@ go.opencensus.io/internal | ||||
| go.opencensus.io/trace | ||||
| go.opencensus.io/trace/internal | ||||
| go.opencensus.io/trace/tracestate | ||||
| # go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.32.0 | ||||
| ## explicit; go 1.16 | ||||
| # go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 | ||||
| ## explicit; go 1.18 | ||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc | ||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/internal | ||||
| # go.opentelemetry.io/otel v1.11.1 | ||||
| @@ -448,7 +448,6 @@ go.opentelemetry.io/otel/internal/baggage | ||||
| go.opentelemetry.io/otel/internal/global | ||||
| go.opentelemetry.io/otel/propagation | ||||
| go.opentelemetry.io/otel/semconv/internal | ||||
| go.opentelemetry.io/otel/semconv/v1.10.0 | ||||
| go.opentelemetry.io/otel/semconv/v1.12.0 | ||||
| # go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.1 | ||||
| ## explicit; go 1.18 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Estes
					Phil Estes