mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-02 20:02:25 -06:00 
			
		
		
		
	[chore] update otel -> v1.20.0 (#2358)
This commit is contained in:
		
					parent
					
						
							
								deaea100c3
							
						
					
				
			
			
				commit
				
					
						7753f42132
					
				
			
		
					 422 changed files with 1814 additions and 6590 deletions
				
			
		
							
								
								
									
										24
									
								
								go.mod
									
										
									
									
									
								
							
							
						
						
									
										24
									
								
								go.mod
									
										
									
									
									
								
							| 
						 | 
					@ -55,11 +55,11 @@ require (
 | 
				
			||||||
	github.com/uptrace/bun/extra/bunotel v1.1.16
 | 
						github.com/uptrace/bun/extra/bunotel v1.1.16
 | 
				
			||||||
	github.com/wagslane/go-password-validator v0.3.0
 | 
						github.com/wagslane/go-password-validator v0.3.0
 | 
				
			||||||
	github.com/yuin/goldmark v1.6.0
 | 
						github.com/yuin/goldmark v1.6.0
 | 
				
			||||||
	go.opentelemetry.io/otel v1.19.0
 | 
						go.opentelemetry.io/otel v1.20.0
 | 
				
			||||||
	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0
 | 
						go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0
 | 
				
			||||||
	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0
 | 
						go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.20.0
 | 
				
			||||||
	go.opentelemetry.io/otel/sdk v1.19.0
 | 
						go.opentelemetry.io/otel/sdk v1.20.0
 | 
				
			||||||
	go.opentelemetry.io/otel/trace v1.19.0
 | 
						go.opentelemetry.io/otel/trace v1.20.0
 | 
				
			||||||
	go.uber.org/automaxprocs v1.5.3
 | 
						go.uber.org/automaxprocs v1.5.3
 | 
				
			||||||
	golang.org/x/crypto v0.14.0
 | 
						golang.org/x/crypto v0.14.0
 | 
				
			||||||
	golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1
 | 
						golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1
 | 
				
			||||||
| 
						 | 
					@ -102,7 +102,7 @@ require (
 | 
				
			||||||
	github.com/gin-contrib/sse v0.1.0 // indirect
 | 
						github.com/gin-contrib/sse v0.1.0 // indirect
 | 
				
			||||||
	github.com/go-errors/errors v1.4.1 // indirect
 | 
						github.com/go-errors/errors v1.4.1 // indirect
 | 
				
			||||||
	github.com/go-jose/go-jose/v3 v3.0.0 // indirect
 | 
						github.com/go-jose/go-jose/v3 v3.0.0 // indirect
 | 
				
			||||||
	github.com/go-logr/logr v1.2.4 // indirect
 | 
						github.com/go-logr/logr v1.3.0 // indirect
 | 
				
			||||||
	github.com/go-logr/stdr v1.2.2 // indirect
 | 
						github.com/go-logr/stdr v1.2.2 // indirect
 | 
				
			||||||
	github.com/go-playground/locales v0.14.1 // indirect
 | 
						github.com/go-playground/locales v0.14.1 // indirect
 | 
				
			||||||
	github.com/go-playground/universal-translator v0.18.1 // indirect
 | 
						github.com/go-playground/universal-translator v0.18.1 // indirect
 | 
				
			||||||
| 
						 | 
					@ -156,18 +156,18 @@ require (
 | 
				
			||||||
	github.com/uptrace/opentelemetry-go-extra/otelsql v0.2.2 // indirect
 | 
						github.com/uptrace/opentelemetry-go-extra/otelsql v0.2.2 // indirect
 | 
				
			||||||
	github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect
 | 
						github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect
 | 
				
			||||||
	github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
 | 
						github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
 | 
				
			||||||
	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 // indirect
 | 
						go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.20.0 // indirect
 | 
				
			||||||
	go.opentelemetry.io/otel/metric v1.19.0 // indirect
 | 
						go.opentelemetry.io/otel/metric v1.20.0 // indirect
 | 
				
			||||||
	go.opentelemetry.io/proto/otlp v1.0.0 // indirect
 | 
						go.opentelemetry.io/proto/otlp v1.0.0 // indirect
 | 
				
			||||||
	golang.org/x/arch v0.3.0 // indirect
 | 
						golang.org/x/arch v0.3.0 // indirect
 | 
				
			||||||
	golang.org/x/mod v0.12.0 // indirect
 | 
						golang.org/x/mod v0.12.0 // indirect
 | 
				
			||||||
	golang.org/x/sync v0.3.0 // indirect
 | 
						golang.org/x/sync v0.3.0 // indirect
 | 
				
			||||||
	golang.org/x/sys v0.13.0 // indirect
 | 
						golang.org/x/sys v0.14.0 // indirect
 | 
				
			||||||
	golang.org/x/tools v0.13.0 // indirect
 | 
						golang.org/x/tools v0.13.0 // indirect
 | 
				
			||||||
	google.golang.org/appengine v1.6.8 // indirect
 | 
						google.golang.org/appengine v1.6.8 // indirect
 | 
				
			||||||
	google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect
 | 
						google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect
 | 
				
			||||||
	google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
 | 
						google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
 | 
				
			||||||
	google.golang.org/grpc v1.58.3 // indirect
 | 
						google.golang.org/grpc v1.59.0 // indirect
 | 
				
			||||||
	google.golang.org/protobuf v1.31.0 // indirect
 | 
						google.golang.org/protobuf v1.31.0 // indirect
 | 
				
			||||||
	gopkg.in/ini.v1 v1.67.0 // indirect
 | 
						gopkg.in/ini.v1 v1.67.0 // indirect
 | 
				
			||||||
	gopkg.in/yaml.v2 v2.4.0 // indirect
 | 
						gopkg.in/yaml.v2 v2.4.0 // indirect
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										64
									
								
								go.sum
									
										
									
									
									
								
							
							
						
						
									
										64
									
								
								go.sum
									
										
									
									
									
								
							| 
						 | 
					@ -196,8 +196,8 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2
 | 
				
			||||||
github.com/go-jose/go-jose/v3 v3.0.0 h1:s6rrhirfEP/CGIoc6p+PZAeogN2SxKav6Wp7+dyMWVo=
 | 
					github.com/go-jose/go-jose/v3 v3.0.0 h1:s6rrhirfEP/CGIoc6p+PZAeogN2SxKav6Wp7+dyMWVo=
 | 
				
			||||||
github.com/go-jose/go-jose/v3 v3.0.0/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8=
 | 
					github.com/go-jose/go-jose/v3 v3.0.0/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8=
 | 
				
			||||||
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 | 
					github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 | 
				
			||||||
github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
 | 
					github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
 | 
				
			||||||
github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 | 
					github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
 | 
				
			||||||
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
 | 
					github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
 | 
				
			||||||
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
 | 
					github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
 | 
				
			||||||
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
 | 
					github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
 | 
				
			||||||
| 
						 | 
					@ -232,8 +232,8 @@ github.com/golang/geo v0.0.0-20200319012246-673a6f80352d/go.mod h1:QZ0nwyI2jOfgR
 | 
				
			||||||
github.com/golang/geo v0.0.0-20210211234256-740aa86cb551 h1:gtexQ/VGyN+VVFRXSFiguSNcXmS6rkKT+X7FdIrTtfo=
 | 
					github.com/golang/geo v0.0.0-20210211234256-740aa86cb551 h1:gtexQ/VGyN+VVFRXSFiguSNcXmS6rkKT+X7FdIrTtfo=
 | 
				
			||||||
github.com/golang/geo v0.0.0-20210211234256-740aa86cb551/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI=
 | 
					github.com/golang/geo v0.0.0-20210211234256-740aa86cb551/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI=
 | 
				
			||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
 | 
					github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
 | 
				
			||||||
github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE=
 | 
					github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo=
 | 
				
			||||||
github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
 | 
					github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ=
 | 
				
			||||||
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 | 
					github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 | 
				
			||||||
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 | 
					github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 | 
				
			||||||
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 | 
					github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 | 
				
			||||||
| 
						 | 
					@ -278,8 +278,8 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 | 
				
			||||||
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 | 
					github.com/google/go-cmp v0.5.2/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.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.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
 | 
					github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
 | 
				
			||||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 | 
					github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 | 
				
			||||||
github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
 | 
					github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
 | 
				
			||||||
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
 | 
					github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
 | 
				
			||||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 | 
					github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 | 
				
			||||||
| 
						 | 
					@ -579,26 +579,26 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 | 
				
			||||||
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 | 
					go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 | 
				
			||||||
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 | 
					go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 | 
				
			||||||
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 | 
					go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 | 
				
			||||||
go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
 | 
					go.opentelemetry.io/otel v1.20.0 h1:vsb/ggIY+hUjD/zCAQHpzTmndPqv/ml2ArbsbfBYTAc=
 | 
				
			||||||
go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
 | 
					go.opentelemetry.io/otel v1.20.0/go.mod h1:oUIGj3D77RwJdM6PPZImDpSZGDvkD9fhesHny69JFrs=
 | 
				
			||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U=
 | 
					go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.20.0 h1:DeFD0VgTZ+Cj6hxravYYZE2W4GlneVH81iAOPjZkzk8=
 | 
				
			||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE=
 | 
					go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.20.0/go.mod h1:GijYcYmNpX1KazD5JmWGsi4P7dDTTTnfv1UbGn84MnU=
 | 
				
			||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 h1:3d+S281UTjM+AbF31XSOYn1qXn3BgIdWl8HNEpx08Jk=
 | 
					go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0 h1:gvmNvqrPYovvyRmCSygkUDyL8lC5Tl845MLEwqpxhEU=
 | 
				
			||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0/go.mod h1:0+KuTDyKL4gjKCF75pHOX4wuzYDUZYfAQdSu43o+Z2I=
 | 
					go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0/go.mod h1:vNUq47TGFioo+ffTSnKNdob241vePmtNZnAODKapKd0=
 | 
				
			||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 h1:IeMeyr1aBvBiPVYihXIaeIZba6b8E1bYp7lbdxK8CQg=
 | 
					go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.20.0 h1:CsBiKCiQPdSjS+MlRiqeTI9JDDpSuk0Hb6QTRfwer8k=
 | 
				
			||||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0/go.mod h1:oVdCUtjq9MK9BlS7TtucsQwUcXcymNiEDjgDD2jMtZU=
 | 
					go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.20.0/go.mod h1:CMJYNAfooOwSZSAmAeMUV1M+TXld3BiK++z9fqIm2xk=
 | 
				
			||||||
go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE=
 | 
					go.opentelemetry.io/otel/metric v1.20.0 h1:ZlrO8Hu9+GAhnepmRGhSU7/VkpjrNowxRN9GyKR4wzA=
 | 
				
			||||||
go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8=
 | 
					go.opentelemetry.io/otel/metric v1.20.0/go.mod h1:90DRw3nfK4D7Sm/75yQ00gTJxtkBxX+wu6YaNymbpVM=
 | 
				
			||||||
go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o=
 | 
					go.opentelemetry.io/otel/sdk v1.20.0 h1:5Jf6imeFZlZtKv9Qbo6qt2ZkmWtdWx/wzcCbNUlAWGM=
 | 
				
			||||||
go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A=
 | 
					go.opentelemetry.io/otel/sdk v1.20.0/go.mod h1:rmkSx1cZCm/tn16iWDn1GQbLtsW/LvsdEEFzCSRM6V0=
 | 
				
			||||||
go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
 | 
					go.opentelemetry.io/otel/trace v1.20.0 h1:+yxVAPZPbQhbC3OfAkeIVTky6iTFpcr4SiY9om7mXSQ=
 | 
				
			||||||
go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
 | 
					go.opentelemetry.io/otel/trace v1.20.0/go.mod h1:HJSK7F/hA5RlzpZ0zKDCHCDHm556LCDtKaAo6JmBFUU=
 | 
				
			||||||
go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
 | 
					go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
 | 
				
			||||||
go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
 | 
					go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
 | 
				
			||||||
go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8=
 | 
					go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8=
 | 
				
			||||||
go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0=
 | 
					go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0=
 | 
				
			||||||
go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A=
 | 
					go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
 | 
				
			||||||
go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4=
 | 
					go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
 | 
				
			||||||
golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
 | 
					golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
 | 
				
			||||||
golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k=
 | 
					golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k=
 | 
				
			||||||
golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
 | 
					golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
 | 
				
			||||||
| 
						 | 
					@ -766,8 +766,8 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc
 | 
				
			||||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
					golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
					golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
					golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
 | 
					golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=
 | 
				
			||||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
					golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 | 
				
			||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 | 
					golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 | 
				
			||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 | 
					golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 | 
				
			||||||
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
 | 
					golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
 | 
				
			||||||
| 
						 | 
					@ -905,12 +905,12 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D
 | 
				
			||||||
google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 | 
					google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 | 
				
			||||||
google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 | 
					google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 | 
				
			||||||
google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 | 
					google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 | 
				
			||||||
google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g=
 | 
					google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY=
 | 
				
			||||||
google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0=
 | 
					google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
 | 
				
			||||||
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 h1:FmF5cCW94Ij59cfpoLiwTgodWmm60eEV0CjlsVg2fuw=
 | 
					google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q=
 | 
				
			||||||
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
 | 
					google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
 | 
				
			||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U=
 | 
					google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4=
 | 
				
			||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
 | 
					google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
 | 
				
			||||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 | 
					google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 | 
				
			||||||
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 | 
					google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 | 
				
			||||||
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
 | 
					google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
 | 
				
			||||||
| 
						 | 
					@ -927,8 +927,8 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM
 | 
				
			||||||
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
 | 
					google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
 | 
				
			||||||
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
 | 
					google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
 | 
				
			||||||
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
 | 
					google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
 | 
				
			||||||
google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ=
 | 
					google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=
 | 
				
			||||||
google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
 | 
					google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
 | 
				
			||||||
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=
 | 
				
			||||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
 | 
					google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
 | 
				
			||||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
 | 
					google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,8 +34,8 @@ import (
 | 
				
			||||||
	"go.opentelemetry.io/otel/propagation"
 | 
						"go.opentelemetry.io/otel/propagation"
 | 
				
			||||||
	"go.opentelemetry.io/otel/sdk/resource"
 | 
						"go.opentelemetry.io/otel/sdk/resource"
 | 
				
			||||||
	"go.opentelemetry.io/otel/sdk/trace"
 | 
						"go.opentelemetry.io/otel/sdk/trace"
 | 
				
			||||||
	semconv "go.opentelemetry.io/otel/semconv/v1.17.0"
 | 
						semconv "go.opentelemetry.io/otel/semconv/v1.20.0"
 | 
				
			||||||
	"go.opentelemetry.io/otel/semconv/v1.17.0/httpconv"
 | 
						httpconv "go.opentelemetry.io/otel/semconv/v1.20.0/httpconv"
 | 
				
			||||||
	oteltrace "go.opentelemetry.io/otel/trace"
 | 
						oteltrace "go.opentelemetry.io/otel/trace"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/superseriousbusiness/gotosocial/internal/config"
 | 
						"github.com/superseriousbusiness/gotosocial/internal/config"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										113
									
								
								vendor/github.com/go-logr/logr/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										113
									
								
								vendor/github.com/go-logr/logr/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
# A minimal logging API for Go
 | 
					# A minimal logging API for Go
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[](https://pkg.go.dev/github.com/go-logr/logr)
 | 
					[](https://pkg.go.dev/github.com/go-logr/logr)
 | 
				
			||||||
 | 
					[](https://securityscorecards.dev/viewer/?platform=github.com&org=go-logr&repo=logr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
logr offers an(other) opinion on how Go programs and libraries can do logging
 | 
					logr offers an(other) opinion on how Go programs and libraries can do logging
 | 
				
			||||||
without becoming coupled to a particular logging implementation.  This is not
 | 
					without becoming coupled to a particular logging implementation.  This is not
 | 
				
			||||||
| 
						 | 
					@ -73,6 +74,29 @@ received:
 | 
				
			||||||
If the Go standard library had defined an interface for logging, this project
 | 
					If the Go standard library had defined an interface for logging, this project
 | 
				
			||||||
probably would not be needed.  Alas, here we are.
 | 
					probably would not be needed.  Alas, here we are.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When the Go developers started developing such an interface with
 | 
				
			||||||
 | 
					[slog](https://github.com/golang/go/issues/56345), they adopted some of the
 | 
				
			||||||
 | 
					logr design but also left out some parts and changed others:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					| Feature | logr | slog |
 | 
				
			||||||
 | 
					|---------|------|------|
 | 
				
			||||||
 | 
					| High-level API | `Logger` (passed by value) | `Logger` (passed by [pointer](https://github.com/golang/go/issues/59126)) |
 | 
				
			||||||
 | 
					| Low-level API | `LogSink` | `Handler` |
 | 
				
			||||||
 | 
					| Stack unwinding | done by `LogSink` | done by `Logger` |
 | 
				
			||||||
 | 
					| Skipping helper functions | `WithCallDepth`, `WithCallStackHelper` | [not supported by Logger](https://github.com/golang/go/issues/59145) |
 | 
				
			||||||
 | 
					| Generating a value for logging on demand | `Marshaler` | `LogValuer` |
 | 
				
			||||||
 | 
					| Log levels | >= 0, higher meaning "less important" | positive and negative, with 0 for "info" and higher meaning "more important" |
 | 
				
			||||||
 | 
					| Error log entries | always logged, don't have a verbosity level | normal log entries with level >= `LevelError` |
 | 
				
			||||||
 | 
					| Passing logger via context | `NewContext`, `FromContext` | no API |
 | 
				
			||||||
 | 
					| Adding a name to a logger | `WithName` | no API |
 | 
				
			||||||
 | 
					| Modify verbosity of log entries in a call chain | `V` | no API |
 | 
				
			||||||
 | 
					| Grouping of key/value pairs | not supported | `WithGroup`, `GroupValue` |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The high-level slog API is explicitly meant to be one of many different APIs
 | 
				
			||||||
 | 
					that can be layered on top of a shared `slog.Handler`. logr is one such
 | 
				
			||||||
 | 
					alternative API, with [interoperability](#slog-interoperability) provided by the [`slogr`](slogr)
 | 
				
			||||||
 | 
					package.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Inspiration
 | 
					### Inspiration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Before you consider this package, please read [this blog post by the
 | 
					Before you consider this package, please read [this blog post by the
 | 
				
			||||||
| 
						 | 
					@ -118,6 +142,91 @@ There are implementations for the following logging libraries:
 | 
				
			||||||
- **github.com/go-kit/log**: [gokitlogr](https://github.com/tonglil/gokitlogr) (also compatible with github.com/go-kit/kit/log since v0.12.0)
 | 
					- **github.com/go-kit/log**: [gokitlogr](https://github.com/tonglil/gokitlogr) (also compatible with github.com/go-kit/kit/log since v0.12.0)
 | 
				
			||||||
- **bytes.Buffer** (writing to a buffer): [bufrlogr](https://github.com/tonglil/buflogr) (useful for ensuring values were logged, like during testing)
 | 
					- **bytes.Buffer** (writing to a buffer): [bufrlogr](https://github.com/tonglil/buflogr) (useful for ensuring values were logged, like during testing)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## slog interoperability
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Interoperability goes both ways, using the `logr.Logger` API with a `slog.Handler`
 | 
				
			||||||
 | 
					and using the `slog.Logger` API with a `logr.LogSink`. [slogr](./slogr) provides `NewLogr` and
 | 
				
			||||||
 | 
					`NewSlogHandler` API calls to convert between a `logr.Logger` and a `slog.Handler`.
 | 
				
			||||||
 | 
					As usual, `slog.New` can be used to wrap such a `slog.Handler` in the high-level
 | 
				
			||||||
 | 
					slog API. `slogr` itself leaves that to the caller.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Using a `logr.Sink` as backend for slog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Ideally, a logr sink implementation should support both logr and slog by
 | 
				
			||||||
 | 
					implementing both the normal logr interface(s) and `slogr.SlogSink`.  Because
 | 
				
			||||||
 | 
					of a conflict in the parameters of the common `Enabled` method, it is [not
 | 
				
			||||||
 | 
					possible to implement both slog.Handler and logr.Sink in the same
 | 
				
			||||||
 | 
					type](https://github.com/golang/go/issues/59110).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If both are supported, log calls can go from the high-level APIs to the backend
 | 
				
			||||||
 | 
					without the need to convert parameters. `NewLogr` and `NewSlogHandler` can
 | 
				
			||||||
 | 
					convert back and forth without adding additional wrappers, with one exception:
 | 
				
			||||||
 | 
					when `Logger.V` was used to adjust the verbosity for a `slog.Handler`, then
 | 
				
			||||||
 | 
					`NewSlogHandler` has to use a wrapper which adjusts the verbosity for future
 | 
				
			||||||
 | 
					log calls.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Such an implementation should also support values that implement specific
 | 
				
			||||||
 | 
					interfaces from both packages for logging (`logr.Marshaler`, `slog.LogValuer`,
 | 
				
			||||||
 | 
					`slog.GroupValue`). logr does not convert those.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Not supporting slog has several drawbacks:
 | 
				
			||||||
 | 
					- Recording source code locations works correctly if the handler gets called
 | 
				
			||||||
 | 
					  through `slog.Logger`, but may be wrong in other cases. That's because a
 | 
				
			||||||
 | 
					  `logr.Sink` does its own stack unwinding instead of using the program counter
 | 
				
			||||||
 | 
					  provided by the high-level API.
 | 
				
			||||||
 | 
					- slog levels <= 0 can be mapped to logr levels by negating the level without a
 | 
				
			||||||
 | 
					  loss of information. But all slog levels > 0 (e.g. `slog.LevelWarning` as
 | 
				
			||||||
 | 
					  used by `slog.Logger.Warn`) must be mapped to 0 before calling the sink
 | 
				
			||||||
 | 
					  because logr does not support "more important than info" levels.
 | 
				
			||||||
 | 
					- The slog group concept is supported by prefixing each key in a key/value
 | 
				
			||||||
 | 
					  pair with the group names, separated by a dot. For structured output like
 | 
				
			||||||
 | 
					  JSON it would be better to group the key/value pairs inside an object.
 | 
				
			||||||
 | 
					- Special slog values and interfaces don't work as expected.
 | 
				
			||||||
 | 
					- The overhead is likely to be higher.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					These drawbacks are severe enough that applications using a mixture of slog and
 | 
				
			||||||
 | 
					logr should switch to a different backend.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Using a `slog.Handler` as backend for logr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Using a plain `slog.Handler` without support for logr works better than the
 | 
				
			||||||
 | 
					other direction:
 | 
				
			||||||
 | 
					- All logr verbosity levels can be mapped 1:1 to their corresponding slog level
 | 
				
			||||||
 | 
					  by negating them.
 | 
				
			||||||
 | 
					- Stack unwinding is done by the `slogr.SlogSink` and the resulting program
 | 
				
			||||||
 | 
					  counter is passed to the `slog.Handler`.
 | 
				
			||||||
 | 
					- Names added via `Logger.WithName` are gathered and recorded in an additional
 | 
				
			||||||
 | 
					  attribute with `logger` as key and the names separated by slash as value.
 | 
				
			||||||
 | 
					- `Logger.Error` is turned into a log record with `slog.LevelError` as level
 | 
				
			||||||
 | 
					  and an additional attribute with `err` as key, if an error was provided.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The main drawback is that `logr.Marshaler` will not be supported. Types should
 | 
				
			||||||
 | 
					ideally support both `logr.Marshaler` and `slog.Valuer`. If compatibility
 | 
				
			||||||
 | 
					with logr implementations without slog support is not important, then
 | 
				
			||||||
 | 
					`slog.Valuer` is sufficient.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Context support for slog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Storing a logger in a `context.Context` is not supported by
 | 
				
			||||||
 | 
					slog. `logr.NewContext` and `logr.FromContext` can be used with slog like this
 | 
				
			||||||
 | 
					to fill this gap:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    func HandlerFromContext(ctx context.Context) slog.Handler {
 | 
				
			||||||
 | 
					        logger, err := logr.FromContext(ctx)
 | 
				
			||||||
 | 
					        if err == nil {
 | 
				
			||||||
 | 
					            return slogr.NewSlogHandler(logger)
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        return slog.Default().Handler()
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    func ContextWithHandler(ctx context.Context, handler slog.Handler) context.Context {
 | 
				
			||||||
 | 
					        return logr.NewContext(ctx, slogr.NewLogr(handler))
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The downside is that storing and retrieving a `slog.Handler` needs more
 | 
				
			||||||
 | 
					allocations compared to using a `logr.Logger`. Therefore the recommendation is
 | 
				
			||||||
 | 
					to use the `logr.Logger` API in code which uses contextual logging.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## FAQ
 | 
					## FAQ
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Conceptual
 | 
					### Conceptual
 | 
				
			||||||
| 
						 | 
					@ -241,7 +350,9 @@ Otherwise, you can start out with `0` as "you always want to see this",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Then gradually choose levels in between as you need them, working your way
 | 
					Then gradually choose levels in between as you need them, working your way
 | 
				
			||||||
down from 10 (for debug and trace style logs) and up from 1 (for chattier
 | 
					down from 10 (for debug and trace style logs) and up from 1 (for chattier
 | 
				
			||||||
info-type logs.)
 | 
					info-type logs). For reference, slog pre-defines -4 for debug logs
 | 
				
			||||||
 | 
					(corresponds to 4 in logr), which matches what is
 | 
				
			||||||
 | 
					[recommended for Kubernetes](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/logging.md#what-method-to-use).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### How do I choose my keys?
 | 
					#### How do I choose my keys?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										18
									
								
								vendor/github.com/go-logr/logr/SECURITY.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								vendor/github.com/go-logr/logr/SECURITY.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,18 @@
 | 
				
			||||||
 | 
					# Security Policy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you have discovered a security vulnerability in this project, please report it
 | 
				
			||||||
 | 
					privately. **Do not disclose it as a public issue.** This gives us time to work with you
 | 
				
			||||||
 | 
					to fix the issue before public exposure, reducing the chance that the exploit will be
 | 
				
			||||||
 | 
					used before a patch is released.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You may submit the report in the following ways:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- send an email to go-logr-security@googlegroups.com
 | 
				
			||||||
 | 
					- send us a [private vulnerability report](https://github.com/go-logr/logr/security/advisories/new)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Please provide the following information in your report:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- A description of the vulnerability and its impact
 | 
				
			||||||
 | 
					- How to reproduce the issue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					We ask that you give us 90 days to work on a fix before public exposure.
 | 
				
			||||||
							
								
								
									
										46
									
								
								vendor/github.com/go-logr/logr/funcr/funcr.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										46
									
								
								vendor/github.com/go-logr/logr/funcr/funcr.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -116,17 +116,17 @@ type Options struct {
 | 
				
			||||||
	// Equivalent hooks are offered for key-value pairs saved via
 | 
						// Equivalent hooks are offered for key-value pairs saved via
 | 
				
			||||||
	// logr.Logger.WithValues or Formatter.AddValues (see RenderValuesHook) and
 | 
						// logr.Logger.WithValues or Formatter.AddValues (see RenderValuesHook) and
 | 
				
			||||||
	// for user-provided pairs (see RenderArgsHook).
 | 
						// for user-provided pairs (see RenderArgsHook).
 | 
				
			||||||
	RenderBuiltinsHook func(kvList []interface{}) []interface{}
 | 
						RenderBuiltinsHook func(kvList []any) []any
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// RenderValuesHook is the same as RenderBuiltinsHook, except that it is
 | 
						// RenderValuesHook is the same as RenderBuiltinsHook, except that it is
 | 
				
			||||||
	// only called for key-value pairs saved via logr.Logger.WithValues.  See
 | 
						// only called for key-value pairs saved via logr.Logger.WithValues.  See
 | 
				
			||||||
	// RenderBuiltinsHook for more details.
 | 
						// RenderBuiltinsHook for more details.
 | 
				
			||||||
	RenderValuesHook func(kvList []interface{}) []interface{}
 | 
						RenderValuesHook func(kvList []any) []any
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// RenderArgsHook is the same as RenderBuiltinsHook, except that it is only
 | 
						// RenderArgsHook is the same as RenderBuiltinsHook, except that it is only
 | 
				
			||||||
	// called for key-value pairs passed directly to Info and Error.  See
 | 
						// called for key-value pairs passed directly to Info and Error.  See
 | 
				
			||||||
	// RenderBuiltinsHook for more details.
 | 
						// RenderBuiltinsHook for more details.
 | 
				
			||||||
	RenderArgsHook func(kvList []interface{}) []interface{}
 | 
						RenderArgsHook func(kvList []any) []any
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// MaxLogDepth tells funcr how many levels of nested fields (e.g. a struct
 | 
						// MaxLogDepth tells funcr how many levels of nested fields (e.g. a struct
 | 
				
			||||||
	// that contains a struct, etc.) it may log.  Every time it finds a struct,
 | 
						// that contains a struct, etc.) it may log.  Every time it finds a struct,
 | 
				
			||||||
| 
						 | 
					@ -163,7 +163,7 @@ func (l fnlogger) WithName(name string) logr.LogSink {
 | 
				
			||||||
	return &l
 | 
						return &l
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (l fnlogger) WithValues(kvList ...interface{}) logr.LogSink {
 | 
					func (l fnlogger) WithValues(kvList ...any) logr.LogSink {
 | 
				
			||||||
	l.Formatter.AddValues(kvList)
 | 
						l.Formatter.AddValues(kvList)
 | 
				
			||||||
	return &l
 | 
						return &l
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -173,12 +173,12 @@ func (l fnlogger) WithCallDepth(depth int) logr.LogSink {
 | 
				
			||||||
	return &l
 | 
						return &l
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (l fnlogger) Info(level int, msg string, kvList ...interface{}) {
 | 
					func (l fnlogger) Info(level int, msg string, kvList ...any) {
 | 
				
			||||||
	prefix, args := l.FormatInfo(level, msg, kvList)
 | 
						prefix, args := l.FormatInfo(level, msg, kvList)
 | 
				
			||||||
	l.write(prefix, args)
 | 
						l.write(prefix, args)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (l fnlogger) Error(err error, msg string, kvList ...interface{}) {
 | 
					func (l fnlogger) Error(err error, msg string, kvList ...any) {
 | 
				
			||||||
	prefix, args := l.FormatError(err, msg, kvList)
 | 
						prefix, args := l.FormatError(err, msg, kvList)
 | 
				
			||||||
	l.write(prefix, args)
 | 
						l.write(prefix, args)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -229,7 +229,7 @@ func newFormatter(opts Options, outfmt outputFormat) Formatter {
 | 
				
			||||||
type Formatter struct {
 | 
					type Formatter struct {
 | 
				
			||||||
	outputFormat outputFormat
 | 
						outputFormat outputFormat
 | 
				
			||||||
	prefix       string
 | 
						prefix       string
 | 
				
			||||||
	values       []interface{}
 | 
						values       []any
 | 
				
			||||||
	valuesStr    string
 | 
						valuesStr    string
 | 
				
			||||||
	depth        int
 | 
						depth        int
 | 
				
			||||||
	opts         *Options
 | 
						opts         *Options
 | 
				
			||||||
| 
						 | 
					@ -246,10 +246,10 @@ const (
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// PseudoStruct is a list of key-value pairs that gets logged as a struct.
 | 
					// PseudoStruct is a list of key-value pairs that gets logged as a struct.
 | 
				
			||||||
type PseudoStruct []interface{}
 | 
					type PseudoStruct []any
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// render produces a log line, ready to use.
 | 
					// render produces a log line, ready to use.
 | 
				
			||||||
func (f Formatter) render(builtins, args []interface{}) string {
 | 
					func (f Formatter) render(builtins, args []any) string {
 | 
				
			||||||
	// Empirically bytes.Buffer is faster than strings.Builder for this.
 | 
						// Empirically bytes.Buffer is faster than strings.Builder for this.
 | 
				
			||||||
	buf := bytes.NewBuffer(make([]byte, 0, 1024))
 | 
						buf := bytes.NewBuffer(make([]byte, 0, 1024))
 | 
				
			||||||
	if f.outputFormat == outputJSON {
 | 
						if f.outputFormat == outputJSON {
 | 
				
			||||||
| 
						 | 
					@ -292,7 +292,7 @@ func (f Formatter) render(builtins, args []interface{}) string {
 | 
				
			||||||
// This function returns a potentially modified version of kvList, which
 | 
					// This function returns a potentially modified version of kvList, which
 | 
				
			||||||
// ensures that there is a value for every key (adding a value if needed) and
 | 
					// ensures that there is a value for every key (adding a value if needed) and
 | 
				
			||||||
// that each key is a string (substituting a key if needed).
 | 
					// that each key is a string (substituting a key if needed).
 | 
				
			||||||
func (f Formatter) flatten(buf *bytes.Buffer, kvList []interface{}, continuing bool, escapeKeys bool) []interface{} {
 | 
					func (f Formatter) flatten(buf *bytes.Buffer, kvList []any, continuing bool, escapeKeys bool) []any {
 | 
				
			||||||
	// This logic overlaps with sanitize() but saves one type-cast per key,
 | 
						// This logic overlaps with sanitize() but saves one type-cast per key,
 | 
				
			||||||
	// which can be measurable.
 | 
						// which can be measurable.
 | 
				
			||||||
	if len(kvList)%2 != 0 {
 | 
						if len(kvList)%2 != 0 {
 | 
				
			||||||
| 
						 | 
					@ -334,7 +334,7 @@ func (f Formatter) flatten(buf *bytes.Buffer, kvList []interface{}, continuing b
 | 
				
			||||||
	return kvList
 | 
						return kvList
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (f Formatter) pretty(value interface{}) string {
 | 
					func (f Formatter) pretty(value any) string {
 | 
				
			||||||
	return f.prettyWithFlags(value, 0, 0)
 | 
						return f.prettyWithFlags(value, 0, 0)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -343,7 +343,7 @@ const (
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// TODO: This is not fast. Most of the overhead goes here.
 | 
					// TODO: This is not fast. Most of the overhead goes here.
 | 
				
			||||||
func (f Formatter) prettyWithFlags(value interface{}, flags uint32, depth int) string {
 | 
					func (f Formatter) prettyWithFlags(value any, flags uint32, depth int) string {
 | 
				
			||||||
	if depth > f.opts.MaxLogDepth {
 | 
						if depth > f.opts.MaxLogDepth {
 | 
				
			||||||
		return `"<max-log-depth-exceeded>"`
 | 
							return `"<max-log-depth-exceeded>"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -614,7 +614,7 @@ func isEmpty(v reflect.Value) bool {
 | 
				
			||||||
	return false
 | 
						return false
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func invokeMarshaler(m logr.Marshaler) (ret interface{}) {
 | 
					func invokeMarshaler(m logr.Marshaler) (ret any) {
 | 
				
			||||||
	defer func() {
 | 
						defer func() {
 | 
				
			||||||
		if r := recover(); r != nil {
 | 
							if r := recover(); r != nil {
 | 
				
			||||||
			ret = fmt.Sprintf("<panic: %s>", r)
 | 
								ret = fmt.Sprintf("<panic: %s>", r)
 | 
				
			||||||
| 
						 | 
					@ -675,12 +675,12 @@ func (f Formatter) caller() Caller {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const noValue = "<no-value>"
 | 
					const noValue = "<no-value>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (f Formatter) nonStringKey(v interface{}) string {
 | 
					func (f Formatter) nonStringKey(v any) string {
 | 
				
			||||||
	return fmt.Sprintf("<non-string-key: %s>", f.snippet(v))
 | 
						return fmt.Sprintf("<non-string-key: %s>", f.snippet(v))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// snippet produces a short snippet string of an arbitrary value.
 | 
					// snippet produces a short snippet string of an arbitrary value.
 | 
				
			||||||
func (f Formatter) snippet(v interface{}) string {
 | 
					func (f Formatter) snippet(v any) string {
 | 
				
			||||||
	const snipLen = 16
 | 
						const snipLen = 16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	snip := f.pretty(v)
 | 
						snip := f.pretty(v)
 | 
				
			||||||
| 
						 | 
					@ -693,7 +693,7 @@ func (f Formatter) snippet(v interface{}) string {
 | 
				
			||||||
// sanitize ensures that a list of key-value pairs has a value for every key
 | 
					// sanitize ensures that a list of key-value pairs has a value for every key
 | 
				
			||||||
// (adding a value if needed) and that each key is a string (substituting a key
 | 
					// (adding a value if needed) and that each key is a string (substituting a key
 | 
				
			||||||
// if needed).
 | 
					// if needed).
 | 
				
			||||||
func (f Formatter) sanitize(kvList []interface{}) []interface{} {
 | 
					func (f Formatter) sanitize(kvList []any) []any {
 | 
				
			||||||
	if len(kvList)%2 != 0 {
 | 
						if len(kvList)%2 != 0 {
 | 
				
			||||||
		kvList = append(kvList, noValue)
 | 
							kvList = append(kvList, noValue)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -727,8 +727,8 @@ func (f Formatter) GetDepth() int {
 | 
				
			||||||
// FormatInfo renders an Info log message into strings.  The prefix will be
 | 
					// FormatInfo renders an Info log message into strings.  The prefix will be
 | 
				
			||||||
// empty when no names were set (via AddNames), or when the output is
 | 
					// empty when no names were set (via AddNames), or when the output is
 | 
				
			||||||
// configured for JSON.
 | 
					// configured for JSON.
 | 
				
			||||||
func (f Formatter) FormatInfo(level int, msg string, kvList []interface{}) (prefix, argsStr string) {
 | 
					func (f Formatter) FormatInfo(level int, msg string, kvList []any) (prefix, argsStr string) {
 | 
				
			||||||
	args := make([]interface{}, 0, 64) // using a constant here impacts perf
 | 
						args := make([]any, 0, 64) // using a constant here impacts perf
 | 
				
			||||||
	prefix = f.prefix
 | 
						prefix = f.prefix
 | 
				
			||||||
	if f.outputFormat == outputJSON {
 | 
						if f.outputFormat == outputJSON {
 | 
				
			||||||
		args = append(args, "logger", prefix)
 | 
							args = append(args, "logger", prefix)
 | 
				
			||||||
| 
						 | 
					@ -747,8 +747,8 @@ func (f Formatter) FormatInfo(level int, msg string, kvList []interface{}) (pref
 | 
				
			||||||
// FormatError renders an Error log message into strings.  The prefix will be
 | 
					// FormatError renders an Error log message into strings.  The prefix will be
 | 
				
			||||||
// empty when no names were set (via AddNames), or when the output is
 | 
					// empty when no names were set (via AddNames), or when the output is
 | 
				
			||||||
// configured for JSON.
 | 
					// configured for JSON.
 | 
				
			||||||
func (f Formatter) FormatError(err error, msg string, kvList []interface{}) (prefix, argsStr string) {
 | 
					func (f Formatter) FormatError(err error, msg string, kvList []any) (prefix, argsStr string) {
 | 
				
			||||||
	args := make([]interface{}, 0, 64) // using a constant here impacts perf
 | 
						args := make([]any, 0, 64) // using a constant here impacts perf
 | 
				
			||||||
	prefix = f.prefix
 | 
						prefix = f.prefix
 | 
				
			||||||
	if f.outputFormat == outputJSON {
 | 
						if f.outputFormat == outputJSON {
 | 
				
			||||||
		args = append(args, "logger", prefix)
 | 
							args = append(args, "logger", prefix)
 | 
				
			||||||
| 
						 | 
					@ -761,12 +761,12 @@ func (f Formatter) FormatError(err error, msg string, kvList []interface{}) (pre
 | 
				
			||||||
		args = append(args, "caller", f.caller())
 | 
							args = append(args, "caller", f.caller())
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	args = append(args, "msg", msg)
 | 
						args = append(args, "msg", msg)
 | 
				
			||||||
	var loggableErr interface{}
 | 
						var loggableErr any
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		loggableErr = err.Error()
 | 
							loggableErr = err.Error()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	args = append(args, "error", loggableErr)
 | 
						args = append(args, "error", loggableErr)
 | 
				
			||||||
	return f.prefix, f.render(args, kvList)
 | 
						return prefix, f.render(args, kvList)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// AddName appends the specified name.  funcr uses '/' characters to separate
 | 
					// AddName appends the specified name.  funcr uses '/' characters to separate
 | 
				
			||||||
| 
						 | 
					@ -781,7 +781,7 @@ func (f *Formatter) AddName(name string) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// AddValues adds key-value pairs to the set of saved values to be logged with
 | 
					// AddValues adds key-value pairs to the set of saved values to be logged with
 | 
				
			||||||
// each log line.
 | 
					// each log line.
 | 
				
			||||||
func (f *Formatter) AddValues(kvList []interface{}) {
 | 
					func (f *Formatter) AddValues(kvList []any) {
 | 
				
			||||||
	// Three slice args forces a copy.
 | 
						// Three slice args forces a copy.
 | 
				
			||||||
	n := len(f.values)
 | 
						n := len(f.values)
 | 
				
			||||||
	f.values = append(f.values[:n:n], kvList...)
 | 
						f.values = append(f.values[:n:n], kvList...)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										35
									
								
								vendor/github.com/go-logr/logr/logr.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										35
									
								
								vendor/github.com/go-logr/logr/logr.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -127,9 +127,9 @@ limitations under the License.
 | 
				
			||||||
// such a value can call its methods without having to check whether the
 | 
					// such a value can call its methods without having to check whether the
 | 
				
			||||||
// instance is ready for use.
 | 
					// instance is ready for use.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// Calling methods with the null logger (Logger{}) as instance will crash
 | 
					// The zero logger (= Logger{}) is identical to Discard() and discards all log
 | 
				
			||||||
// because it has no LogSink. Therefore this null logger should never be passed
 | 
					// entries. Code that receives a Logger by value can simply call it, the methods
 | 
				
			||||||
// around. For cases where passing a logger is optional, a pointer to Logger
 | 
					// will never crash. For cases where passing a logger is optional, a pointer to Logger
 | 
				
			||||||
// should be used.
 | 
					// should be used.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// # Key Naming Conventions
 | 
					// # Key Naming Conventions
 | 
				
			||||||
| 
						 | 
					@ -258,6 +258,12 @@ type Logger struct {
 | 
				
			||||||
// Enabled tests whether this Logger is enabled.  For example, commandline
 | 
					// Enabled tests whether this Logger is enabled.  For example, commandline
 | 
				
			||||||
// flags might be used to set the logging verbosity and disable some info logs.
 | 
					// flags might be used to set the logging verbosity and disable some info logs.
 | 
				
			||||||
func (l Logger) Enabled() bool {
 | 
					func (l Logger) Enabled() bool {
 | 
				
			||||||
 | 
						// Some implementations of LogSink look at the caller in Enabled (e.g.
 | 
				
			||||||
 | 
						// different verbosity levels per package or file), but we only pass one
 | 
				
			||||||
 | 
						// CallDepth in (via Init).  This means that all calls from Logger to the
 | 
				
			||||||
 | 
						// LogSink's Enabled, Info, and Error methods must have the same number of
 | 
				
			||||||
 | 
						// frames.  In other words, Logger methods can't call other Logger methods
 | 
				
			||||||
 | 
						// which call these LogSink methods unless we do it the same in all paths.
 | 
				
			||||||
	return l.sink != nil && l.sink.Enabled(l.level)
 | 
						return l.sink != nil && l.sink.Enabled(l.level)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -267,11 +273,11 @@ func (l Logger) Enabled() bool {
 | 
				
			||||||
// line.  The key/value pairs can then be used to add additional variable
 | 
					// line.  The key/value pairs can then be used to add additional variable
 | 
				
			||||||
// information.  The key/value pairs must alternate string keys and arbitrary
 | 
					// information.  The key/value pairs must alternate string keys and arbitrary
 | 
				
			||||||
// values.
 | 
					// values.
 | 
				
			||||||
func (l Logger) Info(msg string, keysAndValues ...interface{}) {
 | 
					func (l Logger) Info(msg string, keysAndValues ...any) {
 | 
				
			||||||
	if l.sink == nil {
 | 
						if l.sink == nil {
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if l.Enabled() {
 | 
						if l.sink.Enabled(l.level) { // see comment in Enabled
 | 
				
			||||||
		if withHelper, ok := l.sink.(CallStackHelperLogSink); ok {
 | 
							if withHelper, ok := l.sink.(CallStackHelperLogSink); ok {
 | 
				
			||||||
			withHelper.GetCallStackHelper()()
 | 
								withHelper.GetCallStackHelper()()
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					@ -289,7 +295,7 @@ func (l Logger) Info(msg string, keysAndValues ...interface{}) {
 | 
				
			||||||
// while the err argument should be used to attach the actual error that
 | 
					// while the err argument should be used to attach the actual error that
 | 
				
			||||||
// triggered this log line, if present. The err parameter is optional
 | 
					// triggered this log line, if present. The err parameter is optional
 | 
				
			||||||
// and nil may be passed instead of an error instance.
 | 
					// and nil may be passed instead of an error instance.
 | 
				
			||||||
func (l Logger) Error(err error, msg string, keysAndValues ...interface{}) {
 | 
					func (l Logger) Error(err error, msg string, keysAndValues ...any) {
 | 
				
			||||||
	if l.sink == nil {
 | 
						if l.sink == nil {
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -314,9 +320,16 @@ func (l Logger) V(level int) Logger {
 | 
				
			||||||
	return l
 | 
						return l
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// GetV returns the verbosity level of the logger. If the logger's LogSink is
 | 
				
			||||||
 | 
					// nil as in the Discard logger, this will always return 0.
 | 
				
			||||||
 | 
					func (l Logger) GetV() int {
 | 
				
			||||||
 | 
						// 0 if l.sink nil because of the if check in V above.
 | 
				
			||||||
 | 
						return l.level
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// WithValues returns a new Logger instance with additional key/value pairs.
 | 
					// WithValues returns a new Logger instance with additional key/value pairs.
 | 
				
			||||||
// See Info for documentation on how key/value pairs work.
 | 
					// See Info for documentation on how key/value pairs work.
 | 
				
			||||||
func (l Logger) WithValues(keysAndValues ...interface{}) Logger {
 | 
					func (l Logger) WithValues(keysAndValues ...any) Logger {
 | 
				
			||||||
	if l.sink == nil {
 | 
						if l.sink == nil {
 | 
				
			||||||
		return l
 | 
							return l
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -467,15 +480,15 @@ type LogSink interface {
 | 
				
			||||||
	// The level argument is provided for optional logging.  This method will
 | 
						// The level argument is provided for optional logging.  This method will
 | 
				
			||||||
	// only be called when Enabled(level) is true. See Logger.Info for more
 | 
						// only be called when Enabled(level) is true. See Logger.Info for more
 | 
				
			||||||
	// details.
 | 
						// details.
 | 
				
			||||||
	Info(level int, msg string, keysAndValues ...interface{})
 | 
						Info(level int, msg string, keysAndValues ...any)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Error logs an error, with the given message and key/value pairs as
 | 
						// Error logs an error, with the given message and key/value pairs as
 | 
				
			||||||
	// context.  See Logger.Error for more details.
 | 
						// context.  See Logger.Error for more details.
 | 
				
			||||||
	Error(err error, msg string, keysAndValues ...interface{})
 | 
						Error(err error, msg string, keysAndValues ...any)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// WithValues returns a new LogSink with additional key/value pairs.  See
 | 
						// WithValues returns a new LogSink with additional key/value pairs.  See
 | 
				
			||||||
	// Logger.WithValues for more details.
 | 
						// Logger.WithValues for more details.
 | 
				
			||||||
	WithValues(keysAndValues ...interface{}) LogSink
 | 
						WithValues(keysAndValues ...any) LogSink
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// WithName returns a new LogSink with the specified name appended.  See
 | 
						// WithName returns a new LogSink with the specified name appended.  See
 | 
				
			||||||
	// Logger.WithName for more details.
 | 
						// Logger.WithName for more details.
 | 
				
			||||||
| 
						 | 
					@ -546,5 +559,5 @@ type Marshaler interface {
 | 
				
			||||||
	//     with exported fields
 | 
						//     with exported fields
 | 
				
			||||||
	//
 | 
						//
 | 
				
			||||||
	// It may return any value of any type.
 | 
						// It may return any value of any type.
 | 
				
			||||||
	MarshalLog() interface{}
 | 
						MarshalLog() any
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										3
									
								
								vendor/go.opentelemetry.io/otel/.gitignore
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/go.opentelemetry.io/otel/.gitignore
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -18,8 +18,9 @@ gen/
 | 
				
			||||||
/example/fib/traces.txt
 | 
					/example/fib/traces.txt
 | 
				
			||||||
/example/jaeger/jaeger
 | 
					/example/jaeger/jaeger
 | 
				
			||||||
/example/namedtracer/namedtracer
 | 
					/example/namedtracer/namedtracer
 | 
				
			||||||
 | 
					/example/otel-collector/otel-collector
 | 
				
			||||||
/example/opencensus/opencensus
 | 
					/example/opencensus/opencensus
 | 
				
			||||||
/example/passthrough/passthrough
 | 
					/example/passthrough/passthrough
 | 
				
			||||||
/example/prometheus/prometheus
 | 
					/example/prometheus/prometheus
 | 
				
			||||||
 | 
					/example/view/view
 | 
				
			||||||
/example/zipkin/zipkin
 | 
					/example/zipkin/zipkin
 | 
				
			||||||
/example/otel-collector/otel-collector
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										17
									
								
								vendor/go.opentelemetry.io/otel/.golangci.yml
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/go.opentelemetry.io/otel/.golangci.yml
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -12,8 +12,9 @@ linters:
 | 
				
			||||||
    - depguard
 | 
					    - depguard
 | 
				
			||||||
    - errcheck
 | 
					    - errcheck
 | 
				
			||||||
    - godot
 | 
					    - godot
 | 
				
			||||||
    - gofmt
 | 
					    - gofumpt
 | 
				
			||||||
    - goimports
 | 
					    - goimports
 | 
				
			||||||
 | 
					    - gosec
 | 
				
			||||||
    - gosimple
 | 
					    - gosimple
 | 
				
			||||||
    - govet
 | 
					    - govet
 | 
				
			||||||
    - ineffassign
 | 
					    - ineffassign
 | 
				
			||||||
| 
						 | 
					@ -53,6 +54,20 @@ issues:
 | 
				
			||||||
      text: "calls to (.+) only in main[(][)] or init[(][)] functions"
 | 
					      text: "calls to (.+) only in main[(][)] or init[(][)] functions"
 | 
				
			||||||
      linters:
 | 
					      linters:
 | 
				
			||||||
        - revive
 | 
					        - revive
 | 
				
			||||||
 | 
					    # It's okay to not run gosec in a test.
 | 
				
			||||||
 | 
					    - path: _test\.go
 | 
				
			||||||
 | 
					      linters:
 | 
				
			||||||
 | 
					        - gosec
 | 
				
			||||||
 | 
					    # Igonoring gosec G404: Use of weak random number generator (math/rand instead of crypto/rand)
 | 
				
			||||||
 | 
					    # as we commonly use it in tests and examples.
 | 
				
			||||||
 | 
					    - text: "G404:"
 | 
				
			||||||
 | 
					      linters:
 | 
				
			||||||
 | 
					        - gosec
 | 
				
			||||||
 | 
					    # Igonoring gosec G402: TLS MinVersion too low
 | 
				
			||||||
 | 
					    # as the https://pkg.go.dev/crypto/tls#Config handles MinVersion default well.
 | 
				
			||||||
 | 
					    - text: "G402: TLS MinVersion too low."
 | 
				
			||||||
 | 
					      linters:
 | 
				
			||||||
 | 
					        - gosec
 | 
				
			||||||
  include:
 | 
					  include:
 | 
				
			||||||
    # revive exported should have comment or be unexported.
 | 
					    # revive exported should have comment or be unexported.
 | 
				
			||||||
    - EXC0012
 | 
					    - EXC0012
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										70
									
								
								vendor/go.opentelemetry.io/otel/CHANGELOG.md
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										70
									
								
								vendor/go.opentelemetry.io/otel/CHANGELOG.md
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -8,6 +8,71 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## [Unreleased]
 | 
					## [Unreleased]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## [1.20.0/0.43.0] 2023-11-10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This release brings a breaking change for custom trace API implementations. Some interfaces (`TracerProvider`, `Tracer`, `Span`) now embed the `go.opentelemetry.io/otel/trace/embedded` types. Implementors need to update their implementations based on what they want the default behavior to be. See the "API Implementations" section of the [trace API] package documentation for more information about how to accomplish this.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Added
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Add `go.opentelemetry.io/otel/bridge/opencensus.InstallTraceBridge`, which installs the OpenCensus trace bridge, and replaces `opencensus.NewTracer`. (#4567)
 | 
				
			||||||
 | 
					- Add scope version to trace and metric bridges in `go.opentelemetry.io/otel/bridge/opencensus`. (#4584)
 | 
				
			||||||
 | 
					- Add the `go.opentelemetry.io/otel/trace/embedded` package to be embedded in the exported trace API interfaces. (#4620)
 | 
				
			||||||
 | 
					- Add the `go.opentelemetry.io/otel/trace/noop` package as a default no-op implementation of the trace API. (#4620)
 | 
				
			||||||
 | 
					- Add context propagation in `go.opentelemetry.io/otel/example/dice`. (#4644)
 | 
				
			||||||
 | 
					- Add view configuration to `go.opentelemetry.io/otel/example/prometheus`. (#4649)
 | 
				
			||||||
 | 
					- Add `go.opentelemetry.io/otel/metric.WithExplicitBucketBoundaries`, which allows defining default explicit bucket boundaries when creating histogram instruments. (#4603)
 | 
				
			||||||
 | 
					- Add `Version` function in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. (#4660)
 | 
				
			||||||
 | 
					- Add `Version` function in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#4660)
 | 
				
			||||||
 | 
					- Add Summary, SummaryDataPoint, and QuantileValue to `go.opentelemetry.io/sdk/metric/metricdata`. (#4622)
 | 
				
			||||||
 | 
					- `go.opentelemetry.io/otel/bridge/opencensus.NewMetricProducer` now supports exemplars from OpenCensus. (#4585)
 | 
				
			||||||
 | 
					- Add support for `WithExplicitBucketBoundaries` in `go.opentelemetry.io/otel/sdk/metric`. (#4605)
 | 
				
			||||||
 | 
					- Add support for Summary metrics in `go.opentelemetry.io/otel/bridge/opencensus`. (#4668)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Deprecated
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Deprecate `go.opentelemetry.io/otel/bridge/opencensus.NewTracer` in favor of `opencensus.InstallTraceBridge`. (#4567)
 | 
				
			||||||
 | 
					- Deprecate `go.opentelemetry.io/otel/example/fib` package is in favor of `go.opentelemetry.io/otel/example/dice`. (#4618)
 | 
				
			||||||
 | 
					- Deprecate `go.opentelemetry.io/otel/trace.NewNoopTracerProvider`.
 | 
				
			||||||
 | 
					  Use the added `NewTracerProvider` function in `go.opentelemetry.io/otel/trace/noop` instead. (#4620)
 | 
				
			||||||
 | 
					- Deprecate `go.opentelemetry.io/otel/example/view` package in favor of `go.opentelemetry.io/otel/example/prometheus`. (#4649)
 | 
				
			||||||
 | 
					- Deprecate `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#4693)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `go.opentelemetry.io/otel/bridge/opencensus.NewMetricProducer` returns a `*MetricProducer` struct instead of the metric.Producer interface. (#4583)
 | 
				
			||||||
 | 
					- The `TracerProvider` in `go.opentelemetry.io/otel/trace` now embeds the `go.opentelemetry.io/otel/trace/embedded.TracerProvider` type.
 | 
				
			||||||
 | 
					  This extends the `TracerProvider` interface and is is a breaking change for any existing implementation.
 | 
				
			||||||
 | 
					  Implementors need to update their implementations based on what they want the default behavior of the interface to be.
 | 
				
			||||||
 | 
					  See the "API Implementations" section of the `go.opentelemetry.io/otel/trace` package documentation for more information about how to accomplish this. (#4620)
 | 
				
			||||||
 | 
					- The `Tracer` in `go.opentelemetry.io/otel/trace` now embeds the `go.opentelemetry.io/otel/trace/embedded.Tracer` type.
 | 
				
			||||||
 | 
					  This extends the `Tracer` interface and is is a breaking change for any existing implementation.
 | 
				
			||||||
 | 
					  Implementors need to update their implementations based on what they want the default behavior of the interface to be.
 | 
				
			||||||
 | 
					  See the "API Implementations" section of the `go.opentelemetry.io/otel/trace` package documentation for more information about how to accomplish this. (#4620)
 | 
				
			||||||
 | 
					- The `Span` in `go.opentelemetry.io/otel/trace` now embeds the `go.opentelemetry.io/otel/trace/embedded.Span` type.
 | 
				
			||||||
 | 
					  This extends the `Span` interface and is is a breaking change for any existing implementation.
 | 
				
			||||||
 | 
					  Implementors need to update their implementations based on what they want the default behavior of the interface to be.
 | 
				
			||||||
 | 
					  See the "API Implementations" section of the `go.opentelemetry.io/otel/trace` package documentation for more information about how to accomplish this. (#4620)
 | 
				
			||||||
 | 
					- `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` does no longer depend on `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#4660)
 | 
				
			||||||
 | 
					- `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` does no longer depend on `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#4660)
 | 
				
			||||||
 | 
					- Retry for `502 Bad Gateway` and `504 Gateway Timeout` HTTP statuses in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#4670)
 | 
				
			||||||
 | 
					- Retry for `502 Bad Gateway` and `504 Gateway Timeout` HTTP statuses in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#4670)
 | 
				
			||||||
 | 
					- Retry for `RESOURCE_EXHAUSTED` only if RetryInfo is returned in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. (#4669)
 | 
				
			||||||
 | 
					- Retry for `RESOURCE_EXHAUSTED` only if RetryInfo is returned in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#4669)
 | 
				
			||||||
 | 
					- Retry temporary HTTP request failures in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#4679)
 | 
				
			||||||
 | 
					- Retry temporary HTTP request failures in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#4679)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Fixed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix improper parsing of characters such us `+`, `/` by `Parse` in `go.opentelemetry.io/otel/baggage` as they were rendered as a whitespace. (#4667)
 | 
				
			||||||
 | 
					- Fix improper parsing of characters such us `+`, `/` passed via `OTEL_RESOURCE_ATTRIBUTES` in `go.opentelemetry.io/otel/sdk/resource` as they were rendered as a whitespace. (#4699)
 | 
				
			||||||
 | 
					- Fix improper parsing of characters such us `+`, `/` passed via `OTEL_EXPORTER_OTLP_HEADERS` and `OTEL_EXPORTER_OTLP_METRICS_HEADERS` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` as they were rendered as a whitespace. (#4699)
 | 
				
			||||||
 | 
					- Fix improper parsing of characters such us `+`, `/` passed via `OTEL_EXPORTER_OTLP_HEADERS` and `OTEL_EXPORTER_OTLP_METRICS_HEADERS` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` as they were rendered as a whitespace. (#4699)
 | 
				
			||||||
 | 
					- Fix improper parsing of characters such us `+`, `/` passed via `OTEL_EXPORTER_OTLP_HEADERS` and `OTEL_EXPORTER_OTLP_TRACES_HEADERS` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracegrpc` as they were rendered as a whitespace. (#4699)
 | 
				
			||||||
 | 
					- Fix improper parsing of characters such us `+`, `/` passed via `OTEL_EXPORTER_OTLP_HEADERS` and `OTEL_EXPORTER_OTLP_TRACES_HEADERS` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlptracehttp` as they were rendered as a whitespace. (#4699)
 | 
				
			||||||
 | 
					- In `go.opentelemetry.op/otel/exporters/prometheus`, the exporter no longer `Collect`s metrics after `Shutdown` is invoked. (#4648)
 | 
				
			||||||
 | 
					- Fix documentation for `WithCompressor` in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#4695)
 | 
				
			||||||
 | 
					- Fix documentation for `WithCompressor` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. (#4695)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## [1.19.0/0.42.0/0.0.7] 2023-09-28
 | 
					## [1.19.0/0.42.0/0.0.7] 2023-09-28
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This release contains the first stable release of the OpenTelemetry Go [metric SDK].
 | 
					This release contains the first stable release of the OpenTelemetry Go [metric SDK].
 | 
				
			||||||
| 
						 | 
					@ -2656,7 +2721,8 @@ It contains api and sdk for trace and meter.
 | 
				
			||||||
- CircleCI build CI manifest files.
 | 
					- CircleCI build CI manifest files.
 | 
				
			||||||
- CODEOWNERS file to track owners of this project.
 | 
					- CODEOWNERS file to track owners of this project.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.19.0...HEAD
 | 
					[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.20.0...HEAD
 | 
				
			||||||
 | 
					[1.20.0/0.43.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.20.0
 | 
				
			||||||
[1.19.0/0.42.0/0.0.7]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.19.0
 | 
					[1.19.0/0.42.0/0.0.7]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.19.0
 | 
				
			||||||
[1.19.0-rc.1/0.42.0-rc.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.19.0-rc.1
 | 
					[1.19.0-rc.1/0.42.0-rc.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.19.0-rc.1
 | 
				
			||||||
[1.18.0/0.41.0/0.0.6]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.18.0
 | 
					[1.18.0/0.41.0/0.0.6]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.18.0
 | 
				
			||||||
| 
						 | 
					@ -2731,7 +2797,7 @@ It contains api and sdk for trace and meter.
 | 
				
			||||||
[Go 1.20]: https://go.dev/doc/go1.20
 | 
					[Go 1.20]: https://go.dev/doc/go1.20
 | 
				
			||||||
[Go 1.19]: https://go.dev/doc/go1.19
 | 
					[Go 1.19]: https://go.dev/doc/go1.19
 | 
				
			||||||
[Go 1.18]: https://go.dev/doc/go1.18
 | 
					[Go 1.18]: https://go.dev/doc/go1.18
 | 
				
			||||||
[Go 1.19]: https://go.dev/doc/go1.19
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[metric API]:https://pkg.go.dev/go.opentelemetry.io/otel/metric
 | 
					[metric API]:https://pkg.go.dev/go.opentelemetry.io/otel/metric
 | 
				
			||||||
[metric SDK]:https://pkg.go.dev/go.opentelemetry.io/otel/sdk/metric
 | 
					[metric SDK]:https://pkg.go.dev/go.opentelemetry.io/otel/sdk/metric
 | 
				
			||||||
 | 
					[trace API]:https://pkg.go.dev/go.opentelemetry.io/otel/trace
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										29
									
								
								vendor/go.opentelemetry.io/otel/Makefile
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								vendor/go.opentelemetry.io/otel/Makefile
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -77,6 +77,9 @@ $(GOTMPL): PACKAGE=go.opentelemetry.io/build-tools/gotmpl
 | 
				
			||||||
GORELEASE = $(TOOLS)/gorelease
 | 
					GORELEASE = $(TOOLS)/gorelease
 | 
				
			||||||
$(GORELEASE): PACKAGE=golang.org/x/exp/cmd/gorelease
 | 
					$(GORELEASE): PACKAGE=golang.org/x/exp/cmd/gorelease
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GOVULNCHECK = $(TOOLS)/govulncheck
 | 
				
			||||||
 | 
					$(TOOLS)/govulncheck: PACKAGE=golang.org/x/vuln/cmd/govulncheck
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: tools
 | 
					.PHONY: tools
 | 
				
			||||||
tools: $(CROSSLINK) $(DBOTCONF) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(GOJQ) $(SEMCONVGEN) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE)
 | 
					tools: $(CROSSLINK) $(DBOTCONF) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(GOJQ) $(SEMCONVGEN) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -189,6 +192,18 @@ test-coverage: | $(GOCOVMERGE)
 | 
				
			||||||
	done; \
 | 
						done; \
 | 
				
			||||||
	$(GOCOVMERGE) $$(find . -name coverage.out) > coverage.txt
 | 
						$(GOCOVMERGE) $$(find . -name coverage.out) > coverage.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Adding a directory will include all benchmarks in that direcotry if a filter is not specified.
 | 
				
			||||||
 | 
					BENCHMARK_TARGETS := sdk/trace
 | 
				
			||||||
 | 
					.PHONY: benchmark
 | 
				
			||||||
 | 
					benchmark: $(BENCHMARK_TARGETS:%=benchmark/%)
 | 
				
			||||||
 | 
					BENCHMARK_FILTER = .
 | 
				
			||||||
 | 
					# You can override the filter for a particular directory by adding a rule here.
 | 
				
			||||||
 | 
					benchmark/sdk/trace: BENCHMARK_FILTER = SpanWithAttributes_8/AlwaysSample
 | 
				
			||||||
 | 
					benchmark/%:
 | 
				
			||||||
 | 
						@echo "$(GO) test -timeout $(TIMEOUT)s -run=xxxxxMatchNothingxxxxx -bench=$(BENCHMARK_FILTER) $*..." \
 | 
				
			||||||
 | 
							&& cd $* \
 | 
				
			||||||
 | 
							$(foreach filter, $(BENCHMARK_FILTER), && $(GO) test -timeout $(TIMEOUT)s -run=xxxxxMatchNothingxxxxx -bench=$(filter))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: golangci-lint golangci-lint-fix
 | 
					.PHONY: golangci-lint golangci-lint-fix
 | 
				
			||||||
golangci-lint-fix: ARGS=--fix
 | 
					golangci-lint-fix: ARGS=--fix
 | 
				
			||||||
golangci-lint-fix: golangci-lint
 | 
					golangci-lint-fix: golangci-lint
 | 
				
			||||||
| 
						 | 
					@ -216,7 +231,7 @@ go-mod-tidy/%: | crosslink
 | 
				
			||||||
lint-modules: go-mod-tidy
 | 
					lint-modules: go-mod-tidy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: lint
 | 
					.PHONY: lint
 | 
				
			||||||
lint: misspell lint-modules golangci-lint
 | 
					lint: misspell lint-modules golangci-lint govulncheck
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: vanity-import-check
 | 
					.PHONY: vanity-import-check
 | 
				
			||||||
vanity-import-check: | $(PORTO)
 | 
					vanity-import-check: | $(PORTO)
 | 
				
			||||||
| 
						 | 
					@ -226,6 +241,14 @@ vanity-import-check: | $(PORTO)
 | 
				
			||||||
misspell: | $(MISSPELL)
 | 
					misspell: | $(MISSPELL)
 | 
				
			||||||
	@$(MISSPELL) -w $(ALL_DOCS)
 | 
						@$(MISSPELL) -w $(ALL_DOCS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: govulncheck
 | 
				
			||||||
 | 
					govulncheck: $(OTEL_GO_MOD_DIRS:%=govulncheck/%)
 | 
				
			||||||
 | 
					govulncheck/%: DIR=$*
 | 
				
			||||||
 | 
					govulncheck/%: | $(GOVULNCHECK)
 | 
				
			||||||
 | 
						@echo "govulncheck ./... in $(DIR)" \
 | 
				
			||||||
 | 
							&& cd $(DIR) \
 | 
				
			||||||
 | 
							&& $(GOVULNCHECK) ./...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: codespell
 | 
					.PHONY: codespell
 | 
				
			||||||
codespell: | $(CODESPELL)
 | 
					codespell: | $(CODESPELL)
 | 
				
			||||||
	@$(DOCKERPY) $(CODESPELL)
 | 
						@$(DOCKERPY) $(CODESPELL)
 | 
				
			||||||
| 
						 | 
					@ -289,3 +312,7 @@ COMMIT ?= "HEAD"
 | 
				
			||||||
add-tags: | $(MULTIMOD)
 | 
					add-tags: | $(MULTIMOD)
 | 
				
			||||||
	@[ "${MODSET}" ] || ( echo ">> env var MODSET is not set"; exit 1 )
 | 
						@[ "${MODSET}" ] || ( echo ">> env var MODSET is not set"; exit 1 )
 | 
				
			||||||
	$(MULTIMOD) verify && $(MULTIMOD) tag -m ${MODSET} -c ${COMMIT}
 | 
						$(MULTIMOD) verify && $(MULTIMOD) tag -m ${MODSET} -c ${COMMIT}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: lint-markdown
 | 
				
			||||||
 | 
					lint-markdown: 
 | 
				
			||||||
 | 
						docker run -v "$(CURDIR):$(WORKDIR)" docker://avtodev/markdown-lint:v1 -c $(WORKDIR)/.markdownlint.yaml $(WORKDIR)/**/*.md
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										15
									
								
								vendor/go.opentelemetry.io/otel/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								vendor/go.opentelemetry.io/otel/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -11,16 +11,13 @@ It provides a set of APIs to directly measure performance and behavior of your s
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Project Status
 | 
					## Project Status
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Signal  | Status     | Project               |
 | 
					| Signal  | Status     |
 | 
				
			||||||
|---------|------------|-----------------------|
 | 
					|---------|------------|
 | 
				
			||||||
| Traces  | Stable     | N/A                   |
 | 
					| Traces  | Stable     |
 | 
				
			||||||
| Metrics | Mixed [1]  | [Go: Metric SDK (GA)] |
 | 
					| Metrics | Stable     |
 | 
				
			||||||
| Logs    | Frozen [2] | N/A                   |
 | 
					| Logs    | Design [1] |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Go: Metric SDK (GA)]: https://github.com/orgs/open-telemetry/projects/34
 | 
					- [1]: Currently the logs signal development is in a design phase ([#4696](https://github.com/open-telemetry/opentelemetry-go/issues/4696)).
 | 
				
			||||||
 | 
					 | 
				
			||||||
- [1]: [Metrics API](https://pkg.go.dev/go.opentelemetry.io/otel/metric) is Stable. [Metrics SDK](https://pkg.go.dev/go.opentelemetry.io/otel/sdk/metric) is Beta.
 | 
					 | 
				
			||||||
- [2]: The Logs signal development is halted for this project while we stabilize the Metrics SDK.
 | 
					 | 
				
			||||||
   No Logs Pull Requests are currently being accepted.
 | 
					   No Logs Pull Requests are currently being accepted.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Progress and status specific to this repository is tracked in our
 | 
					Progress and status specific to this repository is tracked in our
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								vendor/go.opentelemetry.io/otel/baggage/baggage.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/go.opentelemetry.io/otel/baggage/baggage.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -254,7 +254,7 @@ func NewMember(key, value string, props ...Property) (Member, error) {
 | 
				
			||||||
	if err := m.validate(); err != nil {
 | 
						if err := m.validate(); err != nil {
 | 
				
			||||||
		return newInvalidMember(), err
 | 
							return newInvalidMember(), err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	decodedValue, err := url.QueryUnescape(value)
 | 
						decodedValue, err := url.PathUnescape(value)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return newInvalidMember(), fmt.Errorf("%w: %q", errInvalidValue, value)
 | 
							return newInvalidMember(), fmt.Errorf("%w: %q", errInvalidValue, value)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -301,7 +301,7 @@ func parseMember(member string) (Member, error) {
 | 
				
			||||||
	// when converting the header into a data structure."
 | 
						// when converting the header into a data structure."
 | 
				
			||||||
	key = strings.TrimSpace(k)
 | 
						key = strings.TrimSpace(k)
 | 
				
			||||||
	var err error
 | 
						var err error
 | 
				
			||||||
	value, err = url.QueryUnescape(strings.TrimSpace(v))
 | 
						value, err = url.PathUnescape(strings.TrimSpace(v))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return newInvalidMember(), fmt.Errorf("%w: %q", err, value)
 | 
							return newInvalidMember(), fmt.Errorf("%w: %q", err, value)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										51
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										51
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,51 +0,0 @@
 | 
				
			||||||
# OpenTelemetry-Go OTLP Span Exporter
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[OpenTelemetry Protocol Exporter](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.20.0/specification/protocol/exporter.md) implementation.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Installation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Examples
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- [HTTP Exporter setup and examples](./otlptracehttp/example_test.go)
 | 
					 | 
				
			||||||
- [Full example of gRPC Exporter sending telemetry to a local collector](../../../example/otel-collector)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## [`otlptrace`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The `otlptrace` package provides an exporter implementing the OTel span exporter interface.
 | 
					 | 
				
			||||||
This exporter is configured using a client satisfying the `otlptrace.Client` interface.
 | 
					 | 
				
			||||||
This client handles the transformation of data into wire format and the transmission of that data to the collector.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## [`otlptracegrpc`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The `otlptracegrpc` package implements a client for the span exporter that sends trace telemetry data to the collector using gRPC with protobuf-encoded payloads.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## [`otlptracehttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The `otlptracehttp` package implements a client for the span exporter that sends trace telemetry data to the collector using HTTP with protobuf-encoded payloads.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Configuration
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Environment Variables
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The following environment variables can be used (instead of options objects) to
 | 
					 | 
				
			||||||
override the default configuration. For more information about how each of
 | 
					 | 
				
			||||||
these environment variables is interpreted, see [the OpenTelemetry
 | 
					 | 
				
			||||||
specification](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.20.0/specification/protocol/exporter.md).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| Environment variable                                                     | Option                        | Default value                                            |
 | 
					 | 
				
			||||||
| ------------------------------------------------------------------------ |------------------------------ | -------------------------------------------------------- |
 | 
					 | 
				
			||||||
| `OTEL_EXPORTER_OTLP_ENDPOINT` `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`       | `WithEndpoint` `WithInsecure` | `https://localhost:4317` or `https://localhost:4318`[^1] |
 | 
					 | 
				
			||||||
| `OTEL_EXPORTER_OTLP_CERTIFICATE` `OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE` | `WithTLSClientConfig`         |                                                          |
 | 
					 | 
				
			||||||
| `OTEL_EXPORTER_OTLP_HEADERS` `OTEL_EXPORTER_OTLP_TRACES_HEADERS`         | `WithHeaders`                 |                                                          |
 | 
					 | 
				
			||||||
| `OTEL_EXPORTER_OTLP_COMPRESSION` `OTEL_EXPORTER_OTLP_TRACES_COMPRESSION` | `WithCompression`             |                                                          |
 | 
					 | 
				
			||||||
| `OTEL_EXPORTER_OTLP_TIMEOUT` `OTEL_EXPORTER_OTLP_TRACES_TIMEOUT`         | `WithTimeout`                 | `10s`                                                    |
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[^1]: The gRPC client defaults to `https://localhost:4317` and the HTTP client `https://localhost:4318`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Configuration using options have precedence over the environment variables.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -12,9 +12,10 @@
 | 
				
			||||||
// See the License for the specific language governing permissions and
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
// limitations under the License.
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.17.0"
 | 
					/*
 | 
				
			||||||
 | 
					Package otlptrace contains abstractions for OTLP span exporters.
 | 
				
			||||||
const (
 | 
					See the official OTLP span exporter implementations:
 | 
				
			||||||
	// ExceptionEventName is the name of the Span event representing an exception.
 | 
					  - [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc],
 | 
				
			||||||
	ExceptionEventName = "exception"
 | 
					  - [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp].
 | 
				
			||||||
)
 | 
					*/
 | 
				
			||||||
 | 
					package otlptrace // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace"
 | 
				
			||||||
							
								
								
									
										6
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporter.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporter.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -24,9 +24,7 @@ import (
 | 
				
			||||||
	tracesdk "go.opentelemetry.io/otel/sdk/trace"
 | 
						tracesdk "go.opentelemetry.io/otel/sdk/trace"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var errAlreadyStarted = errors.New("already started")
 | 
				
			||||||
	errAlreadyStarted = errors.New("already started")
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Exporter exports trace data in the OTLP wire format.
 | 
					// Exporter exports trace data in the OTLP wire format.
 | 
				
			||||||
type Exporter struct {
 | 
					type Exporter struct {
 | 
				
			||||||
| 
						 | 
					@ -55,7 +53,7 @@ func (e *Exporter) ExportSpans(ctx context.Context, ss []tracesdk.ReadOnlySpan)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Start establishes a connection to the receiving endpoint.
 | 
					// Start establishes a connection to the receiving endpoint.
 | 
				
			||||||
func (e *Exporter) Start(ctx context.Context) error {
 | 
					func (e *Exporter) Start(ctx context.Context) error {
 | 
				
			||||||
	var err = errAlreadyStarted
 | 
						err := errAlreadyStarted
 | 
				
			||||||
	e.startOnce.Do(func() {
 | 
						e.startOnce.Do(func() {
 | 
				
			||||||
		e.mu.Lock()
 | 
							e.mu.Lock()
 | 
				
			||||||
		e.started = true
 | 
							e.started = true
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										22
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -260,30 +260,38 @@ func (c *client) exportContext(parent context.Context) (context.Context, context
 | 
				
			||||||
// duration to wait for if an explicit throttle time is included in err.
 | 
					// duration to wait for if an explicit throttle time is included in err.
 | 
				
			||||||
func retryable(err error) (bool, time.Duration) {
 | 
					func retryable(err error) (bool, time.Duration) {
 | 
				
			||||||
	s := status.Convert(err)
 | 
						s := status.Convert(err)
 | 
				
			||||||
 | 
						return retryableGRPCStatus(s)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func retryableGRPCStatus(s *status.Status) (bool, time.Duration) {
 | 
				
			||||||
	switch s.Code() {
 | 
						switch s.Code() {
 | 
				
			||||||
	case codes.Canceled,
 | 
						case codes.Canceled,
 | 
				
			||||||
		codes.DeadlineExceeded,
 | 
							codes.DeadlineExceeded,
 | 
				
			||||||
		codes.ResourceExhausted,
 | 
					 | 
				
			||||||
		codes.Aborted,
 | 
							codes.Aborted,
 | 
				
			||||||
		codes.OutOfRange,
 | 
							codes.OutOfRange,
 | 
				
			||||||
		codes.Unavailable,
 | 
							codes.Unavailable,
 | 
				
			||||||
		codes.DataLoss:
 | 
							codes.DataLoss:
 | 
				
			||||||
		return true, throttleDelay(s)
 | 
							// Additionally handle RetryInfo.
 | 
				
			||||||
 | 
							_, d := throttleDelay(s)
 | 
				
			||||||
 | 
							return true, d
 | 
				
			||||||
 | 
						case codes.ResourceExhausted:
 | 
				
			||||||
 | 
							// Retry only if the server signals that the recovery from resource exhaustion is possible.
 | 
				
			||||||
 | 
							return throttleDelay(s)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Not a retry-able error.
 | 
						// Not a retry-able error.
 | 
				
			||||||
	return false, 0
 | 
						return false, 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// throttleDelay returns a duration to wait for if an explicit throttle time
 | 
					// throttleDelay returns of the status is RetryInfo
 | 
				
			||||||
// is included in the response status.
 | 
					// and the its duration to wait for if an explicit throttle time.
 | 
				
			||||||
func throttleDelay(s *status.Status) time.Duration {
 | 
					func throttleDelay(s *status.Status) (bool, time.Duration) {
 | 
				
			||||||
	for _, detail := range s.Details() {
 | 
						for _, detail := range s.Details() {
 | 
				
			||||||
		if t, ok := detail.(*errdetails.RetryInfo); ok {
 | 
							if t, ok := detail.(*errdetails.RetryInfo); ok {
 | 
				
			||||||
			return t.RetryDelay.AsDuration()
 | 
								return true, t.RetryDelay.AsDuration()
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return 0
 | 
						return false, 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MarshalLog is the marshaling function used by the logging system to represent this Client.
 | 
					// MarshalLog is the marshaling function used by the logging system to represent this Client.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										77
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/doc.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/doc.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,77 @@
 | 
				
			||||||
 | 
					// 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 otlptracegrpc provides an OTLP span exporter using gRPC.
 | 
				
			||||||
 | 
					By default the telemetry is sent to https://localhost:4317.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Exporter should be created using [New].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The environment variables described below can be used for configuration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_TRACES_ENDPOINT (default: "https://localhost:4317") -
 | 
				
			||||||
 | 
					target to which the exporter sends telemetry.
 | 
				
			||||||
 | 
					The target syntax is defined in https://github.com/grpc/grpc/blob/master/doc/naming.md.
 | 
				
			||||||
 | 
					The value must contain a host.
 | 
				
			||||||
 | 
					The value may additionally a port, a scheme, and a path.
 | 
				
			||||||
 | 
					The value accepts "http" and "https" scheme.
 | 
				
			||||||
 | 
					The value should not contain a query string or fragment.
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_ENDPOINT takes precedence over OTEL_EXPORTER_OTLP_ENDPOINT.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithEndpoint], [WithInsecure], [WithGRPCConn] options.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_INSECURE, OTEL_EXPORTER_OTLP_TRACES_INSECURE (default: "false") -
 | 
				
			||||||
 | 
					setting "true" disables client transport security for the exporter's gRPC connection.
 | 
				
			||||||
 | 
					You can use this only when an endpoint is provided without the http or https scheme.
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_TRACES_ENDPOINT setting overrides
 | 
				
			||||||
 | 
					the scheme defined via OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_TRACES_ENDPOINT.
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_INSECURE takes precedence over OTEL_EXPORTER_OTLP_INSECURE.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithInsecure], [WithGRPCConn] options.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_HEADERS, OTEL_EXPORTER_OTLP_TRACES_HEADERS (default: none) -
 | 
				
			||||||
 | 
					key-value pairs used as gRPC metadata associated with gRPC requests.
 | 
				
			||||||
 | 
					The value is expected to be represented in a format matching to the [W3C Baggage HTTP Header Content Format],
 | 
				
			||||||
 | 
					except that additional semi-colon delimited metadata is not supported.
 | 
				
			||||||
 | 
					Example value: "key1=value1,key2=value2".
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_HEADERS takes precedence over OTEL_EXPORTER_OTLP_HEADERS.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithHeaders] option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TIMEOUT, OTEL_EXPORTER_OTLP_TRACES_TIMEOUT (default: "10000") -
 | 
				
			||||||
 | 
					maximum time in milliseconds the OTLP exporter waits for each batch export.
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_TIMEOUT takes precedence over OTEL_EXPORTER_OTLP_TIMEOUT.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithTimeout] option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_COMPRESSION, OTEL_EXPORTER_OTLP_TRACES_COMPRESSION (default: none) -
 | 
				
			||||||
 | 
					the gRPC compressor the exporter uses.
 | 
				
			||||||
 | 
					Supported value: "gzip".
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_COMPRESSION takes precedence over OTEL_EXPORTER_OTLP_COMPRESSION.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithCompressor], [WithGRPCConn] options.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_CERTIFICATE, OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE (default: none) -
 | 
				
			||||||
 | 
					the filepath to the trusted certificate to use when verifying a server's TLS credentials.
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE takes precedence over OTEL_EXPORTER_OTLP_CERTIFICATE.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithTLSCredentials], [WithGRPCConn] options.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE, OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE (default: none) -
 | 
				
			||||||
 | 
					the filepath to the client certificate/chain trust for clients private key to use in mTLS communication in PEM format.
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE takes precedence over OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithTLSCredentials], [WithGRPCConn] options.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_CLIENT_KEY, OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY (default: none) -
 | 
				
			||||||
 | 
					the filepath  to the clients private key to use in mTLS communication in PEM format.
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY takes precedence over OTEL_EXPORTER_OTLP_CLIENT_KEY.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithTLSCredentials], [WithGRPCConn] option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[W3C Baggage HTTP Header Content Format]: https://www.w3.org/TR/baggage/#header-content
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					package otlptracegrpc // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
 | 
				
			||||||
| 
						 | 
					@ -174,13 +174,13 @@ func stringToHeader(value string) map[string]string {
 | 
				
			||||||
			global.Error(errors.New("missing '="), "parse headers", "input", header)
 | 
								global.Error(errors.New("missing '="), "parse headers", "input", header)
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		name, err := url.QueryUnescape(n)
 | 
							name, err := url.PathUnescape(n)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			global.Error(err, "escape header key", "key", n)
 | 
								global.Error(err, "escape header key", "key", n)
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		trimmedName := strings.TrimSpace(name)
 | 
							trimmedName := strings.TrimSpace(name)
 | 
				
			||||||
		value, err := url.QueryUnescape(v)
 | 
							value, err := url.PathUnescape(v)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			global.Error(err, "escape header value", "value", v)
 | 
								global.Error(err, "escape header value", "value", v)
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -141,9 +141,6 @@ func NewGRPCConfig(opts ...GRPCOption) Config {
 | 
				
			||||||
	if cfg.Traces.Compression == GzipCompression {
 | 
						if cfg.Traces.Compression == GzipCompression {
 | 
				
			||||||
		cfg.DialOptions = append(cfg.DialOptions, grpc.WithDefaultCallOptions(grpc.UseCompressor(gzip.Name)))
 | 
							cfg.DialOptions = append(cfg.DialOptions, grpc.WithDefaultCallOptions(grpc.UseCompressor(gzip.Name)))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if len(cfg.DialOptions) != 0 {
 | 
					 | 
				
			||||||
		cfg.DialOptions = append(cfg.DialOptions, cfg.DialOptions...)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if cfg.ReconnectionPeriod != 0 {
 | 
						if cfg.ReconnectionPeriod != 0 {
 | 
				
			||||||
		p := grpc.ConnectParams{
 | 
							p := grpc.ConnectParams{
 | 
				
			||||||
			Backoff:           backoff.DefaultConfig,
 | 
								Backoff:           backoff.DefaultConfig,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										8
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/options.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/options.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -93,13 +93,7 @@ func compressorToCompression(compressor string) otlpconfig.Compression {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// WithCompressor sets the compressor for the gRPC client to use when sending
 | 
					// WithCompressor sets the compressor for the gRPC client to use when sending
 | 
				
			||||||
// requests. It is the responsibility of the caller to ensure that the
 | 
					// requests. Supported compressor values: "gzip".
 | 
				
			||||||
// compressor set has been registered with google.golang.org/grpc/encoding.
 | 
					 | 
				
			||||||
// This can be done by encoding.RegisterCompressor. Some compressors
 | 
					 | 
				
			||||||
// auto-register on import, such as gzip, which can be registered by calling
 | 
					 | 
				
			||||||
// `import _ "google.golang.org/grpc/encoding/gzip"`.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// This option has no effect if WithGRPCConn is used.
 | 
					 | 
				
			||||||
func WithCompressor(compressor string) Option {
 | 
					func WithCompressor(compressor string) Option {
 | 
				
			||||||
	return wrappedOption{otlpconfig.WithCompression(compressorToCompression(compressor))}
 | 
						return wrappedOption{otlpconfig.WithCompression(compressorToCompression(compressor))}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/client.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/client.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -18,6 +18,7 @@ import (
 | 
				
			||||||
	"bytes"
 | 
						"bytes"
 | 
				
			||||||
	"compress/gzip"
 | 
						"compress/gzip"
 | 
				
			||||||
	"context"
 | 
						"context"
 | 
				
			||||||
 | 
						"errors"
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"io"
 | 
						"io"
 | 
				
			||||||
	"net"
 | 
						"net"
 | 
				
			||||||
| 
						 | 
					@ -152,6 +153,10 @@ func (d *client) UploadTraces(ctx context.Context, protoSpans []*tracepb.Resourc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		request.reset(ctx)
 | 
							request.reset(ctx)
 | 
				
			||||||
		resp, err := d.client.Do(request.Request)
 | 
							resp, err := d.client.Do(request.Request)
 | 
				
			||||||
 | 
							var urlErr *url.Error
 | 
				
			||||||
 | 
							if errors.As(err, &urlErr) && urlErr.Temporary() {
 | 
				
			||||||
 | 
								return newResponseError(http.Header{})
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return err
 | 
								return err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					@ -190,7 +195,10 @@ func (d *client) UploadTraces(ctx context.Context, protoSpans []*tracepb.Resourc
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			return nil
 | 
								return nil
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case sc == http.StatusTooManyRequests, sc == http.StatusServiceUnavailable:
 | 
							case sc == http.StatusTooManyRequests,
 | 
				
			||||||
 | 
								sc == http.StatusBadGateway,
 | 
				
			||||||
 | 
								sc == http.StatusServiceUnavailable,
 | 
				
			||||||
 | 
								sc == http.StatusGatewayTimeout:
 | 
				
			||||||
			// Retry-able failures.  Drain the body to reuse the connection.
 | 
								// Retry-able failures.  Drain the body to reuse the connection.
 | 
				
			||||||
			if _, err := io.Copy(io.Discard, resp.Body); err != nil {
 | 
								if _, err := io.Copy(io.Discard, resp.Body); err != nil {
 | 
				
			||||||
				otel.Handle(err)
 | 
									otel.Handle(err)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										59
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/doc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										59
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/doc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -13,7 +13,62 @@
 | 
				
			||||||
// limitations under the License.
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
Package otlptracehttp a client that sends traces to the collector using HTTP
 | 
					Package otlptracehttp provides an OTLP span exporter using HTTP with protobuf payloads.
 | 
				
			||||||
with binary protobuf payloads.
 | 
					By default the telemetry is sent to https://localhost:4318/v1/traces.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Exporter should be created using [New].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The environment variables described below can be used for configuration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_ENDPOINT (default: "https://localhost:4318") -
 | 
				
			||||||
 | 
					target base URL ("/v1/traces" is appended) to which the exporter sends telemetry.
 | 
				
			||||||
 | 
					The value must contain a scheme ("http" or "https") and host.
 | 
				
			||||||
 | 
					The value may additionally contain a port and a path.
 | 
				
			||||||
 | 
					The value should not contain a query string or fragment.
 | 
				
			||||||
 | 
					The configuration can be overridden by OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
 | 
				
			||||||
 | 
					environment variable and by [WithEndpoint], [WithInsecure] options.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_ENDPOINT (default: "https://localhost:4318/v1/traces") -
 | 
				
			||||||
 | 
					target URL to which the exporter sends telemetry.
 | 
				
			||||||
 | 
					The value must contain a scheme ("http" or "https") and host.
 | 
				
			||||||
 | 
					The value may additionally contain a port and a path.
 | 
				
			||||||
 | 
					The value should not contain a query string or fragment.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithEndpoint], [WitnInsecure], [WithURLPath] options.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_HEADERS, OTEL_EXPORTER_OTLP_TRACES_HEADERS (default: none) -
 | 
				
			||||||
 | 
					key-value pairs used as headers associated with HTTP requests.
 | 
				
			||||||
 | 
					The value is expected to be represented in a format matching to the [W3C Baggage HTTP Header Content Format],
 | 
				
			||||||
 | 
					except that additional semi-colon delimited metadata is not supported.
 | 
				
			||||||
 | 
					Example value: "key1=value1,key2=value2".
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_HEADERS takes precedence over OTEL_EXPORTER_OTLP_HEADERS.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithHeaders] option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TIMEOUT, OTEL_EXPORTER_OTLP_TRACES_TIMEOUT (default: "10000") -
 | 
				
			||||||
 | 
					maximum time in milliseconds the OTLP exporter waits for each batch export.
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_TIMEOUT takes precedence over OTEL_EXPORTER_OTLP_TIMEOUT.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithTimeout] option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_COMPRESSION, OTEL_EXPORTER_OTLP_TRACES_COMPRESSION (default: none) -
 | 
				
			||||||
 | 
					the compression strategy the exporter uses to compress the HTTP body.
 | 
				
			||||||
 | 
					Supported value: "gzip".
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_COMPRESSION takes precedence over OTEL_EXPORTER_OTLP_COMPRESSION.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithCompression] option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_CERTIFICATE, OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE (default: none) -
 | 
				
			||||||
 | 
					the filepath to the trusted certificate to use when verifying a server's TLS credentials.
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE takes precedence over OTEL_EXPORTER_OTLP_CERTIFICATE.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithTLSClientConfig] option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE, OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE (default: none) -
 | 
				
			||||||
 | 
					the filepath to the client certificate/chain trust for clients private key to use in mTLS communication in PEM format.
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE takes precedence over OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithTLSClientConfig] option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_CLIENT_KEY, OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY (default: none) -
 | 
				
			||||||
 | 
					the filepath  to the clients private key to use in mTLS communication in PEM format.
 | 
				
			||||||
 | 
					OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY takes precedence over OTEL_EXPORTER_OTLP_CLIENT_KEY.
 | 
				
			||||||
 | 
					The configuration can be overridden by [WithTLSClientConfig] option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[W3C Baggage HTTP Header Content Format]: https://www.w3.org/TR/baggage/#header-content
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
package otlptracehttp // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
 | 
					package otlptracehttp // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -174,13 +174,13 @@ func stringToHeader(value string) map[string]string {
 | 
				
			||||||
			global.Error(errors.New("missing '="), "parse headers", "input", header)
 | 
								global.Error(errors.New("missing '="), "parse headers", "input", header)
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		name, err := url.QueryUnescape(n)
 | 
							name, err := url.PathUnescape(n)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			global.Error(err, "escape header key", "key", n)
 | 
								global.Error(err, "escape header key", "key", n)
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		trimmedName := strings.TrimSpace(name)
 | 
							trimmedName := strings.TrimSpace(name)
 | 
				
			||||||
		value, err := url.QueryUnescape(v)
 | 
							value, err := url.PathUnescape(v)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			global.Error(err, "escape header value", "value", v)
 | 
								global.Error(err, "escape header value", "value", v)
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -141,9 +141,6 @@ func NewGRPCConfig(opts ...GRPCOption) Config {
 | 
				
			||||||
	if cfg.Traces.Compression == GzipCompression {
 | 
						if cfg.Traces.Compression == GzipCompression {
 | 
				
			||||||
		cfg.DialOptions = append(cfg.DialOptions, grpc.WithDefaultCallOptions(grpc.UseCompressor(gzip.Name)))
 | 
							cfg.DialOptions = append(cfg.DialOptions, grpc.WithDefaultCallOptions(grpc.UseCompressor(gzip.Name)))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if len(cfg.DialOptions) != 0 {
 | 
					 | 
				
			||||||
		cfg.DialOptions = append(cfg.DialOptions, cfg.DialOptions...)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if cfg.ReconnectionPeriod != 0 {
 | 
						if cfg.ReconnectionPeriod != 0 {
 | 
				
			||||||
		p := grpc.ConnectParams{
 | 
							p := grpc.ConnectParams{
 | 
				
			||||||
			Backoff:           backoff.DefaultConfig,
 | 
								Backoff:           backoff.DefaultConfig,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -16,5 +16,5 @@ package otlptrace // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Version is the current release version of the OpenTelemetry OTLP trace exporter in use.
 | 
					// Version is the current release version of the OpenTelemetry OTLP trace exporter in use.
 | 
				
			||||||
func Version() string {
 | 
					func Version() string {
 | 
				
			||||||
	return "1.19.0"
 | 
						return "1.20.0"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										36
									
								
								vendor/go.opentelemetry.io/otel/internal/global/instruments.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								vendor/go.opentelemetry.io/otel/internal/global/instruments.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -37,8 +37,10 @@ type afCounter struct {
 | 
				
			||||||
	delegate atomic.Value // metric.Float64ObservableCounter
 | 
						delegate atomic.Value // metric.Float64ObservableCounter
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ unwrapper = (*afCounter)(nil)
 | 
					var (
 | 
				
			||||||
var _ metric.Float64ObservableCounter = (*afCounter)(nil)
 | 
						_ unwrapper                       = (*afCounter)(nil)
 | 
				
			||||||
 | 
						_ metric.Float64ObservableCounter = (*afCounter)(nil)
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (i *afCounter) setDelegate(m metric.Meter) {
 | 
					func (i *afCounter) setDelegate(m metric.Meter) {
 | 
				
			||||||
	ctr, err := m.Float64ObservableCounter(i.name, i.opts...)
 | 
						ctr, err := m.Float64ObservableCounter(i.name, i.opts...)
 | 
				
			||||||
| 
						 | 
					@ -66,8 +68,10 @@ type afUpDownCounter struct {
 | 
				
			||||||
	delegate atomic.Value // metric.Float64ObservableUpDownCounter
 | 
						delegate atomic.Value // metric.Float64ObservableUpDownCounter
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ unwrapper = (*afUpDownCounter)(nil)
 | 
					var (
 | 
				
			||||||
var _ metric.Float64ObservableUpDownCounter = (*afUpDownCounter)(nil)
 | 
						_ unwrapper                             = (*afUpDownCounter)(nil)
 | 
				
			||||||
 | 
						_ metric.Float64ObservableUpDownCounter = (*afUpDownCounter)(nil)
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (i *afUpDownCounter) setDelegate(m metric.Meter) {
 | 
					func (i *afUpDownCounter) setDelegate(m metric.Meter) {
 | 
				
			||||||
	ctr, err := m.Float64ObservableUpDownCounter(i.name, i.opts...)
 | 
						ctr, err := m.Float64ObservableUpDownCounter(i.name, i.opts...)
 | 
				
			||||||
| 
						 | 
					@ -95,8 +99,10 @@ type afGauge struct {
 | 
				
			||||||
	delegate atomic.Value // metric.Float64ObservableGauge
 | 
						delegate atomic.Value // metric.Float64ObservableGauge
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ unwrapper = (*afGauge)(nil)
 | 
					var (
 | 
				
			||||||
var _ metric.Float64ObservableGauge = (*afGauge)(nil)
 | 
						_ unwrapper                     = (*afGauge)(nil)
 | 
				
			||||||
 | 
						_ metric.Float64ObservableGauge = (*afGauge)(nil)
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (i *afGauge) setDelegate(m metric.Meter) {
 | 
					func (i *afGauge) setDelegate(m metric.Meter) {
 | 
				
			||||||
	ctr, err := m.Float64ObservableGauge(i.name, i.opts...)
 | 
						ctr, err := m.Float64ObservableGauge(i.name, i.opts...)
 | 
				
			||||||
| 
						 | 
					@ -124,8 +130,10 @@ type aiCounter struct {
 | 
				
			||||||
	delegate atomic.Value // metric.Int64ObservableCounter
 | 
						delegate atomic.Value // metric.Int64ObservableCounter
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ unwrapper = (*aiCounter)(nil)
 | 
					var (
 | 
				
			||||||
var _ metric.Int64ObservableCounter = (*aiCounter)(nil)
 | 
						_ unwrapper                     = (*aiCounter)(nil)
 | 
				
			||||||
 | 
						_ metric.Int64ObservableCounter = (*aiCounter)(nil)
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (i *aiCounter) setDelegate(m metric.Meter) {
 | 
					func (i *aiCounter) setDelegate(m metric.Meter) {
 | 
				
			||||||
	ctr, err := m.Int64ObservableCounter(i.name, i.opts...)
 | 
						ctr, err := m.Int64ObservableCounter(i.name, i.opts...)
 | 
				
			||||||
| 
						 | 
					@ -153,8 +161,10 @@ type aiUpDownCounter struct {
 | 
				
			||||||
	delegate atomic.Value // metric.Int64ObservableUpDownCounter
 | 
						delegate atomic.Value // metric.Int64ObservableUpDownCounter
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ unwrapper = (*aiUpDownCounter)(nil)
 | 
					var (
 | 
				
			||||||
var _ metric.Int64ObservableUpDownCounter = (*aiUpDownCounter)(nil)
 | 
						_ unwrapper                           = (*aiUpDownCounter)(nil)
 | 
				
			||||||
 | 
						_ metric.Int64ObservableUpDownCounter = (*aiUpDownCounter)(nil)
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (i *aiUpDownCounter) setDelegate(m metric.Meter) {
 | 
					func (i *aiUpDownCounter) setDelegate(m metric.Meter) {
 | 
				
			||||||
	ctr, err := m.Int64ObservableUpDownCounter(i.name, i.opts...)
 | 
						ctr, err := m.Int64ObservableUpDownCounter(i.name, i.opts...)
 | 
				
			||||||
| 
						 | 
					@ -182,8 +192,10 @@ type aiGauge struct {
 | 
				
			||||||
	delegate atomic.Value // metric.Int64ObservableGauge
 | 
						delegate atomic.Value // metric.Int64ObservableGauge
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ unwrapper = (*aiGauge)(nil)
 | 
					var (
 | 
				
			||||||
var _ metric.Int64ObservableGauge = (*aiGauge)(nil)
 | 
						_ unwrapper                   = (*aiGauge)(nil)
 | 
				
			||||||
 | 
						_ metric.Int64ObservableGauge = (*aiGauge)(nil)
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (i *aiGauge) setDelegate(m metric.Meter) {
 | 
					func (i *aiGauge) setDelegate(m metric.Meter) {
 | 
				
			||||||
	ctr, err := m.Int64ObservableGauge(i.name, i.opts...)
 | 
						ctr, err := m.Int64ObservableGauge(i.name, i.opts...)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										7
									
								
								vendor/go.opentelemetry.io/otel/internal/global/trace.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/go.opentelemetry.io/otel/internal/global/trace.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -39,6 +39,7 @@ import (
 | 
				
			||||||
	"go.opentelemetry.io/otel/attribute"
 | 
						"go.opentelemetry.io/otel/attribute"
 | 
				
			||||||
	"go.opentelemetry.io/otel/codes"
 | 
						"go.opentelemetry.io/otel/codes"
 | 
				
			||||||
	"go.opentelemetry.io/otel/trace"
 | 
						"go.opentelemetry.io/otel/trace"
 | 
				
			||||||
 | 
						"go.opentelemetry.io/otel/trace/embedded"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// tracerProvider is a placeholder for a configured SDK TracerProvider.
 | 
					// tracerProvider is a placeholder for a configured SDK TracerProvider.
 | 
				
			||||||
| 
						 | 
					@ -46,6 +47,8 @@ import (
 | 
				
			||||||
// All TracerProvider functionality is forwarded to a delegate once
 | 
					// All TracerProvider functionality is forwarded to a delegate once
 | 
				
			||||||
// configured.
 | 
					// configured.
 | 
				
			||||||
type tracerProvider struct {
 | 
					type tracerProvider struct {
 | 
				
			||||||
 | 
						embedded.TracerProvider
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mtx      sync.Mutex
 | 
						mtx      sync.Mutex
 | 
				
			||||||
	tracers  map[il]*tracer
 | 
						tracers  map[il]*tracer
 | 
				
			||||||
	delegate trace.TracerProvider
 | 
						delegate trace.TracerProvider
 | 
				
			||||||
| 
						 | 
					@ -119,6 +122,8 @@ type il struct {
 | 
				
			||||||
// All Tracer functionality is forwarded to a delegate once configured.
 | 
					// All Tracer functionality is forwarded to a delegate once configured.
 | 
				
			||||||
// Otherwise, all functionality is forwarded to a NoopTracer.
 | 
					// Otherwise, all functionality is forwarded to a NoopTracer.
 | 
				
			||||||
type tracer struct {
 | 
					type tracer struct {
 | 
				
			||||||
 | 
						embedded.Tracer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	name     string
 | 
						name     string
 | 
				
			||||||
	opts     []trace.TracerOption
 | 
						opts     []trace.TracerOption
 | 
				
			||||||
	provider *tracerProvider
 | 
						provider *tracerProvider
 | 
				
			||||||
| 
						 | 
					@ -156,6 +161,8 @@ func (t *tracer) Start(ctx context.Context, name string, opts ...trace.SpanStart
 | 
				
			||||||
// SpanContext. It performs no operations other than to return the wrapped
 | 
					// SpanContext. It performs no operations other than to return the wrapped
 | 
				
			||||||
// SpanContext.
 | 
					// SpanContext.
 | 
				
			||||||
type nonRecordingSpan struct {
 | 
					type nonRecordingSpan struct {
 | 
				
			||||||
 | 
						embedded.Span
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sc     trace.SpanContext
 | 
						sc     trace.SpanContext
 | 
				
			||||||
	tracer *tracer
 | 
						tracer *tracer
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/metric/doc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/metric/doc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -149,7 +149,7 @@ of [go.opentelemetry.io/otel/metric].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Finally, an author can embed another implementation in theirs. The embedded
 | 
					Finally, an author can embed another implementation in theirs. The embedded
 | 
				
			||||||
implementation will be used for methods not defined by the author. For example,
 | 
					implementation will be used for methods not defined by the author. For example,
 | 
				
			||||||
an author who want to default to silently dropping the call can use
 | 
					an author who wants to default to silently dropping the call can use
 | 
				
			||||||
[go.opentelemetry.io/otel/metric/noop]:
 | 
					[go.opentelemetry.io/otel/metric/noop]:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	import "go.opentelemetry.io/otel/metric/noop"
 | 
						import "go.opentelemetry.io/otel/metric/noop"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										23
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -39,6 +39,12 @@ type InstrumentOption interface {
 | 
				
			||||||
	Float64ObservableGaugeOption
 | 
						Float64ObservableGaugeOption
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// HistogramOption applies options to histogram instruments.
 | 
				
			||||||
 | 
					type HistogramOption interface {
 | 
				
			||||||
 | 
						Int64HistogramOption
 | 
				
			||||||
 | 
						Float64HistogramOption
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type descOpt string
 | 
					type descOpt string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (o descOpt) applyFloat64Counter(c Float64CounterConfig) Float64CounterConfig {
 | 
					func (o descOpt) applyFloat64Counter(c Float64CounterConfig) Float64CounterConfig {
 | 
				
			||||||
| 
						 | 
					@ -171,6 +177,23 @@ func (o unitOpt) applyInt64ObservableGauge(c Int64ObservableGaugeConfig) Int64Ob
 | 
				
			||||||
// The unit u should be defined using the appropriate [UCUM](https://ucum.org) case-sensitive code.
 | 
					// The unit u should be defined using the appropriate [UCUM](https://ucum.org) case-sensitive code.
 | 
				
			||||||
func WithUnit(u string) InstrumentOption { return unitOpt(u) }
 | 
					func WithUnit(u string) InstrumentOption { return unitOpt(u) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// WithExplicitBucketBoundaries sets the instrument explicit bucket boundaries.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// This option is considered "advisory", and may be ignored by API implementations.
 | 
				
			||||||
 | 
					func WithExplicitBucketBoundaries(bounds ...float64) HistogramOption { return bucketOpt(bounds) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type bucketOpt []float64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (o bucketOpt) applyFloat64Histogram(c Float64HistogramConfig) Float64HistogramConfig {
 | 
				
			||||||
 | 
						c.explicitBucketBoundaries = o
 | 
				
			||||||
 | 
						return c
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (o bucketOpt) applyInt64Histogram(c Int64HistogramConfig) Int64HistogramConfig {
 | 
				
			||||||
 | 
						c.explicitBucketBoundaries = o
 | 
				
			||||||
 | 
						return c
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// AddOption applies options to an addition measurement. See
 | 
					// AddOption applies options to an addition measurement. See
 | 
				
			||||||
// [MeasurementOption] for other options that can be used as an AddOption.
 | 
					// [MeasurementOption] for other options that can be used as an AddOption.
 | 
				
			||||||
type AddOption interface {
 | 
					type AddOption interface {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										6
									
								
								vendor/go.opentelemetry.io/otel/metric/syncfloat64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/go.opentelemetry.io/otel/metric/syncfloat64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -149,6 +149,7 @@ type Float64Histogram interface {
 | 
				
			||||||
type Float64HistogramConfig struct {
 | 
					type Float64HistogramConfig struct {
 | 
				
			||||||
	description              string
 | 
						description              string
 | 
				
			||||||
	unit                     string
 | 
						unit                     string
 | 
				
			||||||
 | 
						explicitBucketBoundaries []float64
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewFloat64HistogramConfig returns a new [Float64HistogramConfig] with all
 | 
					// NewFloat64HistogramConfig returns a new [Float64HistogramConfig] with all
 | 
				
			||||||
| 
						 | 
					@ -171,6 +172,11 @@ func (c Float64HistogramConfig) Unit() string {
 | 
				
			||||||
	return c.unit
 | 
						return c.unit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ExplicitBucketBoundaries returns the configured explicit bucket boundaries.
 | 
				
			||||||
 | 
					func (c Float64HistogramConfig) ExplicitBucketBoundaries() []float64 {
 | 
				
			||||||
 | 
						return c.explicitBucketBoundaries
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Float64HistogramOption applies options to a [Float64HistogramConfig]. See
 | 
					// Float64HistogramOption applies options to a [Float64HistogramConfig]. See
 | 
				
			||||||
// [InstrumentOption] for other options that can be used as a
 | 
					// [InstrumentOption] for other options that can be used as a
 | 
				
			||||||
// Float64HistogramOption.
 | 
					// Float64HistogramOption.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										6
									
								
								vendor/go.opentelemetry.io/otel/metric/syncint64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/go.opentelemetry.io/otel/metric/syncint64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -149,6 +149,7 @@ type Int64Histogram interface {
 | 
				
			||||||
type Int64HistogramConfig struct {
 | 
					type Int64HistogramConfig struct {
 | 
				
			||||||
	description              string
 | 
						description              string
 | 
				
			||||||
	unit                     string
 | 
						unit                     string
 | 
				
			||||||
 | 
						explicitBucketBoundaries []float64
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewInt64HistogramConfig returns a new [Int64HistogramConfig] with all opts
 | 
					// NewInt64HistogramConfig returns a new [Int64HistogramConfig] with all opts
 | 
				
			||||||
| 
						 | 
					@ -171,6 +172,11 @@ func (c Int64HistogramConfig) Unit() string {
 | 
				
			||||||
	return c.unit
 | 
						return c.unit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ExplicitBucketBoundaries returns the configured explicit bucket boundaries.
 | 
				
			||||||
 | 
					func (c Int64HistogramConfig) ExplicitBucketBoundaries() []float64 {
 | 
				
			||||||
 | 
						return c.explicitBucketBoundaries
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Int64HistogramOption applies options to a [Int64HistogramConfig]. See
 | 
					// Int64HistogramOption applies options to a [Int64HistogramConfig]. See
 | 
				
			||||||
// [InstrumentOption] for other options that can be used as an
 | 
					// [InstrumentOption] for other options that can be used as an
 | 
				
			||||||
// Int64HistogramOption.
 | 
					// Int64HistogramOption.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										6
									
								
								vendor/go.opentelemetry.io/otel/propagation/trace_context.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/go.opentelemetry.io/otel/propagation/trace_context.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -40,8 +40,10 @@ const (
 | 
				
			||||||
// their proprietary information.
 | 
					// their proprietary information.
 | 
				
			||||||
type TraceContext struct{}
 | 
					type TraceContext struct{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ TextMapPropagator = TraceContext{}
 | 
					var (
 | 
				
			||||||
var traceCtxRegExp = regexp.MustCompile("^(?P<version>[0-9a-f]{2})-(?P<traceID>[a-f0-9]{32})-(?P<spanID>[a-f0-9]{16})-(?P<traceFlags>[a-f0-9]{2})(?:-.*)?$")
 | 
						_              TextMapPropagator = TraceContext{}
 | 
				
			||||||
 | 
						traceCtxRegExp                   = regexp.MustCompile("^(?P<version>[0-9a-f]{2})-(?P<traceID>[a-f0-9]{32})-(?P<spanID>[a-f0-9]{16})-(?P<traceFlags>[a-f0-9]{2})(?:-.*)?$")
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Inject set tracecontext from the Context into the carrier.
 | 
					// Inject set tracecontext from the Context into the carrier.
 | 
				
			||||||
func (tc TraceContext) Inject(ctx context.Context, carrier TextMapCarrier) {
 | 
					func (tc TraceContext) Inject(ctx context.Context, carrier TextMapCarrier) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/requirements.txt
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/requirements.txt
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1 +1 @@
 | 
				
			||||||
codespell==2.2.5
 | 
					codespell==2.2.6
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/auto.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/auto.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -21,12 +21,10 @@ import (
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					 | 
				
			||||||
// ErrPartialResource is returned by a detector when complete source
 | 
					// ErrPartialResource is returned by a detector when complete source
 | 
				
			||||||
// information for a Resource is unavailable or the source information
 | 
					// information for a Resource is unavailable or the source information
 | 
				
			||||||
// contains invalid values that are omitted from the returned Resource.
 | 
					// contains invalid values that are omitted from the returned Resource.
 | 
				
			||||||
	ErrPartialResource = errors.New("partial resource")
 | 
					var ErrPartialResource = errors.New("partial resource")
 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Detector detects OpenTelemetry resource information.
 | 
					// Detector detects OpenTelemetry resource information.
 | 
				
			||||||
type Detector interface {
 | 
					type Detector interface {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										8
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/env.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/env.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -28,16 +28,14 @@ import (
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	// resourceAttrKey is the environment variable name OpenTelemetry Resource information will be read from.
 | 
						// resourceAttrKey is the environment variable name OpenTelemetry Resource information will be read from.
 | 
				
			||||||
	resourceAttrKey = "OTEL_RESOURCE_ATTRIBUTES"
 | 
						resourceAttrKey = "OTEL_RESOURCE_ATTRIBUTES" //nolint:gosec // False positive G101: Potential hardcoded credentials
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// svcNameKey is the environment variable name that Service Name information will be read from.
 | 
						// svcNameKey is the environment variable name that Service Name information will be read from.
 | 
				
			||||||
	svcNameKey = "OTEL_SERVICE_NAME"
 | 
						svcNameKey = "OTEL_SERVICE_NAME"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					 | 
				
			||||||
// errMissingValue is returned when a resource value is missing.
 | 
					// errMissingValue is returned when a resource value is missing.
 | 
				
			||||||
	errMissingValue = fmt.Errorf("%w: missing value", ErrPartialResource)
 | 
					var errMissingValue = fmt.Errorf("%w: missing value", ErrPartialResource)
 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// fromEnv is a Detector that implements the Detector and collects
 | 
					// fromEnv is a Detector that implements the Detector and collects
 | 
				
			||||||
// resources from environment.  This Detector is included as a
 | 
					// resources from environment.  This Detector is included as a
 | 
				
			||||||
| 
						 | 
					@ -91,7 +89,7 @@ func constructOTResources(s string) (*Resource, error) {
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		key := strings.TrimSpace(k)
 | 
							key := strings.TrimSpace(k)
 | 
				
			||||||
		val, err := url.QueryUnescape(strings.TrimSpace(v))
 | 
							val, err := url.PathUnescape(strings.TrimSpace(v))
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			// Retain original value if decoding fails, otherwise it will be
 | 
								// Retain original value if decoding fails, otherwise it will be
 | 
				
			||||||
			// an empty string.
 | 
								// an empty string.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										7
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/os.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/os.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -36,8 +36,10 @@ func setOSDescriptionProvider(osDescriptionProvider osDescriptionProvider) {
 | 
				
			||||||
	osDescription = osDescriptionProvider
 | 
						osDescription = osDescriptionProvider
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type osTypeDetector struct{}
 | 
					type (
 | 
				
			||||||
type osDescriptionDetector struct{}
 | 
						osTypeDetector        struct{}
 | 
				
			||||||
 | 
						osDescriptionDetector struct{}
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Detect returns a *Resource that describes the operating system type the
 | 
					// Detect returns a *Resource that describes the operating system type the
 | 
				
			||||||
// service is running on.
 | 
					// service is running on.
 | 
				
			||||||
| 
						 | 
					@ -56,7 +58,6 @@ func (osTypeDetector) Detect(ctx context.Context) (*Resource, error) {
 | 
				
			||||||
// service is running on.
 | 
					// service is running on.
 | 
				
			||||||
func (osDescriptionDetector) Detect(ctx context.Context) (*Resource, error) {
 | 
					func (osDescriptionDetector) Detect(ctx context.Context) (*Resource, error) {
 | 
				
			||||||
	description, err := osDescription()
 | 
						description, err := osDescription()
 | 
				
			||||||
 | 
					 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										36
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/process.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/process.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -25,14 +25,16 @@ import (
 | 
				
			||||||
	semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
 | 
						semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type pidProvider func() int
 | 
					type (
 | 
				
			||||||
type executablePathProvider func() (string, error)
 | 
						pidProvider            func() int
 | 
				
			||||||
type commandArgsProvider func() []string
 | 
						executablePathProvider func() (string, error)
 | 
				
			||||||
type ownerProvider func() (*user.User, error)
 | 
						commandArgsProvider    func() []string
 | 
				
			||||||
type runtimeNameProvider func() string
 | 
						ownerProvider          func() (*user.User, error)
 | 
				
			||||||
type runtimeVersionProvider func() string
 | 
						runtimeNameProvider    func() string
 | 
				
			||||||
type runtimeOSProvider func() string
 | 
						runtimeVersionProvider func() string
 | 
				
			||||||
type runtimeArchProvider func() string
 | 
						runtimeOSProvider      func() string
 | 
				
			||||||
 | 
						runtimeArchProvider    func() string
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	defaultPidProvider            pidProvider            = os.Getpid
 | 
						defaultPidProvider            pidProvider            = os.Getpid
 | 
				
			||||||
| 
						 | 
					@ -108,14 +110,16 @@ func setUserProviders(ownerProvider ownerProvider) {
 | 
				
			||||||
	owner = ownerProvider
 | 
						owner = ownerProvider
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type processPIDDetector struct{}
 | 
					type (
 | 
				
			||||||
type processExecutableNameDetector struct{}
 | 
						processPIDDetector                struct{}
 | 
				
			||||||
type processExecutablePathDetector struct{}
 | 
						processExecutableNameDetector     struct{}
 | 
				
			||||||
type processCommandArgsDetector struct{}
 | 
						processExecutablePathDetector     struct{}
 | 
				
			||||||
type processOwnerDetector struct{}
 | 
						processCommandArgsDetector        struct{}
 | 
				
			||||||
type processRuntimeNameDetector struct{}
 | 
						processOwnerDetector              struct{}
 | 
				
			||||||
type processRuntimeVersionDetector struct{}
 | 
						processRuntimeNameDetector        struct{}
 | 
				
			||||||
type processRuntimeDescriptionDetector struct{}
 | 
						processRuntimeVersionDetector     struct{}
 | 
				
			||||||
 | 
						processRuntimeDescriptionDetector struct{}
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Detect returns a *Resource that describes the process identifier (PID) of the
 | 
					// Detect returns a *Resource that describes the process identifier (PID) of the
 | 
				
			||||||
// executing process.
 | 
					// executing process.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										8
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/provider.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/provider.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -25,6 +25,8 @@ import (
 | 
				
			||||||
	"go.opentelemetry.io/otel/sdk/instrumentation"
 | 
						"go.opentelemetry.io/otel/sdk/instrumentation"
 | 
				
			||||||
	"go.opentelemetry.io/otel/sdk/resource"
 | 
						"go.opentelemetry.io/otel/sdk/resource"
 | 
				
			||||||
	"go.opentelemetry.io/otel/trace"
 | 
						"go.opentelemetry.io/otel/trace"
 | 
				
			||||||
 | 
						"go.opentelemetry.io/otel/trace/embedded"
 | 
				
			||||||
 | 
						"go.opentelemetry.io/otel/trace/noop"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
| 
						 | 
					@ -73,6 +75,8 @@ func (cfg tracerProviderConfig) MarshalLog() interface{} {
 | 
				
			||||||
// TracerProvider is an OpenTelemetry TracerProvider. It provides Tracers to
 | 
					// TracerProvider is an OpenTelemetry TracerProvider. It provides Tracers to
 | 
				
			||||||
// instrumentation so it can trace operational flow through a system.
 | 
					// instrumentation so it can trace operational flow through a system.
 | 
				
			||||||
type TracerProvider struct {
 | 
					type TracerProvider struct {
 | 
				
			||||||
 | 
						embedded.TracerProvider
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mu             sync.Mutex
 | 
						mu             sync.Mutex
 | 
				
			||||||
	namedTracer    map[instrumentation.Scope]*tracer
 | 
						namedTracer    map[instrumentation.Scope]*tracer
 | 
				
			||||||
	spanProcessors atomic.Pointer[spanProcessorStates]
 | 
						spanProcessors atomic.Pointer[spanProcessorStates]
 | 
				
			||||||
| 
						 | 
					@ -139,7 +143,7 @@ func NewTracerProvider(opts ...TracerProviderOption) *TracerProvider {
 | 
				
			||||||
func (p *TracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
 | 
					func (p *TracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
 | 
				
			||||||
	// This check happens before the mutex is acquired to avoid deadlocking if Tracer() is called from within Shutdown().
 | 
						// This check happens before the mutex is acquired to avoid deadlocking if Tracer() is called from within Shutdown().
 | 
				
			||||||
	if p.isShutdown.Load() {
 | 
						if p.isShutdown.Load() {
 | 
				
			||||||
		return trace.NewNoopTracerProvider().Tracer(name, opts...)
 | 
							return noop.NewTracerProvider().Tracer(name, opts...)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	c := trace.NewTracerConfig(opts...)
 | 
						c := trace.NewTracerConfig(opts...)
 | 
				
			||||||
	if name == "" {
 | 
						if name == "" {
 | 
				
			||||||
| 
						 | 
					@ -157,7 +161,7 @@ func (p *TracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.T
 | 
				
			||||||
		// Must check the flag after acquiring the mutex to avoid returning a valid tracer if Shutdown() ran
 | 
							// Must check the flag after acquiring the mutex to avoid returning a valid tracer if Shutdown() ran
 | 
				
			||||||
		// after the first check above but before we acquired the mutex.
 | 
							// after the first check above but before we acquired the mutex.
 | 
				
			||||||
		if p.isShutdown.Load() {
 | 
							if p.isShutdown.Load() {
 | 
				
			||||||
			return trace.NewNoopTracerProvider().Tracer(name, opts...), true
 | 
								return noop.NewTracerProvider().Tracer(name, opts...), true
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		t, ok := p.namedTracer[is]
 | 
							t, ok := p.namedTracer[is]
 | 
				
			||||||
		if !ok {
 | 
							if !ok {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -158,9 +158,9 @@ func NeverSample() Sampler {
 | 
				
			||||||
	return alwaysOffSampler{}
 | 
						return alwaysOffSampler{}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ParentBased returns a composite sampler which behaves differently,
 | 
					// ParentBased returns a sampler decorator which behaves differently,
 | 
				
			||||||
// based on the parent of the span. If the span has no parent,
 | 
					// based on the parent of the span. If the span has no parent,
 | 
				
			||||||
// the root(Sampler) is used to make sampling decision. If the span has
 | 
					// the decorated sampler is used to make sampling decision. If the span has
 | 
				
			||||||
// a parent, depending on whether the parent is remote and whether it
 | 
					// a parent, depending on whether the parent is remote and whether it
 | 
				
			||||||
// is sampled, one of the following samplers will apply:
 | 
					// is sampled, one of the following samplers will apply:
 | 
				
			||||||
//   - remoteParentSampled(Sampler) (default: AlwaysOn)
 | 
					//   - remoteParentSampled(Sampler) (default: AlwaysOn)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										11
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/span.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/span.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -32,6 +32,7 @@ import (
 | 
				
			||||||
	"go.opentelemetry.io/otel/sdk/resource"
 | 
						"go.opentelemetry.io/otel/sdk/resource"
 | 
				
			||||||
	semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
 | 
						semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
 | 
				
			||||||
	"go.opentelemetry.io/otel/trace"
 | 
						"go.opentelemetry.io/otel/trace"
 | 
				
			||||||
 | 
						"go.opentelemetry.io/otel/trace/embedded"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ReadOnlySpan allows reading information from the data structure underlying a
 | 
					// ReadOnlySpan allows reading information from the data structure underlying a
 | 
				
			||||||
| 
						 | 
					@ -108,6 +109,8 @@ type ReadWriteSpan interface {
 | 
				
			||||||
// recordingSpan is an implementation of the OpenTelemetry Span API
 | 
					// recordingSpan is an implementation of the OpenTelemetry Span API
 | 
				
			||||||
// representing the individual component of a trace that is sampled.
 | 
					// representing the individual component of a trace that is sampled.
 | 
				
			||||||
type recordingSpan struct {
 | 
					type recordingSpan struct {
 | 
				
			||||||
 | 
						embedded.Span
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// mu protects the contents of this span.
 | 
						// mu protects the contents of this span.
 | 
				
			||||||
	mu sync.Mutex
 | 
						mu sync.Mutex
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -158,8 +161,10 @@ type recordingSpan struct {
 | 
				
			||||||
	tracer *tracer
 | 
						tracer *tracer
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ ReadWriteSpan = (*recordingSpan)(nil)
 | 
					var (
 | 
				
			||||||
var _ runtimeTracer = (*recordingSpan)(nil)
 | 
						_ ReadWriteSpan = (*recordingSpan)(nil)
 | 
				
			||||||
 | 
						_ runtimeTracer = (*recordingSpan)(nil)
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// SpanContext returns the SpanContext of this span.
 | 
					// SpanContext returns the SpanContext of this span.
 | 
				
			||||||
func (s *recordingSpan) SpanContext() trace.SpanContext {
 | 
					func (s *recordingSpan) SpanContext() trace.SpanContext {
 | 
				
			||||||
| 
						 | 
					@ -772,6 +777,8 @@ func (s *recordingSpan) runtimeTrace(ctx context.Context) context.Context {
 | 
				
			||||||
// that wraps a SpanContext. It performs no operations other than to return
 | 
					// that wraps a SpanContext. It performs no operations other than to return
 | 
				
			||||||
// the wrapped SpanContext or TracerProvider that created it.
 | 
					// the wrapped SpanContext or TracerProvider that created it.
 | 
				
			||||||
type nonRecordingSpan struct {
 | 
					type nonRecordingSpan struct {
 | 
				
			||||||
 | 
						embedded.Span
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// tracer is the SDK tracer that created this span.
 | 
						// tracer is the SDK tracer that created this span.
 | 
				
			||||||
	tracer *tracer
 | 
						tracer *tracer
 | 
				
			||||||
	sc     trace.SpanContext
 | 
						sc     trace.SpanContext
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										3
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -20,9 +20,12 @@ import (
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"go.opentelemetry.io/otel/sdk/instrumentation"
 | 
						"go.opentelemetry.io/otel/sdk/instrumentation"
 | 
				
			||||||
	"go.opentelemetry.io/otel/trace"
 | 
						"go.opentelemetry.io/otel/trace"
 | 
				
			||||||
 | 
						"go.opentelemetry.io/otel/trace/embedded"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type tracer struct {
 | 
					type tracer struct {
 | 
				
			||||||
 | 
						embedded.Tracer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	provider             *TracerProvider
 | 
						provider             *TracerProvider
 | 
				
			||||||
	instrumentationScope instrumentation.Scope
 | 
						instrumentationScope instrumentation.Scope
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/sdk/version.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/sdk/version.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -16,5 +16,5 @@ package sdk // import "go.opentelemetry.io/otel/sdk"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Version is the current release version of the OpenTelemetry SDK in use.
 | 
					// Version is the current release version of the OpenTelemetry SDK in use.
 | 
				
			||||||
func Version() string {
 | 
					func Version() string {
 | 
				
			||||||
	return "1.19.0"
 | 
						return "1.20.0"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,7 +12,7 @@
 | 
				
			||||||
// See the License for the specific language governing permissions and
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
// limitations under the License.
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package internal // import "go.opentelemetry.io/otel/semconv/internal/v2"
 | 
					package internal // import "go.opentelemetry.io/otel/semconv/internal/v4"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
| 
						 | 
					@ -30,7 +30,8 @@ type HTTPConv struct {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	EnduserIDKey                 attribute.Key
 | 
						EnduserIDKey                 attribute.Key
 | 
				
			||||||
	HTTPClientIPKey              attribute.Key
 | 
						HTTPClientIPKey              attribute.Key
 | 
				
			||||||
	HTTPFlavorKey                attribute.Key
 | 
						NetProtocolNameKey           attribute.Key
 | 
				
			||||||
 | 
						NetProtocolVersionKey        attribute.Key
 | 
				
			||||||
	HTTPMethodKey                attribute.Key
 | 
						HTTPMethodKey                attribute.Key
 | 
				
			||||||
	HTTPRequestContentLengthKey  attribute.Key
 | 
						HTTPRequestContentLengthKey  attribute.Key
 | 
				
			||||||
	HTTPResponseContentLengthKey attribute.Key
 | 
						HTTPResponseContentLengthKey attribute.Key
 | 
				
			||||||
| 
						 | 
					@ -40,7 +41,7 @@ type HTTPConv struct {
 | 
				
			||||||
	HTTPStatusCodeKey            attribute.Key
 | 
						HTTPStatusCodeKey            attribute.Key
 | 
				
			||||||
	HTTPTargetKey                attribute.Key
 | 
						HTTPTargetKey                attribute.Key
 | 
				
			||||||
	HTTPURLKey                   attribute.Key
 | 
						HTTPURLKey                   attribute.Key
 | 
				
			||||||
	HTTPUserAgentKey             attribute.Key
 | 
						UserAgentOriginalKey         attribute.Key
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ClientResponse returns attributes for an HTTP response received by a client
 | 
					// ClientResponse returns attributes for an HTTP response received by a client
 | 
				
			||||||
| 
						 | 
					@ -121,7 +122,7 @@ func (c *HTTPConv) ClientRequest(req *http.Request) []attribute.KeyValue {
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if useragent != "" {
 | 
						if useragent != "" {
 | 
				
			||||||
		attrs = append(attrs, c.HTTPUserAgentKey.String(useragent))
 | 
							attrs = append(attrs, c.UserAgentOriginalKey.String(useragent))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if l := req.ContentLength; l > 0 {
 | 
						if l := req.ContentLength; l > 0 {
 | 
				
			||||||
| 
						 | 
					@ -220,7 +221,7 @@ func (c *HTTPConv) ServerRequest(server string, req *http.Request) []attribute.K
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if useragent != "" {
 | 
						if useragent != "" {
 | 
				
			||||||
		attrs = append(attrs, c.HTTPUserAgentKey.String(useragent))
 | 
							attrs = append(attrs, c.UserAgentOriginalKey.String(useragent))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if hasUserID {
 | 
						if hasUserID {
 | 
				
			||||||
| 
						 | 
					@ -251,15 +252,15 @@ func (c *HTTPConv) scheme(https bool) attribute.KeyValue { // nolint:revive
 | 
				
			||||||
func (c *HTTPConv) proto(proto string) attribute.KeyValue {
 | 
					func (c *HTTPConv) proto(proto string) attribute.KeyValue {
 | 
				
			||||||
	switch proto {
 | 
						switch proto {
 | 
				
			||||||
	case "HTTP/1.0":
 | 
						case "HTTP/1.0":
 | 
				
			||||||
		return c.HTTPFlavorKey.String("1.0")
 | 
							return c.NetProtocolVersionKey.String("1.0")
 | 
				
			||||||
	case "HTTP/1.1":
 | 
						case "HTTP/1.1":
 | 
				
			||||||
		return c.HTTPFlavorKey.String("1.1")
 | 
							return c.NetProtocolVersionKey.String("1.1")
 | 
				
			||||||
	case "HTTP/2":
 | 
						case "HTTP/2":
 | 
				
			||||||
		return c.HTTPFlavorKey.String("2.0")
 | 
							return c.NetProtocolVersionKey.String("2.0")
 | 
				
			||||||
	case "HTTP/3":
 | 
						case "HTTP/3":
 | 
				
			||||||
		return c.HTTPFlavorKey.String("3.0")
 | 
							return c.NetProtocolVersionKey.String("3.0")
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		return c.HTTPFlavorKey.String(proto)
 | 
							return c.NetProtocolNameKey.String(proto)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,7 +12,7 @@
 | 
				
			||||||
// See the License for the specific language governing permissions and
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
// limitations under the License.
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package internal // import "go.opentelemetry.io/otel/semconv/internal/v2"
 | 
					package internal // import "go.opentelemetry.io/otel/semconv/internal/v4"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"net"
 | 
						"net"
 | 
				
			||||||
							
								
								
									
										20
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/doc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.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.17.0 version of the OpenTelemetry specification.
 | 
					 | 
				
			||||||
package semconv // import "go.opentelemetry.io/otel/semconv/v1.17.0"
 | 
					 | 
				
			||||||
							
								
								
									
										199
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/event.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										199
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/event.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,199 +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.17.0"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import "go.opentelemetry.io/otel/attribute"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// This semantic convention defines the attributes used to represent a feature
 | 
					 | 
				
			||||||
// flag evaluation as an event.
 | 
					 | 
				
			||||||
const (
 | 
					 | 
				
			||||||
	// FeatureFlagKeyKey is the attribute Key conforming to the
 | 
					 | 
				
			||||||
	// "feature_flag.key" semantic conventions. It represents the unique
 | 
					 | 
				
			||||||
	// identifier of the feature flag.
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// Type: string
 | 
					 | 
				
			||||||
	// RequirementLevel: Required
 | 
					 | 
				
			||||||
	// Stability: stable
 | 
					 | 
				
			||||||
	// Examples: 'logo-color'
 | 
					 | 
				
			||||||
	FeatureFlagKeyKey = attribute.Key("feature_flag.key")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// FeatureFlagProviderNameKey is the attribute Key conforming to the
 | 
					 | 
				
			||||||
	// "feature_flag.provider_name" semantic conventions. It represents the
 | 
					 | 
				
			||||||
	// name of the service provider that performs the flag evaluation.
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// Type: string
 | 
					 | 
				
			||||||
	// RequirementLevel: Recommended
 | 
					 | 
				
			||||||
	// Stability: stable
 | 
					 | 
				
			||||||
	// Examples: 'Flag Manager'
 | 
					 | 
				
			||||||
	FeatureFlagProviderNameKey = attribute.Key("feature_flag.provider_name")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// FeatureFlagVariantKey is the attribute Key conforming to the
 | 
					 | 
				
			||||||
	// "feature_flag.variant" semantic conventions. It represents the sHOULD be
 | 
					 | 
				
			||||||
	// a semantic identifier for a value. If one is unavailable, a stringified
 | 
					 | 
				
			||||||
	// version of the value can be used.
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// Type: string
 | 
					 | 
				
			||||||
	// RequirementLevel: Recommended
 | 
					 | 
				
			||||||
	// Stability: stable
 | 
					 | 
				
			||||||
	// Examples: 'red', 'true', 'on'
 | 
					 | 
				
			||||||
	// Note: A semantic identifier, commonly referred to as a variant, provides
 | 
					 | 
				
			||||||
	// a means
 | 
					 | 
				
			||||||
	// for referring to a value without including the value itself. This can
 | 
					 | 
				
			||||||
	// provide additional context for understanding the meaning behind a value.
 | 
					 | 
				
			||||||
	// For example, the variant `red` maybe be used for the value `#c05543`.
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// A stringified version of the value can be used in situations where a
 | 
					 | 
				
			||||||
	// semantic identifier is unavailable. String representation of the value
 | 
					 | 
				
			||||||
	// should be determined by the implementer.
 | 
					 | 
				
			||||||
	FeatureFlagVariantKey = attribute.Key("feature_flag.variant")
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// FeatureFlagKey returns an attribute KeyValue conforming to the
 | 
					 | 
				
			||||||
// "feature_flag.key" semantic conventions. It represents the unique identifier
 | 
					 | 
				
			||||||
// of the feature flag.
 | 
					 | 
				
			||||||
func FeatureFlagKey(val string) attribute.KeyValue {
 | 
					 | 
				
			||||||
	return FeatureFlagKeyKey.String(val)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// FeatureFlagProviderName returns an attribute KeyValue conforming to the
 | 
					 | 
				
			||||||
// "feature_flag.provider_name" semantic conventions. It represents the name of
 | 
					 | 
				
			||||||
// the service provider that performs the flag evaluation.
 | 
					 | 
				
			||||||
func FeatureFlagProviderName(val string) attribute.KeyValue {
 | 
					 | 
				
			||||||
	return FeatureFlagProviderNameKey.String(val)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// FeatureFlagVariant returns an attribute KeyValue conforming to the
 | 
					 | 
				
			||||||
// "feature_flag.variant" semantic conventions. It represents the sHOULD be a
 | 
					 | 
				
			||||||
// semantic identifier for a value. If one is unavailable, a stringified
 | 
					 | 
				
			||||||
// version of the value can be used.
 | 
					 | 
				
			||||||
func FeatureFlagVariant(val string) attribute.KeyValue {
 | 
					 | 
				
			||||||
	return FeatureFlagVariantKey.String(val)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// RPC received/sent message.
 | 
					 | 
				
			||||||
const (
 | 
					 | 
				
			||||||
	// MessageTypeKey is the attribute Key conforming to the "message.type"
 | 
					 | 
				
			||||||
	// semantic conventions. It represents the whether this is a received or
 | 
					 | 
				
			||||||
	// sent message.
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// Type: Enum
 | 
					 | 
				
			||||||
	// RequirementLevel: Optional
 | 
					 | 
				
			||||||
	// Stability: stable
 | 
					 | 
				
			||||||
	MessageTypeKey = attribute.Key("message.type")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// MessageIDKey is the attribute Key conforming to the "message.id"
 | 
					 | 
				
			||||||
	// semantic conventions. It represents the mUST be calculated as two
 | 
					 | 
				
			||||||
	// different counters starting from `1` one for sent messages and one for
 | 
					 | 
				
			||||||
	// received message.
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// Type: int
 | 
					 | 
				
			||||||
	// RequirementLevel: Optional
 | 
					 | 
				
			||||||
	// Stability: stable
 | 
					 | 
				
			||||||
	// Note: This way we guarantee that the values will be consistent between
 | 
					 | 
				
			||||||
	// different implementations.
 | 
					 | 
				
			||||||
	MessageIDKey = attribute.Key("message.id")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// MessageCompressedSizeKey is the attribute Key conforming to the
 | 
					 | 
				
			||||||
	// "message.compressed_size" semantic conventions. It represents the
 | 
					 | 
				
			||||||
	// compressed size of the message in bytes.
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// Type: int
 | 
					 | 
				
			||||||
	// RequirementLevel: Optional
 | 
					 | 
				
			||||||
	// Stability: stable
 | 
					 | 
				
			||||||
	MessageCompressedSizeKey = attribute.Key("message.compressed_size")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// MessageUncompressedSizeKey is the attribute Key conforming to the
 | 
					 | 
				
			||||||
	// "message.uncompressed_size" semantic conventions. It represents the
 | 
					 | 
				
			||||||
	// uncompressed size of the message in bytes.
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// Type: int
 | 
					 | 
				
			||||||
	// RequirementLevel: Optional
 | 
					 | 
				
			||||||
	// Stability: stable
 | 
					 | 
				
			||||||
	MessageUncompressedSizeKey = attribute.Key("message.uncompressed_size")
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var (
 | 
					 | 
				
			||||||
	// sent
 | 
					 | 
				
			||||||
	MessageTypeSent = MessageTypeKey.String("SENT")
 | 
					 | 
				
			||||||
	// received
 | 
					 | 
				
			||||||
	MessageTypeReceived = MessageTypeKey.String("RECEIVED")
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// MessageID returns an attribute KeyValue conforming to the "message.id"
 | 
					 | 
				
			||||||
// semantic conventions. It represents the mUST be calculated as two different
 | 
					 | 
				
			||||||
// counters starting from `1` one for sent messages and one for received
 | 
					 | 
				
			||||||
// message.
 | 
					 | 
				
			||||||
func MessageID(val int) attribute.KeyValue {
 | 
					 | 
				
			||||||
	return MessageIDKey.Int(val)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// MessageCompressedSize returns an attribute KeyValue conforming to the
 | 
					 | 
				
			||||||
// "message.compressed_size" semantic conventions. It represents the compressed
 | 
					 | 
				
			||||||
// size of the message in bytes.
 | 
					 | 
				
			||||||
func MessageCompressedSize(val int) attribute.KeyValue {
 | 
					 | 
				
			||||||
	return MessageCompressedSizeKey.Int(val)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// MessageUncompressedSize returns an attribute KeyValue conforming to the
 | 
					 | 
				
			||||||
// "message.uncompressed_size" semantic conventions. It represents the
 | 
					 | 
				
			||||||
// uncompressed size of the message in bytes.
 | 
					 | 
				
			||||||
func MessageUncompressedSize(val int) attribute.KeyValue {
 | 
					 | 
				
			||||||
	return MessageUncompressedSizeKey.Int(val)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// The attributes used to report a single exception associated with a span.
 | 
					 | 
				
			||||||
const (
 | 
					 | 
				
			||||||
	// ExceptionEscapedKey is the attribute Key conforming to the
 | 
					 | 
				
			||||||
	// "exception.escaped" semantic conventions. It represents the sHOULD be
 | 
					 | 
				
			||||||
	// set to true if the exception event is recorded at a point where it is
 | 
					 | 
				
			||||||
	// known that the exception is escaping the scope of the span.
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// Type: boolean
 | 
					 | 
				
			||||||
	// RequirementLevel: Optional
 | 
					 | 
				
			||||||
	// Stability: stable
 | 
					 | 
				
			||||||
	// Note: An exception is considered to have escaped (or left) the scope of
 | 
					 | 
				
			||||||
	// a span,
 | 
					 | 
				
			||||||
	// if that span is ended while the exception is still logically "in
 | 
					 | 
				
			||||||
	// flight".
 | 
					 | 
				
			||||||
	// This may be actually "in flight" in some languages (e.g. if the
 | 
					 | 
				
			||||||
	// exception
 | 
					 | 
				
			||||||
	// is passed to a Context manager's `__exit__` method in Python) but will
 | 
					 | 
				
			||||||
	// usually be caught at the point of recording the exception in most
 | 
					 | 
				
			||||||
	// languages.
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// It is usually not possible to determine at the point where an exception
 | 
					 | 
				
			||||||
	// is thrown
 | 
					 | 
				
			||||||
	// whether it will escape the scope of a span.
 | 
					 | 
				
			||||||
	// However, it is trivial to know that an exception
 | 
					 | 
				
			||||||
	// will escape, if one checks for an active exception just before ending
 | 
					 | 
				
			||||||
	// the span,
 | 
					 | 
				
			||||||
	// as done in the [example above](#recording-an-exception).
 | 
					 | 
				
			||||||
	//
 | 
					 | 
				
			||||||
	// It follows that an exception may still escape the scope of the span
 | 
					 | 
				
			||||||
	// even if the `exception.escaped` attribute was not set or set to false,
 | 
					 | 
				
			||||||
	// since the event might have been recorded at a time where it was not
 | 
					 | 
				
			||||||
	// clear whether the exception will escape.
 | 
					 | 
				
			||||||
	ExceptionEscapedKey = attribute.Key("exception.escaped")
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// ExceptionEscaped returns an attribute KeyValue conforming to the
 | 
					 | 
				
			||||||
// "exception.escaped" semantic conventions. It represents the sHOULD be set to
 | 
					 | 
				
			||||||
// true if the exception event is recorded at a point where it is known that
 | 
					 | 
				
			||||||
// the exception is escaping the scope of the span.
 | 
					 | 
				
			||||||
func ExceptionEscaped(val bool) attribute.KeyValue {
 | 
					 | 
				
			||||||
	return ExceptionEscapedKey.Bool(val)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										21
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/http.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/http.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,21 +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.17.0"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// HTTP scheme attributes.
 | 
					 | 
				
			||||||
var (
 | 
					 | 
				
			||||||
	HTTPSchemeHTTP  = HTTPSchemeKey.String("http")
 | 
					 | 
				
			||||||
	HTTPSchemeHTTPS = HTTPSchemeKey.String("https")
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
							
								
								
									
										2010
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/resource.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2010
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/resource.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										20
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/schema.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.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.17.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.17.0"
 | 
					 | 
				
			||||||
							
								
								
									
										3375
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/trace.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3375
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/trace.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -14,15 +14,15 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Package httpconv provides OpenTelemetry HTTP semantic conventions for
 | 
					// Package httpconv provides OpenTelemetry HTTP semantic conventions for
 | 
				
			||||||
// tracing telemetry.
 | 
					// tracing telemetry.
 | 
				
			||||||
package httpconv // import "go.opentelemetry.io/otel/semconv/v1.17.0/httpconv"
 | 
					package httpconv // import "go.opentelemetry.io/otel/semconv/v1.20.0/httpconv"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"go.opentelemetry.io/otel/attribute"
 | 
						"go.opentelemetry.io/otel/attribute"
 | 
				
			||||||
	"go.opentelemetry.io/otel/codes"
 | 
						"go.opentelemetry.io/otel/codes"
 | 
				
			||||||
	"go.opentelemetry.io/otel/semconv/internal/v2"
 | 
						"go.opentelemetry.io/otel/semconv/internal/v4"
 | 
				
			||||||
	semconv "go.opentelemetry.io/otel/semconv/v1.17.0"
 | 
						semconv "go.opentelemetry.io/otel/semconv/v1.20.0"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
| 
						 | 
					@ -44,7 +44,8 @@ var (
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		EnduserIDKey:                 semconv.EnduserIDKey,
 | 
							EnduserIDKey:                 semconv.EnduserIDKey,
 | 
				
			||||||
		HTTPClientIPKey:              semconv.HTTPClientIPKey,
 | 
							HTTPClientIPKey:              semconv.HTTPClientIPKey,
 | 
				
			||||||
		HTTPFlavorKey:                semconv.HTTPFlavorKey,
 | 
							NetProtocolNameKey:           semconv.NetProtocolNameKey,
 | 
				
			||||||
 | 
							NetProtocolVersionKey:        semconv.NetProtocolVersionKey,
 | 
				
			||||||
		HTTPMethodKey:                semconv.HTTPMethodKey,
 | 
							HTTPMethodKey:                semconv.HTTPMethodKey,
 | 
				
			||||||
		HTTPRequestContentLengthKey:  semconv.HTTPRequestContentLengthKey,
 | 
							HTTPRequestContentLengthKey:  semconv.HTTPRequestContentLengthKey,
 | 
				
			||||||
		HTTPResponseContentLengthKey: semconv.HTTPResponseContentLengthKey,
 | 
							HTTPResponseContentLengthKey: semconv.HTTPResponseContentLengthKey,
 | 
				
			||||||
| 
						 | 
					@ -54,7 +55,7 @@ var (
 | 
				
			||||||
		HTTPStatusCodeKey:            semconv.HTTPStatusCodeKey,
 | 
							HTTPStatusCodeKey:            semconv.HTTPStatusCodeKey,
 | 
				
			||||||
		HTTPTargetKey:                semconv.HTTPTargetKey,
 | 
							HTTPTargetKey:                semconv.HTTPTargetKey,
 | 
				
			||||||
		HTTPURLKey:                   semconv.HTTPURLKey,
 | 
							HTTPURLKey:                   semconv.HTTPURLKey,
 | 
				
			||||||
		HTTPUserAgentKey:             semconv.HTTPUserAgentKey,
 | 
							UserAgentOriginalKey:         semconv.UserAgentOriginalKey,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -74,10 +75,11 @@ func ClientResponse(resp *http.Response) []attribute.KeyValue {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ClientRequest returns trace attributes for an HTTP request made by a client.
 | 
					// ClientRequest returns trace attributes for an HTTP request made by a client.
 | 
				
			||||||
// The following attributes are always returned: "http.url", "http.flavor",
 | 
					// The following attributes are always returned: "http.url",
 | 
				
			||||||
// "http.method", "net.peer.name". The following attributes are returned if the
 | 
					// "net.protocol.(name|version)", "http.method", "net.peer.name".
 | 
				
			||||||
// related values are defined in req: "net.peer.port", "http.user_agent",
 | 
					// The following attributes are returned if the related values are defined
 | 
				
			||||||
// "http.request_content_length", "enduser.id".
 | 
					// in req: "net.peer.port", "http.user_agent", "http.request_content_length",
 | 
				
			||||||
 | 
					// "enduser.id".
 | 
				
			||||||
func ClientRequest(req *http.Request) []attribute.KeyValue {
 | 
					func ClientRequest(req *http.Request) []attribute.KeyValue {
 | 
				
			||||||
	return hc.ClientRequest(req)
 | 
						return hc.ClientRequest(req)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -106,10 +108,10 @@ func ClientStatus(code int) (codes.Code, string) {
 | 
				
			||||||
// The req Host will be used to determine the server instead.
 | 
					// The req Host will be used to determine the server instead.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// The following attributes are always returned: "http.method", "http.scheme",
 | 
					// The following attributes are always returned: "http.method", "http.scheme",
 | 
				
			||||||
// "http.flavor", "http.target", "net.host.name". The following attributes are
 | 
					// ""net.protocol.(name|version)", "http.target", "net.host.name".
 | 
				
			||||||
// returned if they related values are defined in req: "net.host.port",
 | 
					// The following attributes are returned if they related values are defined
 | 
				
			||||||
// "net.sock.peer.addr", "net.sock.peer.port", "http.user_agent", "enduser.id",
 | 
					// in req: "net.host.port", "net.sock.peer.addr", "net.sock.peer.port",
 | 
				
			||||||
// "http.client_ip".
 | 
					// "user_agent.original", "enduser.id", "http.client_ip".
 | 
				
			||||||
func ServerRequest(server string, req *http.Request) []attribute.KeyValue {
 | 
					func ServerRequest(server string, req *http.Request) []attribute.KeyValue {
 | 
				
			||||||
	return hc.ServerRequest(server, req)
 | 
						return hc.ServerRequest(server, req)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -128,7 +130,7 @@ func ServerStatus(code int) (codes.Code, string) {
 | 
				
			||||||
// security risk - explicit configuration helps avoid leaking sensitive
 | 
					// security risk - explicit configuration helps avoid leaking sensitive
 | 
				
			||||||
// information.
 | 
					// information.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// The User-Agent header is already captured in the http.user_agent attribute
 | 
					// The User-Agent header is already captured in the user_agent.original attribute
 | 
				
			||||||
// from ClientRequest and ServerRequest. Instrumentation may provide an option
 | 
					// from ClientRequest and ServerRequest. Instrumentation may provide an option
 | 
				
			||||||
// to capture that header here even though it is not recommended. Otherwise,
 | 
					// to capture that header here even though it is not recommended. Otherwise,
 | 
				
			||||||
// instrumentation should filter that out of what is passed.
 | 
					// instrumentation should filter that out of what is passed.
 | 
				
			||||||
| 
						 | 
					@ -143,7 +145,7 @@ func RequestHeader(h http.Header) []attribute.KeyValue {
 | 
				
			||||||
// security risk - explicit configuration helps avoid leaking sensitive
 | 
					// security risk - explicit configuration helps avoid leaking sensitive
 | 
				
			||||||
// information.
 | 
					// information.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// The User-Agent header is already captured in the http.user_agent attribute
 | 
					// The User-Agent header is already captured in the user_agent.original attribute
 | 
				
			||||||
// from ClientRequest and ServerRequest. Instrumentation may provide an option
 | 
					// from ClientRequest and ServerRequest. Instrumentation may provide an option
 | 
				
			||||||
// to capture that header here even though it is not recommended. Otherwise,
 | 
					// to capture that header here even though it is not recommended. Otherwise,
 | 
				
			||||||
// instrumentation should filter that out of what is passed.
 | 
					// instrumentation should filter that out of what is passed.
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/go.opentelemetry.io/otel/trace/config.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/go.opentelemetry.io/otel/trace/config.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -268,6 +268,7 @@ func (o stackTraceOption) applyEvent(c EventConfig) EventConfig {
 | 
				
			||||||
	c.stackTrace = bool(o)
 | 
						c.stackTrace = bool(o)
 | 
				
			||||||
	return c
 | 
						return c
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (o stackTraceOption) applySpan(c SpanConfig) SpanConfig {
 | 
					func (o stackTraceOption) applySpan(c SpanConfig) SpanConfig {
 | 
				
			||||||
	c.stackTrace = bool(o)
 | 
						c.stackTrace = bool(o)
 | 
				
			||||||
	return c
 | 
						return c
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										64
									
								
								vendor/go.opentelemetry.io/otel/trace/doc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										64
									
								
								vendor/go.opentelemetry.io/otel/trace/doc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -62,5 +62,69 @@ a default.
 | 
				
			||||||
		defer span.End()
 | 
							defer span.End()
 | 
				
			||||||
		// ...
 | 
							// ...
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# API Implementations
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This package does not conform to the standard Go versioning policy; all of its
 | 
				
			||||||
 | 
					interfaces may have methods added to them without a package major version bump.
 | 
				
			||||||
 | 
					This non-standard API evolution could surprise an uninformed implementation
 | 
				
			||||||
 | 
					author. They could unknowingly build their implementation in a way that would
 | 
				
			||||||
 | 
					result in a runtime panic for their users that update to the new API.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The API is designed to help inform an instrumentation author about this
 | 
				
			||||||
 | 
					non-standard API evolution. It requires them to choose a default behavior for
 | 
				
			||||||
 | 
					unimplemented interface methods. There are three behavior choices they can
 | 
				
			||||||
 | 
					make:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Compilation failure
 | 
				
			||||||
 | 
					  - Panic
 | 
				
			||||||
 | 
					  - Default to another implementation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All interfaces in this API embed a corresponding interface from
 | 
				
			||||||
 | 
					[go.opentelemetry.io/otel/trace/embedded]. If an author wants the default
 | 
				
			||||||
 | 
					behavior of their implementations to be a compilation failure, signaling to
 | 
				
			||||||
 | 
					their users they need to update to the latest version of that implementation,
 | 
				
			||||||
 | 
					they need to embed the corresponding interface from
 | 
				
			||||||
 | 
					[go.opentelemetry.io/otel/trace/embedded] in their implementation. For
 | 
				
			||||||
 | 
					example,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						import "go.opentelemetry.io/otel/trace/embedded"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						type TracerProvider struct {
 | 
				
			||||||
 | 
							embedded.TracerProvider
 | 
				
			||||||
 | 
							// ...
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If an author wants the default behavior of their implementations to panic, they
 | 
				
			||||||
 | 
					can embed the API interface directly.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						import "go.opentelemetry.io/otel/trace"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						type TracerProvider struct {
 | 
				
			||||||
 | 
							trace.TracerProvider
 | 
				
			||||||
 | 
							// ...
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This option is not recommended. It will lead to publishing packages that
 | 
				
			||||||
 | 
					contain runtime panics when users update to newer versions of
 | 
				
			||||||
 | 
					[go.opentelemetry.io/otel/trace], which may be done with a trasitive
 | 
				
			||||||
 | 
					dependency.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Finally, an author can embed another implementation in theirs. The embedded
 | 
				
			||||||
 | 
					implementation will be used for methods not defined by the author. For example,
 | 
				
			||||||
 | 
					an author who wants to default to silently dropping the call can use
 | 
				
			||||||
 | 
					[go.opentelemetry.io/otel/trace/noop]:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						import "go.opentelemetry.io/otel/trace/noop"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						type TracerProvider struct {
 | 
				
			||||||
 | 
							noop.TracerProvider
 | 
				
			||||||
 | 
							// ...
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It is strongly recommended that authors only embed
 | 
				
			||||||
 | 
					[go.opentelemetry.io/otel/trace/noop] if they choose this default behavior.
 | 
				
			||||||
 | 
					That implementation is the only one OpenTelemetry authors can guarantee will
 | 
				
			||||||
 | 
					fully implement all the API interfaces when a user updates their API.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
package trace // import "go.opentelemetry.io/otel/trace"
 | 
					package trace // import "go.opentelemetry.io/otel/trace"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										56
									
								
								vendor/go.opentelemetry.io/otel/trace/embedded/embedded.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								vendor/go.opentelemetry.io/otel/trace/embedded/embedded.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,56 @@
 | 
				
			||||||
 | 
					// 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 embedded provides interfaces embedded within the [OpenTelemetry
 | 
				
			||||||
 | 
					// trace API].
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Implementers of the [OpenTelemetry trace API] can embed the relevant type
 | 
				
			||||||
 | 
					// from this package into their implementation directly. Doing so will result
 | 
				
			||||||
 | 
					// in a compilation error for users when the [OpenTelemetry trace API] is
 | 
				
			||||||
 | 
					// extended (which is something that can happen without a major version bump of
 | 
				
			||||||
 | 
					// the API package).
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// [OpenTelemetry trace API]: https://pkg.go.dev/go.opentelemetry.io/otel/trace
 | 
				
			||||||
 | 
					package embedded // import "go.opentelemetry.io/otel/trace/embedded"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TracerProvider is embedded in
 | 
				
			||||||
 | 
					// [go.opentelemetry.io/otel/trace.TracerProvider].
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Embed this interface in your implementation of the
 | 
				
			||||||
 | 
					// [go.opentelemetry.io/otel/trace.TracerProvider] if you want users to
 | 
				
			||||||
 | 
					// experience a compilation error, signaling they need to update to your latest
 | 
				
			||||||
 | 
					// implementation, when the [go.opentelemetry.io/otel/trace.TracerProvider]
 | 
				
			||||||
 | 
					// interface is extended (which is something that can happen without a major
 | 
				
			||||||
 | 
					// version bump of the API package).
 | 
				
			||||||
 | 
					type TracerProvider interface{ tracerProvider() }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Tracer is embedded in [go.opentelemetry.io/otel/trace.Tracer].
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Embed this interface in your implementation of the
 | 
				
			||||||
 | 
					// [go.opentelemetry.io/otel/trace.Tracer] if you want users to experience a
 | 
				
			||||||
 | 
					// compilation error, signaling they need to update to your latest
 | 
				
			||||||
 | 
					// implementation, when the [go.opentelemetry.io/otel/trace.Tracer] interface
 | 
				
			||||||
 | 
					// is extended (which is something that can happen without a major version bump
 | 
				
			||||||
 | 
					// of the API package).
 | 
				
			||||||
 | 
					type Tracer interface{ tracer() }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Span is embedded in [go.opentelemetry.io/otel/trace.Span].
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Embed this interface in your implementation of the
 | 
				
			||||||
 | 
					// [go.opentelemetry.io/otel/trace.Span] if you want users to experience a
 | 
				
			||||||
 | 
					// compilation error, signaling they need to update to your latest
 | 
				
			||||||
 | 
					// implementation, when the [go.opentelemetry.io/otel/trace.Span] interface is
 | 
				
			||||||
 | 
					// extended (which is something that can happen without a major version bump of
 | 
				
			||||||
 | 
					// the API package).
 | 
				
			||||||
 | 
					type Span interface{ span() }
 | 
				
			||||||
							
								
								
									
										10
									
								
								vendor/go.opentelemetry.io/otel/trace/noop.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/go.opentelemetry.io/otel/trace/noop.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -19,16 +19,20 @@ import (
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"go.opentelemetry.io/otel/attribute"
 | 
						"go.opentelemetry.io/otel/attribute"
 | 
				
			||||||
	"go.opentelemetry.io/otel/codes"
 | 
						"go.opentelemetry.io/otel/codes"
 | 
				
			||||||
 | 
						"go.opentelemetry.io/otel/trace/embedded"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewNoopTracerProvider returns an implementation of TracerProvider that
 | 
					// NewNoopTracerProvider returns an implementation of TracerProvider that
 | 
				
			||||||
// performs no operations. The Tracer and Spans created from the returned
 | 
					// performs no operations. The Tracer and Spans created from the returned
 | 
				
			||||||
// TracerProvider also perform no operations.
 | 
					// TracerProvider also perform no operations.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Deprecated: Use [go.opentelemetry.io/otel/trace/noop.NewTracerProvider]
 | 
				
			||||||
 | 
					// instead.
 | 
				
			||||||
func NewNoopTracerProvider() TracerProvider {
 | 
					func NewNoopTracerProvider() TracerProvider {
 | 
				
			||||||
	return noopTracerProvider{}
 | 
						return noopTracerProvider{}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type noopTracerProvider struct{}
 | 
					type noopTracerProvider struct{ embedded.TracerProvider }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ TracerProvider = noopTracerProvider{}
 | 
					var _ TracerProvider = noopTracerProvider{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38,7 +42,7 @@ func (p noopTracerProvider) Tracer(string, ...TracerOption) Tracer {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// noopTracer is an implementation of Tracer that performs no operations.
 | 
					// noopTracer is an implementation of Tracer that performs no operations.
 | 
				
			||||||
type noopTracer struct{}
 | 
					type noopTracer struct{ embedded.Tracer }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ Tracer = noopTracer{}
 | 
					var _ Tracer = noopTracer{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -54,7 +58,7 @@ func (t noopTracer) Start(ctx context.Context, name string, _ ...SpanStartOption
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// noopSpan is an implementation of Span that performs no operations.
 | 
					// noopSpan is an implementation of Span that performs no operations.
 | 
				
			||||||
type noopSpan struct{}
 | 
					type noopSpan struct{ embedded.Span }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ Span = noopSpan{}
 | 
					var _ Span = noopSpan{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										118
									
								
								vendor/go.opentelemetry.io/otel/trace/noop/noop.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								vendor/go.opentelemetry.io/otel/trace/noop/noop.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,118 @@
 | 
				
			||||||
 | 
					// 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 noop provides an implementation of the OpenTelemetry trace API that
 | 
				
			||||||
 | 
					// produces no telemetry and minimizes used computation resources.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Using this package to implement the OpenTelemetry trace API will effectively
 | 
				
			||||||
 | 
					// disable OpenTelemetry.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// This implementation can be embedded in other implementations of the
 | 
				
			||||||
 | 
					// OpenTelemetry trace API. Doing so will mean the implementation defaults to
 | 
				
			||||||
 | 
					// no operation for methods it does not implement.
 | 
				
			||||||
 | 
					package noop // import "go.opentelemetry.io/otel/trace/noop"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"go.opentelemetry.io/otel/attribute"
 | 
				
			||||||
 | 
						"go.opentelemetry.io/otel/codes"
 | 
				
			||||||
 | 
						"go.opentelemetry.io/otel/trace"
 | 
				
			||||||
 | 
						"go.opentelemetry.io/otel/trace/embedded"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var (
 | 
				
			||||||
 | 
						// Compile-time check this implements the OpenTelemetry API.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_ trace.TracerProvider = TracerProvider{}
 | 
				
			||||||
 | 
						_ trace.Tracer         = Tracer{}
 | 
				
			||||||
 | 
						_ trace.Span           = Span{}
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TracerProvider is an OpenTelemetry No-Op TracerProvider.
 | 
				
			||||||
 | 
					type TracerProvider struct{ embedded.TracerProvider }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// NewTracerProvider returns a TracerProvider that does not record any telemetry.
 | 
				
			||||||
 | 
					func NewTracerProvider() TracerProvider {
 | 
				
			||||||
 | 
						return TracerProvider{}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Tracer returns an OpenTelemetry Tracer that does not record any telemetry.
 | 
				
			||||||
 | 
					func (TracerProvider) Tracer(string, ...trace.TracerOption) trace.Tracer {
 | 
				
			||||||
 | 
						return Tracer{}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Tracer is an OpenTelemetry No-Op Tracer.
 | 
				
			||||||
 | 
					type Tracer struct{ embedded.Tracer }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Start creates a span. The created span will be set in a child context of ctx
 | 
				
			||||||
 | 
					// and returned with the span.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// If ctx contains a span context, the returned span will also contain that
 | 
				
			||||||
 | 
					// span context. If the span context in ctx is for a non-recording span, that
 | 
				
			||||||
 | 
					// span instance will be returned directly.
 | 
				
			||||||
 | 
					func (t Tracer) Start(ctx context.Context, _ string, _ ...trace.SpanStartOption) (context.Context, trace.Span) {
 | 
				
			||||||
 | 
						span := trace.SpanFromContext(ctx)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// If the parent context contains a non-zero span context, that span
 | 
				
			||||||
 | 
						// context needs to be returned as a non-recording span
 | 
				
			||||||
 | 
						// (https://github.com/open-telemetry/opentelemetry-specification/blob/3a1dde966a4ce87cce5adf464359fe369741bbea/specification/trace/api.md#behavior-of-the-api-in-the-absence-of-an-installed-sdk).
 | 
				
			||||||
 | 
						var zeroSC trace.SpanContext
 | 
				
			||||||
 | 
						if sc := span.SpanContext(); !sc.Equal(zeroSC) {
 | 
				
			||||||
 | 
							if !span.IsRecording() {
 | 
				
			||||||
 | 
								// If the span is not recording return it directly.
 | 
				
			||||||
 | 
								return ctx, span
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							// Otherwise, return the span context needs in a non-recording span.
 | 
				
			||||||
 | 
							span = Span{sc: sc}
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							// No parent, return a No-Op span with an empty span context.
 | 
				
			||||||
 | 
							span = Span{}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return trace.ContextWithSpan(ctx, span), span
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Span is an OpenTelemetry No-Op Span.
 | 
				
			||||||
 | 
					type Span struct {
 | 
				
			||||||
 | 
						embedded.Span
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						sc trace.SpanContext
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// SpanContext returns an empty span context.
 | 
				
			||||||
 | 
					func (s Span) SpanContext() trace.SpanContext { return s.sc }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// IsRecording always returns false.
 | 
				
			||||||
 | 
					func (Span) IsRecording() bool { return false }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// SetStatus does nothing.
 | 
				
			||||||
 | 
					func (Span) SetStatus(codes.Code, string) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// SetAttributes does nothing.
 | 
				
			||||||
 | 
					func (Span) SetAttributes(...attribute.KeyValue) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// End does nothing.
 | 
				
			||||||
 | 
					func (Span) End(...trace.SpanEndOption) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// RecordError does nothing.
 | 
				
			||||||
 | 
					func (Span) RecordError(error, ...trace.EventOption) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// AddEvent does nothing.
 | 
				
			||||||
 | 
					func (Span) AddEvent(string, ...trace.EventOption) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// SetName does nothing.
 | 
				
			||||||
 | 
					func (Span) SetName(string) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TracerProvider returns a No-Op TracerProvider.
 | 
				
			||||||
 | 
					func (Span) TracerProvider() trace.TracerProvider { return TracerProvider{} }
 | 
				
			||||||
							
								
								
									
										40
									
								
								vendor/go.opentelemetry.io/otel/trace/trace.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								vendor/go.opentelemetry.io/otel/trace/trace.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -22,6 +22,7 @@ import (
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"go.opentelemetry.io/otel/attribute"
 | 
						"go.opentelemetry.io/otel/attribute"
 | 
				
			||||||
	"go.opentelemetry.io/otel/codes"
 | 
						"go.opentelemetry.io/otel/codes"
 | 
				
			||||||
 | 
						"go.opentelemetry.io/otel/trace/embedded"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
| 
						 | 
					@ -48,8 +49,10 @@ func (e errorConst) Error() string {
 | 
				
			||||||
// nolint:revive // revive complains about stutter of `trace.TraceID`.
 | 
					// nolint:revive // revive complains about stutter of `trace.TraceID`.
 | 
				
			||||||
type TraceID [16]byte
 | 
					type TraceID [16]byte
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var nilTraceID TraceID
 | 
					var (
 | 
				
			||||||
var _ json.Marshaler = nilTraceID
 | 
						nilTraceID TraceID
 | 
				
			||||||
 | 
						_          json.Marshaler = nilTraceID
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// IsValid checks whether the trace TraceID is valid. A valid trace ID does
 | 
					// IsValid checks whether the trace TraceID is valid. A valid trace ID does
 | 
				
			||||||
// not consist of zeros only.
 | 
					// not consist of zeros only.
 | 
				
			||||||
| 
						 | 
					@ -71,8 +74,10 @@ func (t TraceID) String() string {
 | 
				
			||||||
// SpanID is a unique identity of a span in a trace.
 | 
					// SpanID is a unique identity of a span in a trace.
 | 
				
			||||||
type SpanID [8]byte
 | 
					type SpanID [8]byte
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var nilSpanID SpanID
 | 
					var (
 | 
				
			||||||
var _ json.Marshaler = nilSpanID
 | 
						nilSpanID SpanID
 | 
				
			||||||
 | 
						_         json.Marshaler = nilSpanID
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// IsValid checks whether the SpanID is valid. A valid SpanID does not consist
 | 
					// IsValid checks whether the SpanID is valid. A valid SpanID does not consist
 | 
				
			||||||
// of zeros only.
 | 
					// of zeros only.
 | 
				
			||||||
| 
						 | 
					@ -338,8 +343,15 @@ func (sc SpanContext) MarshalJSON() ([]byte, error) {
 | 
				
			||||||
// create a Span and it is then up to the operation the Span represents to
 | 
					// create a Span and it is then up to the operation the Span represents to
 | 
				
			||||||
// properly end the Span when the operation itself ends.
 | 
					// properly end the Span when the operation itself ends.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// Warning: methods may be added to this interface in minor releases.
 | 
					// Warning: Methods may be added to this interface in minor releases. See
 | 
				
			||||||
 | 
					// package documentation on API implementation for information on how to set
 | 
				
			||||||
 | 
					// default behavior for unimplemented methods.
 | 
				
			||||||
type Span interface {
 | 
					type Span interface {
 | 
				
			||||||
 | 
						// Users of the interface can ignore this. This embedded type is only used
 | 
				
			||||||
 | 
						// by implementations of this interface. See the "API Implementations"
 | 
				
			||||||
 | 
						// section of the package documentation for more information.
 | 
				
			||||||
 | 
						embedded.Span
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// End completes the Span. The Span is considered complete and ready to be
 | 
						// End completes the Span. The Span is considered complete and ready to be
 | 
				
			||||||
	// delivered through the rest of the telemetry pipeline after this method
 | 
						// delivered through the rest of the telemetry pipeline after this method
 | 
				
			||||||
	// is called. Therefore, updates to the Span are not allowed after this
 | 
						// is called. Therefore, updates to the Span are not allowed after this
 | 
				
			||||||
| 
						 | 
					@ -486,8 +498,15 @@ func (sk SpanKind) String() string {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Tracer is the creator of Spans.
 | 
					// Tracer is the creator of Spans.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// Warning: methods may be added to this interface in minor releases.
 | 
					// Warning: Methods may be added to this interface in minor releases. See
 | 
				
			||||||
 | 
					// package documentation on API implementation for information on how to set
 | 
				
			||||||
 | 
					// default behavior for unimplemented methods.
 | 
				
			||||||
type Tracer interface {
 | 
					type Tracer interface {
 | 
				
			||||||
 | 
						// Users of the interface can ignore this. This embedded type is only used
 | 
				
			||||||
 | 
						// by implementations of this interface. See the "API Implementations"
 | 
				
			||||||
 | 
						// section of the package documentation for more information.
 | 
				
			||||||
 | 
						embedded.Tracer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Start creates a span and a context.Context containing the newly-created span.
 | 
						// Start creates a span and a context.Context containing the newly-created span.
 | 
				
			||||||
	//
 | 
						//
 | 
				
			||||||
	// If the context.Context provided in `ctx` contains a Span then the newly-created
 | 
						// If the context.Context provided in `ctx` contains a Span then the newly-created
 | 
				
			||||||
| 
						 | 
					@ -518,8 +537,15 @@ type Tracer interface {
 | 
				
			||||||
// at runtime from its users or it can simply use the globally registered one
 | 
					// at runtime from its users or it can simply use the globally registered one
 | 
				
			||||||
// (see https://pkg.go.dev/go.opentelemetry.io/otel#GetTracerProvider).
 | 
					// (see https://pkg.go.dev/go.opentelemetry.io/otel#GetTracerProvider).
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// Warning: methods may be added to this interface in minor releases.
 | 
					// Warning: Methods may be added to this interface in minor releases. See
 | 
				
			||||||
 | 
					// package documentation on API implementation for information on how to set
 | 
				
			||||||
 | 
					// default behavior for unimplemented methods.
 | 
				
			||||||
type TracerProvider interface {
 | 
					type TracerProvider interface {
 | 
				
			||||||
 | 
						// Users of the interface can ignore this. This embedded type is only used
 | 
				
			||||||
 | 
						// by implementations of this interface. See the "API Implementations"
 | 
				
			||||||
 | 
						// section of the package documentation for more information.
 | 
				
			||||||
 | 
						embedded.TracerProvider
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Tracer returns a unique Tracer scoped to be used by instrumentation code
 | 
						// Tracer returns a unique Tracer scoped to be used by instrumentation code
 | 
				
			||||||
	// to trace computational workflows. The scope and identity of that
 | 
						// to trace computational workflows. The scope and identity of that
 | 
				
			||||||
	// instrumentation code is uniquely defined by the name and options passed.
 | 
						// instrumentation code is uniquely defined by the name and options passed.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										38
									
								
								vendor/go.opentelemetry.io/otel/trace/tracestate.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										38
									
								
								vendor/go.opentelemetry.io/otel/trace/tracestate.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -28,9 +28,9 @@ const (
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// based on the W3C Trace Context specification, see
 | 
						// based on the W3C Trace Context specification, see
 | 
				
			||||||
	// https://www.w3.org/TR/trace-context-1/#tracestate-header
 | 
						// https://www.w3.org/TR/trace-context-1/#tracestate-header
 | 
				
			||||||
	noTenantKeyFormat   = `[a-z][_0-9a-z\-\*\/]{0,255}`
 | 
						noTenantKeyFormat   = `[a-z][_0-9a-z\-\*\/]*`
 | 
				
			||||||
	withTenantKeyFormat = `[a-z0-9][_0-9a-z\-\*\/]{0,240}@[a-z][_0-9a-z\-\*\/]{0,13}`
 | 
						withTenantKeyFormat = `[a-z0-9][_0-9a-z\-\*\/]*@[a-z][_0-9a-z\-\*\/]*`
 | 
				
			||||||
	valueFormat         = `[\x20-\x2b\x2d-\x3c\x3e-\x7e]{0,255}[\x21-\x2b\x2d-\x3c\x3e-\x7e]`
 | 
						valueFormat         = `[\x20-\x2b\x2d-\x3c\x3e-\x7e]*[\x21-\x2b\x2d-\x3c\x3e-\x7e]`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	errInvalidKey    errorConst = "invalid tracestate key"
 | 
						errInvalidKey    errorConst = "invalid tracestate key"
 | 
				
			||||||
	errInvalidValue  errorConst = "invalid tracestate value"
 | 
						errInvalidValue  errorConst = "invalid tracestate value"
 | 
				
			||||||
| 
						 | 
					@ -40,9 +40,10 @@ const (
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	keyRe    = regexp.MustCompile(`^((` + noTenantKeyFormat + `)|(` + withTenantKeyFormat + `))$`)
 | 
						noTenantKeyRe   = regexp.MustCompile(`^` + noTenantKeyFormat + `$`)
 | 
				
			||||||
	valueRe  = regexp.MustCompile(`^(` + valueFormat + `)$`)
 | 
						withTenantKeyRe = regexp.MustCompile(`^` + withTenantKeyFormat + `$`)
 | 
				
			||||||
	memberRe = regexp.MustCompile(`^\s*((` + noTenantKeyFormat + `)|(` + withTenantKeyFormat + `))=(` + valueFormat + `)\s*$`)
 | 
						valueRe         = regexp.MustCompile(`^` + valueFormat + `$`)
 | 
				
			||||||
 | 
						memberRe        = regexp.MustCompile(`^\s*((?:` + noTenantKeyFormat + `)|(?:` + withTenantKeyFormat + `))=(` + valueFormat + `)\s*$`)
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type member struct {
 | 
					type member struct {
 | 
				
			||||||
| 
						 | 
					@ -51,10 +52,19 @@ type member struct {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newMember(key, value string) (member, error) {
 | 
					func newMember(key, value string) (member, error) {
 | 
				
			||||||
	if !keyRe.MatchString(key) {
 | 
						if len(key) > 256 {
 | 
				
			||||||
		return member{}, fmt.Errorf("%w: %s", errInvalidKey, key)
 | 
							return member{}, fmt.Errorf("%w: %s", errInvalidKey, key)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if !valueRe.MatchString(value) {
 | 
						if !noTenantKeyRe.MatchString(key) {
 | 
				
			||||||
 | 
							if !withTenantKeyRe.MatchString(key) {
 | 
				
			||||||
 | 
								return member{}, fmt.Errorf("%w: %s", errInvalidKey, key)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							atIndex := strings.LastIndex(key, "@")
 | 
				
			||||||
 | 
							if atIndex > 241 || len(key)-1-atIndex > 14 {
 | 
				
			||||||
 | 
								return member{}, fmt.Errorf("%w: %s", errInvalidKey, key)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if len(value) > 256 || !valueRe.MatchString(value) {
 | 
				
			||||||
		return member{}, fmt.Errorf("%w: %s", errInvalidValue, value)
 | 
							return member{}, fmt.Errorf("%w: %s", errInvalidValue, value)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return member{Key: key, Value: value}, nil
 | 
						return member{Key: key, Value: value}, nil
 | 
				
			||||||
| 
						 | 
					@ -62,14 +72,14 @@ func newMember(key, value string) (member, error) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func parseMember(m string) (member, error) {
 | 
					func parseMember(m string) (member, error) {
 | 
				
			||||||
	matches := memberRe.FindStringSubmatch(m)
 | 
						matches := memberRe.FindStringSubmatch(m)
 | 
				
			||||||
	if len(matches) != 5 {
 | 
						if len(matches) != 3 {
 | 
				
			||||||
		return member{}, fmt.Errorf("%w: %s", errInvalidMember, m)
 | 
							return member{}, fmt.Errorf("%w: %s", errInvalidMember, m)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						result, e := newMember(matches[1], matches[2])
 | 
				
			||||||
	return member{
 | 
						if e != nil {
 | 
				
			||||||
		Key:   matches[1],
 | 
							return member{}, fmt.Errorf("%w: %s", errInvalidMember, m)
 | 
				
			||||||
		Value: matches[4],
 | 
						}
 | 
				
			||||||
	}, nil
 | 
						return result, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// String encodes member into a string compliant with the W3C Trace Context
 | 
					// String encodes member into a string compliant with the W3C Trace Context
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/version.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/version.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -16,5 +16,5 @@ package otel // import "go.opentelemetry.io/otel"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Version is the current release version of OpenTelemetry in use.
 | 
					// Version is the current release version of OpenTelemetry in use.
 | 
				
			||||||
func Version() string {
 | 
					func Version() string {
 | 
				
			||||||
	return "1.19.0"
 | 
						return "1.20.0"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								vendor/go.opentelemetry.io/otel/versions.yaml
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/go.opentelemetry.io/otel/versions.yaml
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -14,7 +14,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module-sets:
 | 
					module-sets:
 | 
				
			||||||
  stable-v1:
 | 
					  stable-v1:
 | 
				
			||||||
    version: v1.19.0
 | 
					    version: v1.20.0
 | 
				
			||||||
    modules:
 | 
					    modules:
 | 
				
			||||||
      - go.opentelemetry.io/otel
 | 
					      - go.opentelemetry.io/otel
 | 
				
			||||||
      - go.opentelemetry.io/otel/bridge/opentracing
 | 
					      - go.opentelemetry.io/otel/bridge/opentracing
 | 
				
			||||||
| 
						 | 
					@ -35,7 +35,7 @@ module-sets:
 | 
				
			||||||
      - go.opentelemetry.io/otel/sdk/metric
 | 
					      - go.opentelemetry.io/otel/sdk/metric
 | 
				
			||||||
      - go.opentelemetry.io/otel/trace
 | 
					      - go.opentelemetry.io/otel/trace
 | 
				
			||||||
  experimental-metrics:
 | 
					  experimental-metrics:
 | 
				
			||||||
    version: v0.42.0
 | 
					    version: v0.43.0
 | 
				
			||||||
    modules:
 | 
					    modules:
 | 
				
			||||||
      - go.opentelemetry.io/otel/bridge/opencensus
 | 
					      - go.opentelemetry.io/otel/bridge/opencensus
 | 
				
			||||||
      - go.opentelemetry.io/otel/bridge/opencensus/test
 | 
					      - go.opentelemetry.io/otel/bridge/opencensus/test
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build gc
 | 
					//go:build gc
 | 
				
			||||||
// +build gc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "textflag.h"
 | 
					#include "textflag.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_aix.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_aix.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build aix
 | 
					//go:build aix
 | 
				
			||||||
// +build aix
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_arm64.s
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_arm64.s
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build gc
 | 
					//go:build gc
 | 
				
			||||||
// +build gc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "textflag.h"
 | 
					#include "textflag.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build gc
 | 
					//go:build gc
 | 
				
			||||||
// +build gc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build gc
 | 
					//go:build gc
 | 
				
			||||||
// +build gc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_x86.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gc_x86.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,8 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build (386 || amd64 || amd64p32) && gc
 | 
					//go:build (386 || amd64 || amd64p32) && gc
 | 
				
			||||||
// +build 386 amd64 amd64p32
 | 
					 | 
				
			||||||
// +build gc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build gccgo
 | 
					//go:build gccgo
 | 
				
			||||||
// +build gccgo
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build gccgo
 | 
					//go:build gccgo
 | 
				
			||||||
// +build gccgo
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,8 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build (386 || amd64 || amd64p32) && gccgo
 | 
					//go:build (386 || amd64 || amd64p32) && gccgo
 | 
				
			||||||
// +build 386 amd64 amd64p32
 | 
					 | 
				
			||||||
// +build gccgo
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <cpuid.h>
 | 
					#include <cpuid.h>
 | 
				
			||||||
#include <stdint.h>
 | 
					#include <stdint.h>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,8 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build (386 || amd64 || amd64p32) && gccgo
 | 
					//go:build (386 || amd64 || amd64p32) && gccgo
 | 
				
			||||||
// +build 386 amd64 amd64p32
 | 
					 | 
				
			||||||
// +build gccgo
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build !386 && !amd64 && !amd64p32 && !arm64
 | 
					//go:build !386 && !amd64 && !amd64p32 && !arm64
 | 
				
			||||||
// +build !386,!amd64,!amd64p32,!arm64
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,8 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build linux && (mips64 || mips64le)
 | 
					//go:build linux && (mips64 || mips64le)
 | 
				
			||||||
// +build linux
 | 
					 | 
				
			||||||
// +build mips64 mips64le
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build linux && !arm && !arm64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x
 | 
					//go:build linux && !arm && !arm64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x
 | 
				
			||||||
// +build linux,!arm,!arm64,!mips64,!mips64le,!ppc64,!ppc64le,!s390x
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,8 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build linux && (ppc64 || ppc64le)
 | 
					//go:build linux && (ppc64 || ppc64le)
 | 
				
			||||||
// +build linux
 | 
					 | 
				
			||||||
// +build ppc64 ppc64le
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_loong64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_loong64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build loong64
 | 
					//go:build loong64
 | 
				
			||||||
// +build loong64
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_mips64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_mips64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build mips64 || mips64le
 | 
					//go:build mips64 || mips64le
 | 
				
			||||||
// +build mips64 mips64le
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_mipsx.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_mipsx.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build mips || mipsle
 | 
					//go:build mips || mipsle
 | 
				
			||||||
// +build mips mipsle
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_arm.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_arm.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build !linux && arm
 | 
					//go:build !linux && arm
 | 
				
			||||||
// +build !linux,arm
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build !linux && !netbsd && !openbsd && arm64
 | 
					//go:build !linux && !netbsd && !openbsd && arm64
 | 
				
			||||||
// +build !linux,!netbsd,!openbsd,arm64
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,8 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build !linux && (mips64 || mips64le)
 | 
					//go:build !linux && (mips64 || mips64le)
 | 
				
			||||||
// +build !linux
 | 
					 | 
				
			||||||
// +build mips64 mips64le
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										3
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_ppc64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_ppc64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,9 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build !aix && !linux && (ppc64 || ppc64le)
 | 
					//go:build !aix && !linux && (ppc64 || ppc64le)
 | 
				
			||||||
// +build !aix
 | 
					 | 
				
			||||||
// +build !linux
 | 
					 | 
				
			||||||
// +build ppc64 ppc64le
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_riscv64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_other_riscv64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build !linux && riscv64
 | 
					//go:build !linux && riscv64
 | 
				
			||||||
// +build !linux,riscv64
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_ppc64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_ppc64x.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build ppc64 || ppc64le
 | 
					//go:build ppc64 || ppc64le
 | 
				
			||||||
// +build ppc64 ppc64le
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_riscv64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_riscv64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build riscv64
 | 
					//go:build riscv64
 | 
				
			||||||
// +build riscv64
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_s390x.s
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_s390x.s
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build gc
 | 
					//go:build gc
 | 
				
			||||||
// +build gc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "textflag.h"
 | 
					#include "textflag.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_wasm.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_wasm.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build wasm
 | 
					//go:build wasm
 | 
				
			||||||
// +build wasm
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_x86.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/cpu_x86.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build 386 || amd64 || amd64p32
 | 
					//go:build 386 || amd64 || amd64p32
 | 
				
			||||||
// +build 386 amd64 amd64p32
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_x86.s
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/cpu/cpu_x86.s
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,8 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build (386 || amd64 || amd64p32) && gc
 | 
					//go:build (386 || amd64 || amd64p32) && gc
 | 
				
			||||||
// +build 386 amd64 amd64p32
 | 
					 | 
				
			||||||
// +build gc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "textflag.h"
 | 
					#include "textflag.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/endian_big.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/endian_big.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64
 | 
					//go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64
 | 
				
			||||||
// +build armbe arm64be m68k mips mips64 mips64p32 ppc ppc64 s390 s390x shbe sparc sparc64
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/endian_little.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/endian_little.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh || wasm
 | 
					//go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh || wasm
 | 
				
			||||||
// +build 386 amd64 amd64p32 alpha arm arm64 loong64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh wasm
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/proc_cpuinfo_linux.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/proc_cpuinfo_linux.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build linux && arm64
 | 
					//go:build linux && arm64
 | 
				
			||||||
// +build linux,arm64
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/runtime_auxv_go121.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/runtime_auxv_go121.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build go1.21
 | 
					//go:build go1.21
 | 
				
			||||||
// +build go1.21
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -9,7 +9,6 @@
 | 
				
			||||||
// gccgo's libgo and thus must not used a CGo method.
 | 
					// gccgo's libgo and thus must not used a CGo method.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build aix && gccgo
 | 
					//go:build aix && gccgo
 | 
				
			||||||
// +build aix,gccgo
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -7,7 +7,6 @@
 | 
				
			||||||
// (See golang.org/issue/32102)
 | 
					// (See golang.org/issue/32102)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build aix && ppc64 && gc
 | 
					//go:build aix && ppc64 && gc
 | 
				
			||||||
// +build aix,ppc64,gc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/execabs/execabs_go118.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/execabs/execabs_go118.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build !go1.19
 | 
					//go:build !go1.19
 | 
				
			||||||
// +build !go1.19
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package execabs
 | 
					package execabs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/execabs/execabs_go119.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/execabs/execabs_go119.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build go1.19
 | 
					//go:build go1.19
 | 
				
			||||||
// +build go1.19
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package execabs
 | 
					package execabs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/aliases.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/aliases.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,8 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) && go1.9
 | 
					//go:build (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) && go1.9
 | 
				
			||||||
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
 | 
					 | 
				
			||||||
// +build go1.9
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package unix
 | 
					package unix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,7 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build gc
 | 
					//go:build gc
 | 
				
			||||||
// +build gc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "textflag.h"
 | 
					#include "textflag.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_bsd_386.s
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/golang.org/x/sys/unix/asm_bsd_386.s
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
					@ -3,8 +3,6 @@
 | 
				
			||||||
// license that can be found in the LICENSE file.
 | 
					// license that can be found in the LICENSE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:build (freebsd || netbsd || openbsd) && gc
 | 
					//go:build (freebsd || netbsd || openbsd) && gc
 | 
				
			||||||
// +build freebsd netbsd openbsd
 | 
					 | 
				
			||||||
// +build gc
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "textflag.h"
 | 
					#include "textflag.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue