Bump OpenTelemetry contrib to v0.36.4
Signed-off-by: Luca Comellini <luca.com@gmail.com>
This commit is contained in:
parent
135af6d9ab
commit
bd66f588bf
2
go.mod
2
go.mod
@ -56,7 +56,7 @@ require (
|
|||||||
github.com/urfave/cli v1.22.9
|
github.com/urfave/cli v1.22.9
|
||||||
github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5
|
github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5
|
||||||
go.etcd.io/bbolt v1.3.6
|
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 v1.11.1
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.1
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.1
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc 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-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-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-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/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-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
|
||||||
github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo=
|
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.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.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.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/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.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||||
github.com/evanphx/json-patch v4.11.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.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.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.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 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
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=
|
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 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.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.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.36.4 h1:PRXhsszxTt5bbPriTjmaweWUsAnJYeWBhUMLRetUgBU=
|
||||||
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/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 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.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 h1:4WLLAmcfkmDk2ukNXJyq3/kiz/3UzCaYq6PskJsaou4=
|
||||||
go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE=
|
go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE=
|
||||||
go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM=
|
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/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 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.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 h1:ofxdnzsNrGBYXbP7t7zpUK281+go5rF7dvdIZXF8gdQ=
|
||||||
go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4vbPHFGkTPtOk=
|
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=
|
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.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.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.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 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY=
|
||||||
google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
|
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=
|
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.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 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.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/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 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 h1:4WLLAmcfkmDk2ukNXJyq3/kiz/3UzCaYq6PskJsaou4=
|
||||||
go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE=
|
go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE=
|
||||||
go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM=
|
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/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/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 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 h1:ofxdnzsNrGBYXbP7t7zpUK281+go5rF7dvdIZXF8gdQ=
|
||||||
go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4vbPHFGkTPtOk=
|
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=
|
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")
|
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.
|
// config is a group of options for this instrumentation.
|
||||||
type config struct {
|
type config struct {
|
||||||
|
Filter Filter
|
||||||
Propagators propagation.TextMapPropagator
|
Propagators propagation.TextMapPropagator
|
||||||
TracerProvider trace.TracerProvider
|
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
|
// WithTracerProvider returns an Option to use the TracerProvider when
|
||||||
// creating a Tracer.
|
// creating a Tracer.
|
||||||
func WithTracerProvider(tp trace.TracerProvider) Option {
|
func WithTracerProvider(tp trace.TracerProvider) Option {
|
||||||
@ -88,7 +109,7 @@ type metadataSupplier struct {
|
|||||||
metadata *metadata.MD
|
metadata *metadata.MD
|
||||||
}
|
}
|
||||||
|
|
||||||
// assert that metadataSupplier implements the TextMapCarrier interface
|
// assert that metadataSupplier implements the TextMapCarrier interface.
|
||||||
var _ propagation.TextMapCarrier = &metadataSupplier{}
|
var _ propagation.TextMapCarrier = &metadataSupplier{}
|
||||||
|
|
||||||
func (s *metadataSupplier) Get(key string) string {
|
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
|
// Inject injects correlation context and span context into the gRPC
|
||||||
// metadata object. This function is meant to be used on outgoing
|
// metadata object. This function is meant to be used on outgoing
|
||||||
// requests.
|
// 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 := newConfig(opts)
|
||||||
c.Propagators.Inject(ctx, &metadataSupplier{
|
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
|
// Extract returns the correlation context and span context that
|
||||||
// another service encoded in the gRPC metadata object with Inject.
|
// another service encoded in the gRPC metadata object with Inject.
|
||||||
// This function is meant to be used on incoming requests.
|
// 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)
|
c := newConfig(opts)
|
||||||
ctx = c.Propagators.Extract(ctx, &metadataSupplier{
|
ctx = c.Propagators.Extract(ctx, &metadataSupplier{
|
||||||
metadata: metadata,
|
metadata: md,
|
||||||
})
|
})
|
||||||
|
|
||||||
return baggage.FromContext(ctx), trace.SpanContextFromContext(ctx)
|
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"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
|
|
||||||
"github.com/golang/protobuf/proto" // nolint:staticcheck
|
|
||||||
|
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
grpc_codes "google.golang.org/grpc/codes"
|
grpc_codes "google.golang.org/grpc/codes"
|
||||||
"google.golang.org/grpc/metadata"
|
"google.golang.org/grpc/metadata"
|
||||||
"google.golang.org/grpc/peer"
|
"google.golang.org/grpc/peer"
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
|
"google.golang.org/protobuf/proto"
|
||||||
|
|
||||||
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/internal"
|
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/internal"
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
"go.opentelemetry.io/otel/baggage"
|
|
||||||
"go.opentelemetry.io/otel/codes"
|
"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"
|
"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).
|
// passed context with id and size (if message is a proto message).
|
||||||
func (m messageType) Event(ctx context.Context, id int, message interface{}) {
|
func (m messageType) Event(ctx context.Context, id int, message interface{}) {
|
||||||
span := trace.SpanFromContext(ctx)
|
span := trace.SpanFromContext(ctx)
|
||||||
|
if !span.IsRecording() {
|
||||||
|
return
|
||||||
|
}
|
||||||
if p, ok := message.(proto.Message); ok {
|
if p, ok := message.(proto.Message); ok {
|
||||||
span.AddEvent("message", trace.WithAttributes(
|
span.AddEvent("message", trace.WithAttributes(
|
||||||
attribute.KeyValue(m),
|
attribute.KeyValue(m),
|
||||||
@ -65,6 +66,12 @@ var (
|
|||||||
// UnaryClientInterceptor returns a grpc.UnaryClientInterceptor suitable
|
// UnaryClientInterceptor returns a grpc.UnaryClientInterceptor suitable
|
||||||
// for use in a grpc.Dial call.
|
// for use in a grpc.Dial call.
|
||||||
func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor {
|
func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor {
|
||||||
|
cfg := newConfig(opts)
|
||||||
|
tracer := cfg.TracerProvider.Tracer(
|
||||||
|
instrumentationName,
|
||||||
|
trace.WithInstrumentationVersion(SemVersion()),
|
||||||
|
)
|
||||||
|
|
||||||
return func(
|
return func(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
method string,
|
method string,
|
||||||
@ -73,13 +80,13 @@ func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor {
|
|||||||
invoker grpc.UnaryInvoker,
|
invoker grpc.UnaryInvoker,
|
||||||
callOpts ...grpc.CallOption,
|
callOpts ...grpc.CallOption,
|
||||||
) error {
|
) error {
|
||||||
requestMetadata, _ := metadata.FromOutgoingContext(ctx)
|
i := &InterceptorInfo{
|
||||||
metadataCopy := requestMetadata.Copy()
|
Method: method,
|
||||||
|
Type: UnaryClient,
|
||||||
tracer := newConfig(opts).TracerProvider.Tracer(
|
}
|
||||||
instrumentationName,
|
if cfg.Filter != nil && !cfg.Filter(i) {
|
||||||
trace.WithInstrumentationVersion(SemVersion()),
|
return invoker(ctx, method, req, reply, cc, callOpts...)
|
||||||
)
|
}
|
||||||
|
|
||||||
name, attr := spanInfo(method, cc.Target())
|
name, attr := spanInfo(method, cc.Target())
|
||||||
var span trace.Span
|
var span trace.Span
|
||||||
@ -91,8 +98,7 @@ func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor {
|
|||||||
)
|
)
|
||||||
defer span.End()
|
defer span.End()
|
||||||
|
|
||||||
Inject(ctx, &metadataCopy, opts...)
|
ctx = inject(ctx, cfg.Propagators)
|
||||||
ctx = metadata.NewOutgoingContext(ctx, metadataCopy)
|
|
||||||
|
|
||||||
messageSent.Event(ctx, 1, req)
|
messageSent.Event(ctx, 1, req)
|
||||||
|
|
||||||
@ -235,6 +241,12 @@ func (w *clientStream) sendStreamEvent(eventType streamEventType, err error) {
|
|||||||
// StreamClientInterceptor returns a grpc.StreamClientInterceptor suitable
|
// StreamClientInterceptor returns a grpc.StreamClientInterceptor suitable
|
||||||
// for use in a grpc.Dial call.
|
// for use in a grpc.Dial call.
|
||||||
func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor {
|
func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor {
|
||||||
|
cfg := newConfig(opts)
|
||||||
|
tracer := cfg.TracerProvider.Tracer(
|
||||||
|
instrumentationName,
|
||||||
|
trace.WithInstrumentationVersion(SemVersion()),
|
||||||
|
)
|
||||||
|
|
||||||
return func(
|
return func(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
desc *grpc.StreamDesc,
|
desc *grpc.StreamDesc,
|
||||||
@ -243,13 +255,13 @@ func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor {
|
|||||||
streamer grpc.Streamer,
|
streamer grpc.Streamer,
|
||||||
callOpts ...grpc.CallOption,
|
callOpts ...grpc.CallOption,
|
||||||
) (grpc.ClientStream, error) {
|
) (grpc.ClientStream, error) {
|
||||||
requestMetadata, _ := metadata.FromOutgoingContext(ctx)
|
i := &InterceptorInfo{
|
||||||
metadataCopy := requestMetadata.Copy()
|
Method: method,
|
||||||
|
Type: StreamClient,
|
||||||
tracer := newConfig(opts).TracerProvider.Tracer(
|
}
|
||||||
instrumentationName,
|
if cfg.Filter != nil && !cfg.Filter(i) {
|
||||||
trace.WithInstrumentationVersion(SemVersion()),
|
return streamer(ctx, desc, cc, method, callOpts...)
|
||||||
)
|
}
|
||||||
|
|
||||||
name, attr := spanInfo(method, cc.Target())
|
name, attr := spanInfo(method, cc.Target())
|
||||||
var span trace.Span
|
var span trace.Span
|
||||||
@ -260,8 +272,7 @@ func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor {
|
|||||||
trace.WithAttributes(attr...),
|
trace.WithAttributes(attr...),
|
||||||
)
|
)
|
||||||
|
|
||||||
Inject(ctx, &metadataCopy, opts...)
|
ctx = inject(ctx, cfg.Propagators)
|
||||||
ctx = metadata.NewOutgoingContext(ctx, metadataCopy)
|
|
||||||
|
|
||||||
s, err := streamer(ctx, desc, cc, method, callOpts...)
|
s, err := streamer(ctx, desc, cc, method, callOpts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -294,26 +305,31 @@ func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor {
|
|||||||
// UnaryServerInterceptor returns a grpc.UnaryServerInterceptor suitable
|
// UnaryServerInterceptor returns a grpc.UnaryServerInterceptor suitable
|
||||||
// for use in a grpc.NewServer call.
|
// for use in a grpc.NewServer call.
|
||||||
func UnaryServerInterceptor(opts ...Option) grpc.UnaryServerInterceptor {
|
func UnaryServerInterceptor(opts ...Option) grpc.UnaryServerInterceptor {
|
||||||
|
cfg := newConfig(opts)
|
||||||
|
tracer := cfg.TracerProvider.Tracer(
|
||||||
|
instrumentationName,
|
||||||
|
trace.WithInstrumentationVersion(SemVersion()),
|
||||||
|
)
|
||||||
|
|
||||||
return func(
|
return func(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
req interface{},
|
req interface{},
|
||||||
info *grpc.UnaryServerInfo,
|
info *grpc.UnaryServerInfo,
|
||||||
handler grpc.UnaryHandler,
|
handler grpc.UnaryHandler,
|
||||||
) (interface{}, error) {
|
) (interface{}, error) {
|
||||||
requestMetadata, _ := metadata.FromIncomingContext(ctx)
|
i := &InterceptorInfo{
|
||||||
metadataCopy := requestMetadata.Copy()
|
UnaryServerInfo: info,
|
||||||
|
Type: UnaryServer,
|
||||||
|
}
|
||||||
|
if cfg.Filter != nil && !cfg.Filter(i) {
|
||||||
|
return handler(ctx, req)
|
||||||
|
}
|
||||||
|
|
||||||
bags, spanCtx := Extract(ctx, &metadataCopy, opts...)
|
ctx = extract(ctx, cfg.Propagators)
|
||||||
ctx = baggage.ContextWithBaggage(ctx, bags)
|
|
||||||
|
|
||||||
tracer := newConfig(opts).TracerProvider.Tracer(
|
|
||||||
instrumentationName,
|
|
||||||
trace.WithInstrumentationVersion(SemVersion()),
|
|
||||||
)
|
|
||||||
|
|
||||||
name, attr := spanInfo(info.FullMethod, peerFromCtx(ctx))
|
name, attr := spanInfo(info.FullMethod, peerFromCtx(ctx))
|
||||||
ctx, span := tracer.Start(
|
ctx, span := tracer.Start(
|
||||||
trace.ContextWithRemoteSpanContext(ctx, spanCtx),
|
trace.ContextWithRemoteSpanContext(ctx, trace.SpanContextFromContext(ctx)),
|
||||||
name,
|
name,
|
||||||
trace.WithSpanKind(trace.SpanKindServer),
|
trace.WithSpanKind(trace.SpanKindServer),
|
||||||
trace.WithAttributes(attr...),
|
trace.WithAttributes(attr...),
|
||||||
@ -381,6 +397,12 @@ func wrapServerStream(ctx context.Context, ss grpc.ServerStream) *serverStream {
|
|||||||
// StreamServerInterceptor returns a grpc.StreamServerInterceptor suitable
|
// StreamServerInterceptor returns a grpc.StreamServerInterceptor suitable
|
||||||
// for use in a grpc.NewServer call.
|
// for use in a grpc.NewServer call.
|
||||||
func StreamServerInterceptor(opts ...Option) grpc.StreamServerInterceptor {
|
func StreamServerInterceptor(opts ...Option) grpc.StreamServerInterceptor {
|
||||||
|
cfg := newConfig(opts)
|
||||||
|
tracer := cfg.TracerProvider.Tracer(
|
||||||
|
instrumentationName,
|
||||||
|
trace.WithInstrumentationVersion(SemVersion()),
|
||||||
|
)
|
||||||
|
|
||||||
return func(
|
return func(
|
||||||
srv interface{},
|
srv interface{},
|
||||||
ss grpc.ServerStream,
|
ss grpc.ServerStream,
|
||||||
@ -388,21 +410,19 @@ func StreamServerInterceptor(opts ...Option) grpc.StreamServerInterceptor {
|
|||||||
handler grpc.StreamHandler,
|
handler grpc.StreamHandler,
|
||||||
) error {
|
) error {
|
||||||
ctx := ss.Context()
|
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)
|
ctx = extract(ctx, cfg.Propagators)
|
||||||
metadataCopy := requestMetadata.Copy()
|
|
||||||
|
|
||||||
bags, spanCtx := Extract(ctx, &metadataCopy, opts...)
|
|
||||||
ctx = baggage.ContextWithBaggage(ctx, bags)
|
|
||||||
|
|
||||||
tracer := newConfig(opts).TracerProvider.Tracer(
|
|
||||||
instrumentationName,
|
|
||||||
trace.WithInstrumentationVersion(SemVersion()),
|
|
||||||
)
|
|
||||||
|
|
||||||
name, attr := spanInfo(info.FullMethod, peerFromCtx(ctx))
|
name, attr := spanInfo(info.FullMethod, peerFromCtx(ctx))
|
||||||
ctx, span := tracer.Start(
|
ctx, span := tracer.Start(
|
||||||
trace.ContextWithRemoteSpanContext(ctx, spanCtx),
|
trace.ContextWithRemoteSpanContext(ctx, trace.SpanContextFromContext(ctx)),
|
||||||
name,
|
name,
|
||||||
trace.WithSpanKind(trace.SpanKindServer),
|
trace.WithSpanKind(trace.SpanKindServer),
|
||||||
trace.WithAttributes(attr...),
|
trace.WithAttributes(attr...),
|
||||||
@ -459,7 +479,7 @@ func peerFromCtx(ctx context.Context) string {
|
|||||||
return p.Addr.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 {
|
func statusCodeAttr(c grpc_codes.Code) attribute.KeyValue {
|
||||||
return GRPCStatusCodeKey.Int64(int64(c))
|
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"
|
"strings"
|
||||||
|
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"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
|
// ParseFullMethod returns a span name following the OpenTelemetry semantic
|
||||||
|
@ -16,7 +16,7 @@ package otelgrpc // import "go.opentelemetry.io/contrib/instrumentation/google.g
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"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.
|
// 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.
|
// Version is the current release version of the gRPC instrumentation.
|
||||||
func Version() string {
|
func Version() string {
|
||||||
return "0.32.0"
|
return "0.36.4"
|
||||||
// This string is updated by the pre_release.sh script during release
|
// 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
|
||||||
go.opencensus.io/trace/internal
|
go.opencensus.io/trace/internal
|
||||||
go.opencensus.io/trace/tracestate
|
go.opencensus.io/trace/tracestate
|
||||||
# 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
|
||||||
## explicit; go 1.16
|
## explicit; go 1.18
|
||||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
|
||||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/internal
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/internal
|
||||||
# go.opentelemetry.io/otel v1.11.1
|
# 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/internal/global
|
||||||
go.opentelemetry.io/otel/propagation
|
go.opentelemetry.io/otel/propagation
|
||||||
go.opentelemetry.io/otel/semconv/internal
|
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/semconv/v1.12.0
|
||||||
# go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.1
|
# go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.1
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
|
Loading…
Reference in New Issue
Block a user