mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 12:52:25 -05:00 
			
		
		
		
	[bugfix] Downstep otel to fix freebsd compile issue (#1773)
https://github.com/open-telemetry/opentelemetry-go/issues/4076
This commit is contained in:
		
					parent
					
						
							
								ec325fee14
							
						
					
				
			
			
				commit
				
					
						b47661f033
					
				
			
		
					 70 changed files with 1097 additions and 3138 deletions
				
			
		
							
								
								
									
										20
									
								
								go.mod
									
										
									
									
									
								
							
							
						
						
									
										20
									
								
								go.mod
									
										
									
									
									
								
							|  | @ -49,14 +49,14 @@ require ( | ||||||
| 	github.com/uptrace/bun v1.1.13 | 	github.com/uptrace/bun v1.1.13 | ||||||
| 	github.com/uptrace/bun/dialect/pgdialect v1.1.13 | 	github.com/uptrace/bun/dialect/pgdialect v1.1.13 | ||||||
| 	github.com/uptrace/bun/dialect/sqlitedialect v1.1.13 | 	github.com/uptrace/bun/dialect/sqlitedialect v1.1.13 | ||||||
| 	github.com/uptrace/bun/extra/bunotel v1.1.13 | 	github.com/uptrace/bun/extra/bunotel v1.1.12 | ||||||
| 	github.com/wagslane/go-password-validator v0.3.0 | 	github.com/wagslane/go-password-validator v0.3.0 | ||||||
| 	github.com/yuin/goldmark v1.5.4 | 	github.com/yuin/goldmark v1.5.4 | ||||||
| 	go.opentelemetry.io/otel v1.15.1 | 	go.opentelemetry.io/otel v1.14.0 | ||||||
| 	go.opentelemetry.io/otel/exporters/jaeger v1.15.1 | 	go.opentelemetry.io/otel/exporters/jaeger v1.14.0 | ||||||
| 	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.15.1 | 	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 | ||||||
| 	go.opentelemetry.io/otel/sdk v1.15.1 | 	go.opentelemetry.io/otel/sdk v1.14.0 | ||||||
| 	go.opentelemetry.io/otel/trace v1.15.1 | 	go.opentelemetry.io/otel/trace v1.14.0 | ||||||
| 	go.uber.org/automaxprocs v1.5.2 | 	go.uber.org/automaxprocs v1.5.2 | ||||||
| 	golang.org/x/crypto v0.8.0 | 	golang.org/x/crypto v0.8.0 | ||||||
| 	golang.org/x/exp v0.0.0-20220613132600-b0d781184e0d | 	golang.org/x/exp v0.0.0-20220613132600-b0d781184e0d | ||||||
|  | @ -154,12 +154,12 @@ require ( | ||||||
| 	github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect | 	github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect | ||||||
| 	github.com/twitchyliquid64/golang-asm v0.15.1 // indirect | 	github.com/twitchyliquid64/golang-asm v0.15.1 // indirect | ||||||
| 	github.com/ugorji/go/codec v1.2.9 // indirect | 	github.com/ugorji/go/codec v1.2.9 // indirect | ||||||
| 	github.com/uptrace/opentelemetry-go-extra/otelsql v0.2.0 // indirect | 	github.com/uptrace/opentelemetry-go-extra/otelsql v0.1.21 // 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/internal/retry v1.15.1 // indirect | 	go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 // indirect | ||||||
| 	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.15.1 // indirect | 	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0 // indirect | ||||||
| 	go.opentelemetry.io/otel/metric v0.38.1 // indirect | 	go.opentelemetry.io/otel/metric v0.37.0 // indirect | ||||||
| 	go.opentelemetry.io/proto/otlp v0.19.0 // indirect | 	go.opentelemetry.io/proto/otlp v0.19.0 // indirect | ||||||
| 	golang.org/x/arch v0.0.0-20210923205945-b76863e36670 // indirect | 	golang.org/x/arch v0.0.0-20210923205945-b76863e36670 // indirect | ||||||
| 	golang.org/x/mod v0.10.0 // indirect | 	golang.org/x/mod v0.10.0 // indirect | ||||||
|  |  | ||||||
							
								
								
									
										40
									
								
								go.sum
									
										
									
									
									
								
							
							
						
						
									
										40
									
								
								go.sum
									
										
									
									
									
								
							|  | @ -598,10 +598,10 @@ github.com/uptrace/bun/dialect/pgdialect v1.1.13 h1:j9BecpkRA9SDVBwh6oKhC5rABk4B | ||||||
| github.com/uptrace/bun/dialect/pgdialect v1.1.13/go.mod h1:G9h6kk5qfTyACjTja7gqM7SbRc0rqRc9AWDjzxwA7nY= | github.com/uptrace/bun/dialect/pgdialect v1.1.13/go.mod h1:G9h6kk5qfTyACjTja7gqM7SbRc0rqRc9AWDjzxwA7nY= | ||||||
| github.com/uptrace/bun/dialect/sqlitedialect v1.1.13 h1:ipYi26qS4xC9AVmArXqv4Rq+EJFtrsZfS+Ksqx21QVI= | github.com/uptrace/bun/dialect/sqlitedialect v1.1.13 h1:ipYi26qS4xC9AVmArXqv4Rq+EJFtrsZfS+Ksqx21QVI= | ||||||
| github.com/uptrace/bun/dialect/sqlitedialect v1.1.13/go.mod h1:pOUXT+1n1/cIJUwdq7w97NS6nA1kd01o8ZRWPy/JBMM= | github.com/uptrace/bun/dialect/sqlitedialect v1.1.13/go.mod h1:pOUXT+1n1/cIJUwdq7w97NS6nA1kd01o8ZRWPy/JBMM= | ||||||
| github.com/uptrace/bun/extra/bunotel v1.1.13 h1:QE0fNJpA+4mZi7cJXPDp5eQ3p5J/+tbwT0BRrXGFhhU= | github.com/uptrace/bun/extra/bunotel v1.1.12 h1:uWPU75j9dYGXMRC9jF0ASlndZZAcngoqZagH4w3kn54= | ||||||
| github.com/uptrace/bun/extra/bunotel v1.1.13/go.mod h1:ktwAHvvAlxy0G0z5Gl/HQDFOI7XOmWqbudDegdtZmfo= | github.com/uptrace/bun/extra/bunotel v1.1.12/go.mod h1:QfszJGLzNaTTGvvg17cEEUyEwxXq2NJ7sRvrPYvYSIU= | ||||||
| github.com/uptrace/opentelemetry-go-extra/otelsql v0.2.0 h1:7srBbziwY2NM8xtco+JMqsRu1FSvI1ZJn/eRtgcHtmg= | github.com/uptrace/opentelemetry-go-extra/otelsql v0.1.21 h1:iHkIlTU2P3xbSbVJbAiHL9IT+ekYV5empheF+652yeQ= | ||||||
| github.com/uptrace/opentelemetry-go-extra/otelsql v0.2.0/go.mod h1:OsbPyR3wEfyJVdlEaMLXBrBpIWkyxEb9iwDQcxkMkTI= | github.com/uptrace/opentelemetry-go-extra/otelsql v0.1.21/go.mod h1:hiCFa1UeZITKXi8lhu2qwOD5LHXjdGMCUIQHbybxoF0= | ||||||
| github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= | github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= | ||||||
| github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= | github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= | ||||||
| github.com/valyala/fasthttp v1.14.0/go.mod h1:ol1PCaL0dX20wC0htZ7sYCsvCYmrouYra0zHzaclZhE= | github.com/valyala/fasthttp v1.14.0/go.mod h1:ol1PCaL0dX20wC0htZ7sYCsvCYmrouYra0zHzaclZhE= | ||||||
|  | @ -644,22 +644,22 @@ 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.15.1 h1:3Iwq3lfRByPaws0f6bU3naAqOR1n5IeDWd9390kWHa8= | go.opentelemetry.io/otel v1.14.0 h1:/79Huy8wbf5DnIPhemGB+zEPVwnN6fuQybr/SRXa6hM= | ||||||
| go.opentelemetry.io/otel v1.15.1/go.mod h1:mHHGEHVDLal6YrKMmk9LqC4a3sF5g+fHfrttQIB1NTc= | go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU= | ||||||
| go.opentelemetry.io/otel/exporters/jaeger v1.15.1 h1:x3SLvwli0OyAJapNcOIzf1xXBRBA+HD3elrMQmFfmXo= | go.opentelemetry.io/otel/exporters/jaeger v1.14.0 h1:CjbUNd4iN2hHmWekmOqZ+zSCU+dzZppG8XsV+A3oc8Q= | ||||||
| go.opentelemetry.io/otel/exporters/jaeger v1.15.1/go.mod h1:0Ck9b5oLL/bFZvfAEEqtrb1U0jZXjm5fWXMCOCG3vvM= | go.opentelemetry.io/otel/exporters/jaeger v1.14.0/go.mod h1:4Ay9kk5vELRrbg5z4cpP9EtmQRFap2Wb0woPG4lujZA= | ||||||
| go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.15.1 h1:XYDQtNzdb2T4uM1pku2m76eSMDJgqhJ+6KzkqgQBALc= | go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 h1:/fXHZHGvro6MVqV34fJzDhi7sHGpX3Ej/Qjmfn003ho= | ||||||
| go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.15.1/go.mod h1:uOTV75+LOzV+ODmL8ahRLWkFA3eQcSC2aAsbxIu4duk= | go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0/go.mod h1:UFG7EBMRdXyFstOwH028U0sVf+AvukSGhF0g8+dmNG8= | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.15.1 h1:tyoeaUh8REKay72DVYsSEBYV18+fGONe+YYPaOxgLoE= | go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0 h1:TKf2uAs2ueguzLaxOCBXNpHxfO/aC7PAdDsSH0IbeRQ= | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.15.1/go.mod h1:HUSnrjQQ19KX9ECjpQxufsF+3ioD3zISPMlauTPZu2g= | go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0/go.mod h1:HrbCVv40OOLTABmOn1ZWty6CHXkU8DK/Urc43tHug70= | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.15.1 h1:pIfoG5IAZFzp9EUlJzdSkpUwpaUAAnD+Ru1nBLTACIQ= | go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 h1:ap+y8RXX3Mu9apKVtOkM6WSFESLM8K3wNQyOU8sWHcc= | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.15.1/go.mod h1:poNKBqF5+nR/6ke2oGTDjHfksrsHDOHXAl2g4+9ONsY= | go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0/go.mod h1:5w41DY6S9gZrbjuq6Y+753e96WfPha5IcsOSZTtullM= | ||||||
| go.opentelemetry.io/otel/metric v0.38.1 h1:2MM7m6wPw9B8Qv8iHygoAgkbejed59uUR6ezR5T3X2s= | go.opentelemetry.io/otel/metric v0.37.0 h1:pHDQuLQOZwYD+Km0eb657A25NaRzy0a+eLyKfDXedEs= | ||||||
| go.opentelemetry.io/otel/metric v0.38.1/go.mod h1:FwqNHD3I/5iX9pfrRGZIlYICrJv0rHEUl2Ln5vdIVnQ= | go.opentelemetry.io/otel/metric v0.37.0/go.mod h1:DmdaHfGt54iV6UKxsV9slj2bBRJcKC1B1uvDLIioc1s= | ||||||
| go.opentelemetry.io/otel/sdk v1.15.1 h1:5FKR+skgpzvhPQHIEfcwMYjCBr14LWzs3uSqKiQzETI= | go.opentelemetry.io/otel/sdk v1.14.0 h1:PDCppFRDq8A1jL9v6KMI6dYesaq+DFcDZvjsoGvxGzY= | ||||||
| go.opentelemetry.io/otel/sdk v1.15.1/go.mod h1:8rVtxQfrbmbHKfqzpQkT5EzZMcbMBwTzNAggbEAM0KA= | go.opentelemetry.io/otel/sdk v1.14.0/go.mod h1:bwIC5TjrNG6QDCHNWvW4HLHtUQ4I+VQDsnjhvyZCALM= | ||||||
| go.opentelemetry.io/otel/trace v1.15.1 h1:uXLo6iHJEzDfrNC0L0mNjItIp06SyaBQxu5t3xMlngY= | go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyKcFq/M= | ||||||
| go.opentelemetry.io/otel/trace v1.15.1/go.mod h1:IWdQG/5N1x7f6YUlmdLeJvH9yxtuJAfc4VW5Agv9r/8= | go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8= | ||||||
| go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= | go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= | ||||||
| go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= | go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= | ||||||
| go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= | go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								vendor/github.com/uptrace/bun/extra/bunotel/otel.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/uptrace/bun/extra/bunotel/otel.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -10,7 +10,6 @@ import ( | ||||||
| 	"go.opentelemetry.io/otel" | 	"go.opentelemetry.io/otel" | ||||||
| 	"go.opentelemetry.io/otel/attribute" | 	"go.opentelemetry.io/otel/attribute" | ||||||
| 	"go.opentelemetry.io/otel/codes" | 	"go.opentelemetry.io/otel/codes" | ||||||
| 	"go.opentelemetry.io/otel/metric" |  | ||||||
| 	"go.opentelemetry.io/otel/metric/global" | 	"go.opentelemetry.io/otel/metric/global" | ||||||
| 	"go.opentelemetry.io/otel/metric/instrument" | 	"go.opentelemetry.io/otel/metric/instrument" | ||||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.12.0" | 	semconv "go.opentelemetry.io/otel/semconv/v1.12.0" | ||||||
|  | @ -76,8 +75,7 @@ func (h *QueryHook) AfterQuery(ctx context.Context, event *bun.QueryEvent) { | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	dur := time.Since(event.StartTime) | 	queryHistogram.Record(ctx, time.Since(event.StartTime).Milliseconds(), labels...) | ||||||
| 	queryHistogram.Record(ctx, dur.Milliseconds(), metric.WithAttributes(labels...)) |  | ||||||
| 
 | 
 | ||||||
| 	span := trace.SpanFromContext(ctx) | 	span := trace.SpanFromContext(ctx) | ||||||
| 	if !span.IsRecording() { | 	if !span.IsRecording() { | ||||||
|  |  | ||||||
							
								
								
									
										47
									
								
								vendor/github.com/uptrace/opentelemetry-go-extra/otelsql/otel.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										47
									
								
								vendor/github.com/uptrace/opentelemetry-go-extra/otelsql/otel.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -12,6 +12,7 @@ import ( | ||||||
| 	"go.opentelemetry.io/otel/codes" | 	"go.opentelemetry.io/otel/codes" | ||||||
| 	"go.opentelemetry.io/otel/metric" | 	"go.opentelemetry.io/otel/metric" | ||||||
| 	"go.opentelemetry.io/otel/metric/global" | 	"go.opentelemetry.io/otel/metric/global" | ||||||
|  | 	"go.opentelemetry.io/otel/metric/instrument" | ||||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.10.0" | 	semconv "go.opentelemetry.io/otel/semconv/v1.10.0" | ||||||
| 	"go.opentelemetry.io/otel/trace" | 	"go.opentelemetry.io/otel/trace" | ||||||
| ) | ) | ||||||
|  | @ -53,7 +54,7 @@ func (c *config) formatQuery(query string) string { | ||||||
| type dbInstrum struct { | type dbInstrum struct { | ||||||
| 	*config | 	*config | ||||||
| 
 | 
 | ||||||
| 	queryHistogram metric.Int64Histogram | 	queryHistogram instrument.Int64Histogram | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func newDBInstrum(opts []Option) *dbInstrum { | func newDBInstrum(opts []Option) *dbInstrum { | ||||||
|  | @ -71,8 +72,8 @@ func newDBInstrum(opts []Option) *dbInstrum { | ||||||
| 	var err error | 	var err error | ||||||
| 	t.queryHistogram, err = t.meter.Int64Histogram( | 	t.queryHistogram, err = t.meter.Int64Histogram( | ||||||
| 		"go.sql.query_timing", | 		"go.sql.query_timing", | ||||||
| 		metric.WithDescription("Timing of processed queries"), | 		instrument.WithDescription("Timing of processed queries"), | ||||||
| 		metric.WithUnit("milliseconds"), | 		instrument.WithUnit("milliseconds"), | ||||||
| 	) | 	) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		panic(err) | 		panic(err) | ||||||
|  | @ -105,7 +106,7 @@ func (t *dbInstrum) withSpan( | ||||||
| 	span.End() | 	span.End() | ||||||
| 
 | 
 | ||||||
| 	if query != "" { | 	if query != "" { | ||||||
| 		t.queryHistogram.Record(ctx, time.Since(startTime).Milliseconds(), metric.WithAttributes(t.attrs...)) | 		t.queryHistogram.Record(ctx, time.Since(startTime).Milliseconds(), t.attrs...) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if !span.IsRecording() { | 	if !span.IsRecording() { | ||||||
|  | @ -184,57 +185,57 @@ func ReportDBStatsMetrics(db *sql.DB, opts ...Option) { | ||||||
| 
 | 
 | ||||||
| 	maxOpenConns, _ := meter.Int64ObservableGauge( | 	maxOpenConns, _ := meter.Int64ObservableGauge( | ||||||
| 		"go.sql.connections_max_open", | 		"go.sql.connections_max_open", | ||||||
| 		metric.WithDescription("Maximum number of open connections to the database"), | 		instrument.WithDescription("Maximum number of open connections to the database"), | ||||||
| 	) | 	) | ||||||
| 	openConns, _ := meter.Int64ObservableGauge( | 	openConns, _ := meter.Int64ObservableGauge( | ||||||
| 		"go.sql.connections_open", | 		"go.sql.connections_open", | ||||||
| 		metric.WithDescription("The number of established connections both in use and idle"), | 		instrument.WithDescription("The number of established connections both in use and idle"), | ||||||
| 	) | 	) | ||||||
| 	inUseConns, _ := meter.Int64ObservableGauge( | 	inUseConns, _ := meter.Int64ObservableGauge( | ||||||
| 		"go.sql.connections_in_use", | 		"go.sql.connections_in_use", | ||||||
| 		metric.WithDescription("The number of connections currently in use"), | 		instrument.WithDescription("The number of connections currently in use"), | ||||||
| 	) | 	) | ||||||
| 	idleConns, _ := meter.Int64ObservableGauge( | 	idleConns, _ := meter.Int64ObservableGauge( | ||||||
| 		"go.sql.connections_idle", | 		"go.sql.connections_idle", | ||||||
| 		metric.WithDescription("The number of idle connections"), | 		instrument.WithDescription("The number of idle connections"), | ||||||
| 	) | 	) | ||||||
| 	connsWaitCount, _ := meter.Int64ObservableCounter( | 	connsWaitCount, _ := meter.Int64ObservableCounter( | ||||||
| 		"go.sql.connections_wait_count", | 		"go.sql.connections_wait_count", | ||||||
| 		metric.WithDescription("The total number of connections waited for"), | 		instrument.WithDescription("The total number of connections waited for"), | ||||||
| 	) | 	) | ||||||
| 	connsWaitDuration, _ := meter.Int64ObservableCounter( | 	connsWaitDuration, _ := meter.Int64ObservableCounter( | ||||||
| 		"go.sql.connections_wait_duration", | 		"go.sql.connections_wait_duration", | ||||||
| 		metric.WithDescription("The total time blocked waiting for a new connection"), | 		instrument.WithDescription("The total time blocked waiting for a new connection"), | ||||||
| 		metric.WithUnit("nanoseconds"), | 		instrument.WithUnit("nanoseconds"), | ||||||
| 	) | 	) | ||||||
| 	connsClosedMaxIdle, _ := meter.Int64ObservableCounter( | 	connsClosedMaxIdle, _ := meter.Int64ObservableCounter( | ||||||
| 		"go.sql.connections_closed_max_idle", | 		"go.sql.connections_closed_max_idle", | ||||||
| 		metric.WithDescription("The total number of connections closed due to SetMaxIdleConns"), | 		instrument.WithDescription("The total number of connections closed due to SetMaxIdleConns"), | ||||||
| 	) | 	) | ||||||
| 	connsClosedMaxIdleTime, _ := meter.Int64ObservableCounter( | 	connsClosedMaxIdleTime, _ := meter.Int64ObservableCounter( | ||||||
| 		"go.sql.connections_closed_max_idle_time", | 		"go.sql.connections_closed_max_idle_time", | ||||||
| 		metric.WithDescription("The total number of connections closed due to SetConnMaxIdleTime"), | 		instrument.WithDescription("The total number of connections closed due to SetConnMaxIdleTime"), | ||||||
| 	) | 	) | ||||||
| 	connsClosedMaxLifetime, _ := meter.Int64ObservableCounter( | 	connsClosedMaxLifetime, _ := meter.Int64ObservableCounter( | ||||||
| 		"go.sql.connections_closed_max_lifetime", | 		"go.sql.connections_closed_max_lifetime", | ||||||
| 		metric.WithDescription("The total number of connections closed due to SetConnMaxLifetime"), | 		instrument.WithDescription("The total number of connections closed due to SetConnMaxLifetime"), | ||||||
| 	) | 	) | ||||||
| 
 | 
 | ||||||
| 	if _, err := meter.RegisterCallback( | 	if _, err := meter.RegisterCallback( | ||||||
| 		func(ctx context.Context, o metric.Observer) error { | 		func(ctx context.Context, o metric.Observer) error { | ||||||
| 			stats := db.Stats() | 			stats := db.Stats() | ||||||
| 
 | 
 | ||||||
| 			o.ObserveInt64(maxOpenConns, int64(stats.MaxOpenConnections), metric.WithAttributes(labels...)) | 			o.ObserveInt64(maxOpenConns, int64(stats.MaxOpenConnections), labels...) | ||||||
| 
 | 
 | ||||||
| 			o.ObserveInt64(openConns, int64(stats.OpenConnections), metric.WithAttributes(labels...)) | 			o.ObserveInt64(openConns, int64(stats.OpenConnections), labels...) | ||||||
| 			o.ObserveInt64(inUseConns, int64(stats.InUse), metric.WithAttributes(labels...)) | 			o.ObserveInt64(inUseConns, int64(stats.InUse), labels...) | ||||||
| 			o.ObserveInt64(idleConns, int64(stats.Idle), metric.WithAttributes(labels...)) | 			o.ObserveInt64(idleConns, int64(stats.Idle), labels...) | ||||||
| 
 | 
 | ||||||
| 			o.ObserveInt64(connsWaitCount, stats.WaitCount, metric.WithAttributes(labels...)) | 			o.ObserveInt64(connsWaitCount, stats.WaitCount, labels...) | ||||||
| 			o.ObserveInt64(connsWaitDuration, int64(stats.WaitDuration), metric.WithAttributes(labels...)) | 			o.ObserveInt64(connsWaitDuration, int64(stats.WaitDuration), labels...) | ||||||
| 			o.ObserveInt64(connsClosedMaxIdle, stats.MaxIdleClosed, metric.WithAttributes(labels...)) | 			o.ObserveInt64(connsClosedMaxIdle, stats.MaxIdleClosed, labels...) | ||||||
| 			o.ObserveInt64(connsClosedMaxIdleTime, stats.MaxIdleTimeClosed, metric.WithAttributes(labels...)) | 			o.ObserveInt64(connsClosedMaxIdleTime, stats.MaxIdleTimeClosed, labels...) | ||||||
| 			o.ObserveInt64(connsClosedMaxLifetime, stats.MaxLifetimeClosed, metric.WithAttributes(labels...)) | 			o.ObserveInt64(connsClosedMaxLifetime, stats.MaxLifetimeClosed, labels...) | ||||||
| 
 | 
 | ||||||
| 			return nil | 			return nil | ||||||
| 		}, | 		}, | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/github.com/uptrace/opentelemetry-go-extra/otelsql/version.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/uptrace/opentelemetry-go-extra/otelsql/version.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -2,5 +2,5 @@ package otelsql | ||||||
| 
 | 
 | ||||||
| // Version is the current release version. | // Version is the current release version. | ||||||
| func Version() string { | func Version() string { | ||||||
| 	return "0.2.0" | 	return "0.1.21" | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/.gitignore
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/.gitignore
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -7,8 +7,6 @@ Thumbs.db | ||||||
| *.iml | *.iml | ||||||
| *.so | *.so | ||||||
| coverage.* | coverage.* | ||||||
| go.work |  | ||||||
| go.work.sum |  | ||||||
| 
 | 
 | ||||||
| gen/ | gen/ | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/.golangci.yml
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/.golangci.yml
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -85,8 +85,6 @@ linters-settings: | ||||||
|           - "**/internal/matchers/*.go" |           - "**/internal/matchers/*.go" | ||||||
|   godot: |   godot: | ||||||
|     exclude: |     exclude: | ||||||
|       # Exclude links. |  | ||||||
|       - '^ *\[[^]]+\]:' |  | ||||||
|       # Exclude sentence fragments for lists. |       # Exclude sentence fragments for lists. | ||||||
|       - '^[ ]*[-•]' |       - '^[ ]*[-•]' | ||||||
|       # Exclude sentences prefixing a list. |       # Exclude sentences prefixing a list. | ||||||
|  |  | ||||||
							
								
								
									
										161
									
								
								vendor/go.opentelemetry.io/otel/CHANGELOG.md
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										161
									
								
								vendor/go.opentelemetry.io/otel/CHANGELOG.md
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -8,147 +8,6 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm | ||||||
| 
 | 
 | ||||||
| ## [Unreleased] | ## [Unreleased] | ||||||
| 
 | 
 | ||||||
| ## [1.15.1/0.38.1] 2023-05-02 |  | ||||||
| 
 |  | ||||||
| ### Fixed |  | ||||||
| 
 |  | ||||||
| - Remove unused imports from `sdk/resource/host_id_bsd.go` which caused build failures. (#4040, #4041) |  | ||||||
| 
 |  | ||||||
| ## [1.15.0/0.38.0] 2023-04-27 |  | ||||||
| 
 |  | ||||||
| ### Added |  | ||||||
| 
 |  | ||||||
| - The `go.opentelemetry.io/otel/metric/embedded` package. (#3916) |  | ||||||
| - The `Version` function to `go.opentelemetry.io/otel/sdk` to return the SDK version. (#3949) |  | ||||||
| - Add a `WithNamespace` option to `go.opentelemetry.io/otel/exporters/prometheus` to allow users to prefix metrics with a namespace. (#3970) |  | ||||||
| - The following configuration types were added to `go.opentelemetry.io/otel/metric/instrument` to be used in the configuration of measurement methods. (#3971) |  | ||||||
|   - The `AddConfig` used to hold configuration for addition measurements |  | ||||||
|     - `NewAddConfig` used to create a new `AddConfig` |  | ||||||
|     - `AddOption` used to configure an `AddConfig` |  | ||||||
|   - The `RecordConfig` used to hold configuration for recorded measurements |  | ||||||
|     - `NewRecordConfig` used to create a new `RecordConfig` |  | ||||||
|     - `RecordOption` used to configure a `RecordConfig` |  | ||||||
|   - The `ObserveConfig` used to hold configuration for observed measurements |  | ||||||
|     - `NewObserveConfig` used to create a new `ObserveConfig` |  | ||||||
|     - `ObserveOption` used to configure an `ObserveConfig` |  | ||||||
| - `WithAttributeSet` and `WithAttributes` are added to `go.opentelemetry.io/otel/metric/instrument`. |  | ||||||
|   They return an option used during a measurement that defines the attribute Set associated with the measurement. (#3971) |  | ||||||
| - The `Version` function to `go.opentelemetry.io/otel/exporters/otlp/otlpmetric` to return the OTLP metrics client version. (#3956) |  | ||||||
| - The `Version` function to `go.opentelemetry.io/otel/exporters/otlp/otlptrace` to return the OTLP trace client version. (#3956) |  | ||||||
| 
 |  | ||||||
| ### Changed |  | ||||||
| 
 |  | ||||||
| - The `Extrema` in `go.opentelemetry.io/otel/sdk/metric/metricdata` is redefined with a generic argument of `[N int64 | float64]`. (#3870) |  | ||||||
| - Update all exported interfaces from `go.opentelemetry.io/otel/metric` to embed their corresponding interface from `go.opentelemetry.io/otel/metric/embedded`. |  | ||||||
|   This adds an implementation requirement to set the interface default behavior for unimplemented methods. (#3916) |  | ||||||
| - Move No-Op implementation from `go.opentelemetry.io/otel/metric` into its own package `go.opentelemetry.io/otel/metric/noop`. (#3941) |  | ||||||
|   - `metric.NewNoopMeterProvider` is replaced with `noop.NewMeterProvider` |  | ||||||
| - Add all the methods from `"go.opentelemetry.io/otel/trace".SpanContext` to `bridgeSpanContext` by embedding `otel.SpanContext` in `bridgeSpanContext`. (#3966) |  | ||||||
| - Wrap `UploadMetrics` error in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/` to improve error message when encountering generic grpc errors. (#3974) |  | ||||||
| - The measurement methods for all instruments in `go.opentelemetry.io/otel/metric/instrument` accept an option instead of the variadic `"go.opentelemetry.io/otel/attribute".KeyValue`. (#3971) |  | ||||||
|   - The `Int64Counter.Add` method now accepts `...AddOption` |  | ||||||
|   - The `Float64Counter.Add` method now accepts `...AddOption` |  | ||||||
|   - The `Int64UpDownCounter.Add` method now accepts `...AddOption` |  | ||||||
|   - The `Float64UpDownCounter.Add` method now accepts `...AddOption` |  | ||||||
|   - The `Int64Histogram.Record` method now accepts `...RecordOption` |  | ||||||
|   - The `Float64Histogram.Record` method now accepts `...RecordOption` |  | ||||||
|   - The `Int64Observer.Observe` method now accepts `...ObserveOption` |  | ||||||
|   - The `Float64Observer.Observe` method now accepts `...ObserveOption` |  | ||||||
| - The `Observer` methods in `go.opentelemetry.io/otel/metric` accept an option instead of the variadic `"go.opentelemetry.io/otel/attribute".KeyValue`. (#3971) |  | ||||||
|   - The `Observer.ObserveInt64` method now accepts `...ObserveOption` |  | ||||||
|   - The `Observer.ObserveFloat64` method now accepts `...ObserveOption` |  | ||||||
| - Move global metric back to `go.opentelemetry.io/otel/metric/global` from `go.opentelemetry.io/otel`. (#3986) |  | ||||||
| 
 |  | ||||||
| ### Fixed |  | ||||||
| 
 |  | ||||||
| - `TracerProvider` allows calling `Tracer()` while it's shutting down. |  | ||||||
|   It used to deadlock. (#3924) |  | ||||||
| - Use the SDK version for the Telemetry SDK resource detector in `go.opentelemetry.io/otel/sdk/resource`. (#3949) |  | ||||||
| - Fix a data race in `SpanProcessor` returned by `NewSimpleSpanProcessor` in `go.opentelemetry.io/otel/sdk/trace`. (#3951) |  | ||||||
| - Automatically figure out the default aggregation with `aggregation.Default`. (#3967) |  | ||||||
| 
 |  | ||||||
| ### Deprecated |  | ||||||
| 
 |  | ||||||
| - The `go.opentelemetry.io/otel/metric/instrument` package is deprecated. |  | ||||||
|   Use the equivalent types added to `go.opentelemetry.io/otel/metric` instead. (#4018) |  | ||||||
| 
 |  | ||||||
| ## [1.15.0-rc.2/0.38.0-rc.2] 2023-03-23 |  | ||||||
| 
 |  | ||||||
| This is a release candidate for the v1.15.0/v0.38.0 release. |  | ||||||
| That release will include the `v1` release of the OpenTelemetry Go metric API and will provide stability guarantees of that API. |  | ||||||
| See our [versioning policy](VERSIONING.md) for more information about these stability guarantees. |  | ||||||
| 
 |  | ||||||
| ### Added |  | ||||||
| 
 |  | ||||||
| - The `WithHostID` option to `go.opentelemetry.io/otel/sdk/resource`. (#3812) |  | ||||||
| - The `WithoutTimestamps` option to `go.opentelemetry.io/otel/exporters/stdout/stdoutmetric` to sets all timestamps to zero. (#3828) |  | ||||||
| - The new `Exemplar` type is added to `go.opentelemetry.io/otel/sdk/metric/metricdata`. |  | ||||||
|   Both the `DataPoint` and `HistogramDataPoint` types from that package have a new field of `Exemplars` containing the sampled exemplars for their timeseries. (#3849) |  | ||||||
| - Configuration for each metric instrument in `go.opentelemetry.io/otel/sdk/metric/instrument`. (#3895) |  | ||||||
| - The internal logging introduces a warning level verbosity equal to `V(1)`. (#3900) |  | ||||||
| - Added a log message warning about usage of `SimpleSpanProcessor` in production environments. (#3854) |  | ||||||
| 
 |  | ||||||
| ### Changed |  | ||||||
| 
 |  | ||||||
| - Optimize memory allocation when creation a new `Set` using `NewSet` or `NewSetWithFiltered` in `go.opentelemetry.io/otel/attribute`. (#3832) |  | ||||||
| - Optimize memory allocation when creation new metric instruments in `go.opentelemetry.io/otel/sdk/metric`. (#3832) |  | ||||||
| - Avoid creating new objects on all calls to `WithDeferredSetup` and `SkipContextSetup` in OpenTracing bridge. (#3833) |  | ||||||
| - The `New` and `Detect` functions from `go.opentelemetry.io/otel/sdk/resource` return errors that wrap underlying errors instead of just containing the underlying error strings. (#3844) |  | ||||||
| - Both the `Histogram` and `HistogramDataPoint` are redefined with a generic argument of `[N int64 | float64]` in `go.opentelemetry.io/otel/sdk/metric/metricdata`. (#3849) |  | ||||||
| - The metric `Export` interface from `go.opentelemetry.io/otel/sdk/metric` accepts a `*ResourceMetrics` instead of `ResourceMetrics`. (#3853) |  | ||||||
| - Rename `Asynchronous` to `Observable` in `go.opentelemetry.io/otel/metric/instrument`. (#3892) |  | ||||||
| - Rename `Int64ObserverOption` to `Int64ObservableOption` in `go.opentelemetry.io/otel/metric/instrument`. (#3895) |  | ||||||
| - Rename `Float64ObserverOption` to `Float64ObservableOption` in `go.opentelemetry.io/otel/metric/instrument`. (#3895) |  | ||||||
| - The internal logging changes the verbosity level of info to `V(4)`, the verbosity level of debug to `V(8)`. (#3900) |  | ||||||
| 
 |  | ||||||
| ### Fixed |  | ||||||
| 
 |  | ||||||
| - `TracerProvider` consistently doesn't allow to register a `SpanProcessor` after shutdown. (#3845) |  | ||||||
| 
 |  | ||||||
| ### Removed |  | ||||||
| 
 |  | ||||||
| - The deprecated `go.opentelemetry.io/otel/metric/global` package is removed. (#3829) |  | ||||||
| - The unneeded `Synchronous` interface in `go.opentelemetry.io/otel/metric/instrument` was removed. (#3892) |  | ||||||
| - The `Float64ObserverConfig` and `NewFloat64ObserverConfig` in `go.opentelemetry.io/otel/sdk/metric/instrument`. |  | ||||||
|   Use the added `float64` instrument configuration instead. (#3895) |  | ||||||
| - The `Int64ObserverConfig` and `NewInt64ObserverConfig` in `go.opentelemetry.io/otel/sdk/metric/instrument`. |  | ||||||
|   Use the added `int64` instrument configuration instead. (#3895) |  | ||||||
| - The `NewNoopMeter` function in `go.opentelemetry.io/otel/metric`, use `NewMeterProvider().Meter("")` instead. (#3893) |  | ||||||
| 
 |  | ||||||
| ## [1.15.0-rc.1/0.38.0-rc.1] 2023-03-01 |  | ||||||
| 
 |  | ||||||
| This is a release candidate for the v1.15.0/v0.38.0 release. |  | ||||||
| That release will include the `v1` release of the OpenTelemetry Go metric API and will provide stability guarantees of that API. |  | ||||||
| See our [versioning policy](VERSIONING.md) for more information about these stability guarantees. |  | ||||||
| 
 |  | ||||||
| This release drops the compatibility guarantee of [Go 1.18]. |  | ||||||
| 
 |  | ||||||
| ### Added |  | ||||||
| 
 |  | ||||||
| - Support global `MeterProvider` in `go.opentelemetry.io/otel`. (#3818) |  | ||||||
|   - Use `Meter` for a `metric.Meter` from the global `metric.MeterProvider`. |  | ||||||
|   - Use `GetMeterProivder` for a global `metric.MeterProvider`. |  | ||||||
|   - Use `SetMeterProivder` to set the global `metric.MeterProvider`. |  | ||||||
| 
 |  | ||||||
| ### Changed |  | ||||||
| 
 |  | ||||||
| - Dropped compatibility testing for [Go 1.18]. |  | ||||||
|   The project no longer guarantees support for this version of Go. (#3813) |  | ||||||
| 
 |  | ||||||
| ### Fixed |  | ||||||
| 
 |  | ||||||
| - Handle empty environment variable as it they were not set. (#3764) |  | ||||||
| - Clarify the `httpconv` and `netconv` packages in `go.opentelemetry.io/otel/semconv/*` provide tracing semantic conventions. (#3823) |  | ||||||
| 
 |  | ||||||
| ### Deprecated |  | ||||||
| 
 |  | ||||||
| - The `go.opentelemetry.io/otel/metric/global` package is deprecated. |  | ||||||
|   Use `go.opentelemetry.io/otel` instead. (#3818) |  | ||||||
| 
 |  | ||||||
| ### Removed |  | ||||||
| 
 |  | ||||||
| - The deprecated `go.opentelemetry.io/otel/metric/unit` package is removed. (#3814) |  | ||||||
| 
 |  | ||||||
| ## [1.14.0/0.37.0/0.0.4] 2023-02-27 | ## [1.14.0/0.37.0/0.0.4] 2023-02-27 | ||||||
| 
 | 
 | ||||||
| This release is the last to support [Go 1.18]. | This release is the last to support [Go 1.18]. | ||||||
|  | @ -262,7 +121,7 @@ The next release will require at least [Go 1.19]. | ||||||
| - The `go.opentelemetry.io/otel/semconv/v1.16.0` package. | - The `go.opentelemetry.io/otel/semconv/v1.16.0` package. | ||||||
|   The package contains semantic conventions from the `v1.16.0` version of the OpenTelemetry specification. (#3579) |   The package contains semantic conventions from the `v1.16.0` version of the OpenTelemetry specification. (#3579) | ||||||
| - Metric instruments to `go.opentelemetry.io/otel/metric/instrument`. | - Metric instruments to `go.opentelemetry.io/otel/metric/instrument`. | ||||||
|   These instruments are use as replacements of the deprecated `go.opentelemetry.io/otel/metric/instrument/{asyncfloat64,asyncint64,syncfloat64,syncint64}` packages.(#3575, #3586) |   These instruments are use as replacements of the depreacted `go.opentelemetry.io/otel/metric/instrument/{asyncfloat64,asyncint64,syncfloat64,syncint64}` packages.(#3575, #3586) | ||||||
|   - `Float64ObservableCounter` replaces the `asyncfloat64.Counter` |   - `Float64ObservableCounter` replaces the `asyncfloat64.Counter` | ||||||
|   - `Float64ObservableUpDownCounter` replaces the `asyncfloat64.UpDownCounter` |   - `Float64ObservableUpDownCounter` replaces the `asyncfloat64.UpDownCounter` | ||||||
|   - `Float64ObservableGauge` replaces the `asyncfloat64.Gauge` |   - `Float64ObservableGauge` replaces the `asyncfloat64.Gauge` | ||||||
|  | @ -285,7 +144,7 @@ The next release will require at least [Go 1.19]. | ||||||
| ### Changed | ### Changed | ||||||
| 
 | 
 | ||||||
| - Jaeger and Zipkin exporter use `github.com/go-logr/logr` as the logging interface, and add the `WithLogr` option. (#3497, #3500) | - Jaeger and Zipkin exporter use `github.com/go-logr/logr` as the logging interface, and add the `WithLogr` option. (#3497, #3500) | ||||||
| - Instrument configuration in `go.opentelemetry.io/otel/metric/instrument` is split into specific options and configuration based on the instrument type. (#3507) | - Instrument configuration in `go.opentelemetry.io/otel/metric/instrument` is split into specific options and confguration based on the instrument type. (#3507) | ||||||
|   - Use the added `Int64Option` type to configure instruments from `go.opentelemetry.io/otel/metric/instrument/syncint64`. |   - Use the added `Int64Option` type to configure instruments from `go.opentelemetry.io/otel/metric/instrument/syncint64`. | ||||||
|   - Use the added `Float64Option` type to configure instruments from `go.opentelemetry.io/otel/metric/instrument/syncfloat64`. |   - Use the added `Float64Option` type to configure instruments from `go.opentelemetry.io/otel/metric/instrument/syncfloat64`. | ||||||
|   - Use the added `Int64ObserverOption` type to configure instruments from `go.opentelemetry.io/otel/metric/instrument/asyncint64`. |   - Use the added `Int64ObserverOption` type to configure instruments from `go.opentelemetry.io/otel/metric/instrument/asyncint64`. | ||||||
|  | @ -298,7 +157,7 @@ The next release will require at least [Go 1.19]. | ||||||
| - The `Shutdown` method of the `"go.opentelemetry.io/otel/sdk/trace".TracerProvider` releases all computational resources when called the first time. (#3551) | - The `Shutdown` method of the `"go.opentelemetry.io/otel/sdk/trace".TracerProvider` releases all computational resources when called the first time. (#3551) | ||||||
| - The `Sampler` returned from `TraceIDRatioBased` `go.opentelemetry.io/otel/sdk/trace` now uses the rightmost bits for sampling decisions. | - The `Sampler` returned from `TraceIDRatioBased` `go.opentelemetry.io/otel/sdk/trace` now uses the rightmost bits for sampling decisions. | ||||||
|   This fixes random sampling when using ID generators like `xray.IDGenerator` and increasing parity with other language implementations. (#3557) |   This fixes random sampling when using ID generators like `xray.IDGenerator` and increasing parity with other language implementations. (#3557) | ||||||
| - Errors from `go.opentelemetry.io/otel/exporters/otlp/otlptrace` exporters are wrapped in errors identifying their signal name. | - Errors from `go.opentelemetry.io/otel/exporters/otlp/otlptrace` exporters are wrapped in erros identifying their signal name. | ||||||
|   Existing users of the exporters attempting to identify specific errors will need to use `errors.Unwrap()` to get the underlying error. (#3516) |   Existing users of the exporters attempting to identify specific errors will need to use `errors.Unwrap()` to get the underlying error. (#3516) | ||||||
| - Exporters from `go.opentelemetry.io/otel/exporters/otlp` will print the final retryable error message when attempts to retry time out. (#3514) | - Exporters from `go.opentelemetry.io/otel/exporters/otlp` will print the final retryable error message when attempts to retry time out. (#3514) | ||||||
| - The instrument kind names in `go.opentelemetry.io/otel/sdk/metric` are updated to match the API. (#3562) | - The instrument kind names in `go.opentelemetry.io/otel/sdk/metric` are updated to match the API. (#3562) | ||||||
|  | @ -407,7 +266,7 @@ The next release will require at least [Go 1.19]. | ||||||
| - Asynchronous counters (`Counter` and `UpDownCounter`) from the metric SDK now produce delta sums when configured with delta temporality. (#3398) | - Asynchronous counters (`Counter` and `UpDownCounter`) from the metric SDK now produce delta sums when configured with delta temporality. (#3398) | ||||||
| - Exported `Status` codes in the `go.opentelemetry.io/otel/exporters/zipkin` exporter are now exported as all upper case values. (#3340) | - Exported `Status` codes in the `go.opentelemetry.io/otel/exporters/zipkin` exporter are now exported as all upper case values. (#3340) | ||||||
| - `Aggregation`s from `go.opentelemetry.io/otel/sdk/metric` with no data are not exported. (#3394, #3436) | - `Aggregation`s from `go.opentelemetry.io/otel/sdk/metric` with no data are not exported. (#3394, #3436) | ||||||
| - Re-enabled Attribute Filters in the Metric SDK. (#3396) | - Reenabled Attribute Filters in the Metric SDK. (#3396) | ||||||
| - Asynchronous callbacks are only called if they are registered with at least one instrument that does not use drop aggragation. (#3408) | - Asynchronous callbacks are only called if they are registered with at least one instrument that does not use drop aggragation. (#3408) | ||||||
| - Do not report empty partial-success responses in the `go.opentelemetry.io/otel/exporters/otlp` exporters. (#3438, #3432) | - Do not report empty partial-success responses in the `go.opentelemetry.io/otel/exporters/otlp` exporters. (#3438, #3432) | ||||||
| - Handle partial success responses in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric` exporters. (#3162, #3440) | - Handle partial success responses in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric` exporters. (#3162, #3440) | ||||||
|  | @ -988,7 +847,7 @@ This release includes an API and SDK for the tracing signal that will comply wit | ||||||
| - Setting the global `ErrorHandler` with `"go.opentelemetry.io/otel".SetErrorHandler` multiple times is now supported. (#2160, #2140) | - Setting the global `ErrorHandler` with `"go.opentelemetry.io/otel".SetErrorHandler` multiple times is now supported. (#2160, #2140) | ||||||
| - The `"go.opentelemetry.io/otel/attribute".Any` function now supports `int32` values. (#2169) | - The `"go.opentelemetry.io/otel/attribute".Any` function now supports `int32` values. (#2169) | ||||||
| - Multiple calls to `"go.opentelemetry.io/otel/sdk/metric/controller/basic".WithResource()` are handled correctly, and when no resources are provided `"go.opentelemetry.io/otel/sdk/resource".Default()` is used. (#2120) | - Multiple calls to `"go.opentelemetry.io/otel/sdk/metric/controller/basic".WithResource()` are handled correctly, and when no resources are provided `"go.opentelemetry.io/otel/sdk/resource".Default()` is used. (#2120) | ||||||
| - The `WithoutTimestamps` option for the `go.opentelemetry.io/otel/exporters/stdout/stdouttrace` exporter causes the exporter to correctly omit timestamps. (#2195) | - The `WithoutTimestamps` option for the `go.opentelemetry.io/otel/exporters/stdout/stdouttrace` exporter causes the exporter to correctly ommit timestamps. (#2195) | ||||||
| - Fixed typos in resources.go. (#2201) | - Fixed typos in resources.go. (#2201) | ||||||
| 
 | 
 | ||||||
| ## [1.0.0-RC2] - 2021-07-26 | ## [1.0.0-RC2] - 2021-07-26 | ||||||
|  | @ -1434,7 +1293,7 @@ with major version 0. | ||||||
| - `NewGRPCDriver` function returns a `ProtocolDriver` that maintains a single gRPC connection to the collector. (#1369) | - `NewGRPCDriver` function returns a `ProtocolDriver` that maintains a single gRPC connection to the collector. (#1369) | ||||||
| - Added documentation about the project's versioning policy. (#1388) | - Added documentation about the project's versioning policy. (#1388) | ||||||
| - Added `NewSplitDriver` for OTLP exporter that allows sending traces and metrics to different endpoints. (#1418) | - Added `NewSplitDriver` for OTLP exporter that allows sending traces and metrics to different endpoints. (#1418) | ||||||
| - Added codeql workflow to GitHub Actions (#1428) | - Added codeql worfklow to GitHub Actions (#1428) | ||||||
| - Added Gosec workflow to GitHub Actions (#1429) | - Added Gosec workflow to GitHub Actions (#1429) | ||||||
| - Add new HTTP driver for OTLP exporter in `exporters/otlp/otlphttp`. Currently it only supports the binary protobuf payloads. (#1420) | - Add new HTTP driver for OTLP exporter in `exporters/otlp/otlphttp`. Currently it only supports the binary protobuf payloads. (#1420) | ||||||
| - Add an OpenCensus exporter bridge. (#1444) | - Add an OpenCensus exporter bridge. (#1444) | ||||||
|  | @ -2277,7 +2136,7 @@ There is still a possibility of breaking changes. | ||||||
| 
 | 
 | ||||||
| ### Fixed | ### Fixed | ||||||
| 
 | 
 | ||||||
| - Use stateful batcher on Prometheus exporter fixing regression introduced in #395. (#428) | - Use stateful batcher on Prometheus exporter fixing regresion introduced in #395. (#428) | ||||||
| 
 | 
 | ||||||
| ## [0.2.1] - 2020-01-08 | ## [0.2.1] - 2020-01-08 | ||||||
| 
 | 
 | ||||||
|  | @ -2443,11 +2302,7 @@ 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.15.1...HEAD | [Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.14.0...HEAD | ||||||
| [1.15.1/0.38.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.15.1 |  | ||||||
| [1.15.0/0.38.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.15.0 |  | ||||||
| [1.15.0-rc.2/0.38.0-rc.2]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.15.0-rc.2 |  | ||||||
| [1.15.0-rc.1/0.38.0-rc.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.15.0-rc.1 |  | ||||||
| [1.14.0/0.37.0/0.0.4]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.14.0 | [1.14.0/0.37.0/0.0.4]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.14.0 | ||||||
| [1.13.0/0.36.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.13.0 | [1.13.0/0.36.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.13.0 | ||||||
| [1.12.0/0.35.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.12.0 | [1.12.0/0.35.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.12.0 | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/CODEOWNERS
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/CODEOWNERS
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -12,6 +12,6 @@ | ||||||
| #  https://help.github.com/en/articles/about-code-owners | #  https://help.github.com/en/articles/about-code-owners | ||||||
| # | # | ||||||
| 
 | 
 | ||||||
| * @MrAlias @Aneurysm9 @evantorrie @XSAM @dashpole @MadVikingGod @pellared @hanyuancheung @dmathieu | * @jmacd @MrAlias @Aneurysm9 @evantorrie @XSAM @dashpole @MadVikingGod @pellared @hanyuancheung @dmathieu | ||||||
| 
 | 
 | ||||||
| CODEOWNERS @MrAlias @Aneurysm9 @MadVikingGod | CODEOWNERS @MrAlias @Aneurysm9 @MadVikingGod | ||||||
|  |  | ||||||
							
								
								
									
										93
									
								
								vendor/go.opentelemetry.io/otel/CONTRIBUTING.md
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										93
									
								
								vendor/go.opentelemetry.io/otel/CONTRIBUTING.md
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -6,7 +6,7 @@ OpenTelemetry | ||||||
| repo for information on this and other language SIGs. | repo for information on this and other language SIGs. | ||||||
| 
 | 
 | ||||||
| See the [public meeting | See the [public meeting | ||||||
| notes](https://docs.google.com/document/d/1E5e7Ld0NuU1iVvf-42tOBpu2VBBLYnh73GJuITGJTTU/edit) | notes](https://docs.google.com/document/d/1A63zSWX0x2CyCK_LoNhmQC4rqhLpYXJzXbEPDUQ2n6w/edit#heading=h.9tngw7jdwd6b) | ||||||
| for a summary description of past meetings. To request edit access, | for a summary description of past meetings. To request edit access, | ||||||
| join the meeting or get in touch on | join the meeting or get in touch on | ||||||
| [Slack](https://cloud-native.slack.com/archives/C01NPAXACKT). | [Slack](https://cloud-native.slack.com/archives/C01NPAXACKT). | ||||||
|  | @ -94,58 +94,30 @@ request ID to the entry you added to `CHANGELOG.md`. | ||||||
| 
 | 
 | ||||||
| ### How to Get PRs Merged | ### How to Get PRs Merged | ||||||
| 
 | 
 | ||||||
| A PR is considered **ready to merge** when: | A PR is considered to be **ready to merge** when: | ||||||
| 
 | 
 | ||||||
| * It has received two qualified approvals[^1]. | * It has received two approvals from Collaborators/Maintainers (at | ||||||
|  |   different companies). This is not enforced through technical means | ||||||
|  |   and a PR may be **ready to merge** with a single approval if the change | ||||||
|  |   and its approach have been discussed and consensus reached. | ||||||
|  | * Feedback has been addressed. | ||||||
|  | * Any substantive changes to your PR will require that you clear any prior | ||||||
|  |   Approval reviews, this includes changes resulting from other feedback. Unless | ||||||
|  |   the approver explicitly stated that their approval will persist across | ||||||
|  |   changes it should be assumed that the PR needs their review again. Other | ||||||
|  |   project members (e.g. approvers, maintainers) can help with this if there are | ||||||
|  |   any questions or if you forget to clear reviews. | ||||||
|  | * It has been open for review for at least one working day. This gives | ||||||
|  |   people reasonable time to review. | ||||||
|  | * Trivial changes (typo, cosmetic, doc, etc.) do not have to wait for | ||||||
|  |   one day and may be merged with a single Maintainer's approval. | ||||||
|  | * `CHANGELOG.md` has been updated to reflect what has been | ||||||
|  |   added, changed, removed, or fixed. | ||||||
|  | * `README.md` has been updated if necessary. | ||||||
|  | * Urgent fix can take exception as long as it has been actively | ||||||
|  |   communicated. | ||||||
| 
 | 
 | ||||||
|   This is not enforced through automation, but needs to be validated by the | Any Maintainer can merge the PR once it is **ready to merge**. | ||||||
|   maintainer merging. |  | ||||||
|   * The qualified approvals need to be from [Approver]s/[Maintainer]s |  | ||||||
|     affiliated with different companies. Two qualified approvals from |  | ||||||
|     [Approver]s or [Maintainer]s affiliated with the same company counts as a |  | ||||||
|     single qualified approval. |  | ||||||
|   * PRs introducing changes that have already been discussed and consensus |  | ||||||
|     reached only need one qualified approval. The discussion and resolution |  | ||||||
|     needs to be linked to the PR. |  | ||||||
|   * Trivial changes[^2] only need one qualified approval. |  | ||||||
| 
 |  | ||||||
| * All feedback has been addressed. |  | ||||||
|   * All PR comments and suggestions are resolved. |  | ||||||
|   * All GitHub Pull Request reviews with a status of "Request changes" have |  | ||||||
|     been addressed. Another review by the objecting reviewer with a different |  | ||||||
|     status can be submitted to clear the original review, or the review can be |  | ||||||
|     dismissed by a [Maintainer] when the issues from the original review have |  | ||||||
|     been addressed. |  | ||||||
|   * Any comments or reviews that cannot be resolved between the PR author and |  | ||||||
|     reviewers can be submitted to the community [Approver]s and [Maintainer]s |  | ||||||
|     during the weekly SIG meeting. If consensus is reached among the |  | ||||||
|     [Approver]s and [Maintainer]s during the SIG meeting the objections to the |  | ||||||
|     PR may be dismissed or resolved or the PR closed by a [Maintainer]. |  | ||||||
|   * Any substantive changes to the PR require existing Approval reviews be |  | ||||||
|     cleared unless the approver explicitly states that their approval persists |  | ||||||
|     across changes. This includes changes resulting from other feedback. |  | ||||||
|     [Approver]s and [Maintainer]s can help in clearing reviews and they should |  | ||||||
|     be consulted if there are any questions. |  | ||||||
| 
 |  | ||||||
| * The PR branch is up to date with the base branch it is merging into. |  | ||||||
|   * To ensure this does not block the PR, it should be configured to allow |  | ||||||
|     maintainers to update it. |  | ||||||
| 
 |  | ||||||
| * It has been open for review for at least one working day. This gives people |  | ||||||
|   reasonable time to review. |  | ||||||
|   * Trivial changes[^2] do not have to wait for one day and may be merged with |  | ||||||
|     a single [Maintainer]'s approval. |  | ||||||
| 
 |  | ||||||
| * All required GitHub workflows have succeeded. |  | ||||||
| * Urgent fix can take exception as long as it has been actively communicated |  | ||||||
|   among [Maintainer]s. |  | ||||||
| 
 |  | ||||||
| Any [Maintainer] can merge the PR once the above criteria have been met. |  | ||||||
| 
 |  | ||||||
| [^1]: A qualified approval is a GitHub Pull Request review with "Approve" |  | ||||||
|   status from an OpenTelemetry Go [Approver] or [Maintainer]. |  | ||||||
| [^2]: Trivial changes include: typo corrections, cosmetic non-substantive |  | ||||||
|   changes, documentation corrections or updates, dependency updates, etc. |  | ||||||
| 
 | 
 | ||||||
| ## Design Choices | ## Design Choices | ||||||
| 
 | 
 | ||||||
|  | @ -244,7 +216,7 @@ Meaning a `config` from one package should not be directly used by another. The | ||||||
| one exception is the API packages.  The configs from the base API, eg. | one exception is the API packages.  The configs from the base API, eg. | ||||||
| `go.opentelemetry.io/otel/trace.TracerConfig` and | `go.opentelemetry.io/otel/trace.TracerConfig` and | ||||||
| `go.opentelemetry.io/otel/metric.InstrumentConfig`, are intended to be consumed | `go.opentelemetry.io/otel/metric.InstrumentConfig`, are intended to be consumed | ||||||
| by the SDK therefore it is expected that these are exported. | by the SDK therefor it is expected that these are exported. | ||||||
| 
 | 
 | ||||||
| When a config is exported we want to maintain forward and backward | When a config is exported we want to maintain forward and backward | ||||||
| compatibility, to achieve this no fields should be exported but should | compatibility, to achieve this no fields should be exported but should | ||||||
|  | @ -262,12 +234,12 @@ func newConfig(options ...Option) config { | ||||||
| 	for _, option := range options { | 	for _, option := range options { | ||||||
| 		config = option.apply(config) | 		config = option.apply(config) | ||||||
| 	} | 	} | ||||||
| 	// Perform any validation here. | 	// Preform any validation here. | ||||||
| 	return config | 	return config | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| If validation of the `config` options is also performed this can return an | If validation of the `config` options is also preformed this can return an | ||||||
| error as well that is expected to be handled by the instantiation function | error as well that is expected to be handled by the instantiation function | ||||||
| or propagated to the user. | or propagated to the user. | ||||||
| 
 | 
 | ||||||
|  | @ -466,7 +438,7 @@ their parameters appropriately named. | ||||||
| #### Interface Stability | #### Interface Stability | ||||||
| 
 | 
 | ||||||
| All exported stable interfaces that include the following warning in their | All exported stable interfaces that include the following warning in their | ||||||
| documentation are allowed to be extended with additional methods. | doumentation are allowed to be extended with additional methods. | ||||||
| 
 | 
 | ||||||
| > Warning: methods may be added to this interface in minor releases. | > Warning: methods may be added to this interface in minor releases. | ||||||
| 
 | 
 | ||||||
|  | @ -528,30 +500,27 @@ interface that defines the specific functionality should be preferred. | ||||||
| 
 | 
 | ||||||
| ## Approvers and Maintainers | ## Approvers and Maintainers | ||||||
| 
 | 
 | ||||||
| ### Approvers | Approvers: | ||||||
| 
 | 
 | ||||||
| - [Evan Torrie](https://github.com/evantorrie), Verizon Media | - [Evan Torrie](https://github.com/evantorrie), Verizon Media | ||||||
|  | - [Josh MacDonald](https://github.com/jmacd), LightStep | ||||||
| - [Sam Xie](https://github.com/XSAM), Cisco/AppDynamics | - [Sam Xie](https://github.com/XSAM), Cisco/AppDynamics | ||||||
| - [David Ashpole](https://github.com/dashpole), Google | - [David Ashpole](https://github.com/dashpole), Google | ||||||
| - [Robert Pająk](https://github.com/pellared), Splunk | - [Robert Pająk](https://github.com/pellared), Splunk | ||||||
| - [Chester Cheung](https://github.com/hanyuancheung), Tencent | - [Chester Cheung](https://github.com/hanyuancheung), Tencent | ||||||
| - [Damien Mathieu](https://github.com/dmathieu), Elastic | - [Damien Mathieu](https://github.com/dmathieu), Elastic | ||||||
| 
 | 
 | ||||||
| ### Maintainers | Maintainers: | ||||||
| 
 | 
 | ||||||
| - [Aaron Clawson](https://github.com/MadVikingGod), LightStep | - [Aaron Clawson](https://github.com/MadVikingGod), LightStep | ||||||
| - [Anthony Mirabella](https://github.com/Aneurysm9), AWS | - [Anthony Mirabella](https://github.com/Aneurysm9), AWS | ||||||
| - [Tyler Yahn](https://github.com/MrAlias), Splunk | - [Tyler Yahn](https://github.com/MrAlias), Splunk | ||||||
| 
 | 
 | ||||||
| ### Emeritus | Emeritus: | ||||||
| 
 | 
 | ||||||
| - [Gustavo Silva Paiva](https://github.com/paivagustavo), LightStep | - [Gustavo Silva Paiva](https://github.com/paivagustavo), LightStep | ||||||
| - [Josh MacDonald](https://github.com/jmacd), LightStep |  | ||||||
| 
 | 
 | ||||||
| ### Become an Approver or a Maintainer | ### Become an Approver or a Maintainer | ||||||
| 
 | 
 | ||||||
| See the [community membership document in OpenTelemetry community | See the [community membership document in OpenTelemetry community | ||||||
| repo](https://github.com/open-telemetry/community/blob/main/community-membership.md). | repo](https://github.com/open-telemetry/community/blob/main/community-membership.md). | ||||||
| 
 |  | ||||||
| [Approver]: #approvers |  | ||||||
| [Maintainer]: #maintainers |  | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/Makefile
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/Makefile
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -156,7 +156,7 @@ go-mod-tidy/%: DIR=$* | ||||||
| go-mod-tidy/%: | crosslink | go-mod-tidy/%: | crosslink | ||||||
| 	@echo "$(GO) mod tidy in $(DIR)" \
 | 	@echo "$(GO) mod tidy in $(DIR)" \
 | ||||||
| 		&& cd $(DIR) \
 | 		&& cd $(DIR) \
 | ||||||
| 		&& $(GO) mod tidy -compat=1.19 | 		&& $(GO) mod tidy -compat=1.18 | ||||||
| 
 | 
 | ||||||
| .PHONY: lint-modules | .PHONY: lint-modules | ||||||
| lint-modules: go-mod-tidy | lint-modules: go-mod-tidy | ||||||
|  |  | ||||||
							
								
								
									
										7
									
								
								vendor/go.opentelemetry.io/otel/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/go.opentelemetry.io/otel/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -14,7 +14,7 @@ It provides a set of APIs to directly measure performance and behavior of your s | ||||||
| | Signal  | Status     | Project | | | Signal  | Status     | Project | | ||||||
| | ------- | ---------- | ------- | | | ------- | ---------- | ------- | | ||||||
| | Traces  | Stable     | N/A     | | | Traces  | Stable     | N/A     | | ||||||
| | Metrics | Beta       | N/A     | | | Metrics | Alpha      | N/A     | | ||||||
| | Logs    | Frozen [1] | N/A     | | | Logs    | Frozen [1] | N/A     | | ||||||
| 
 | 
 | ||||||
| - [1]: The Logs signal development is halted for this project while we develop both Traces and Metrics. | - [1]: The Logs signal development is halted for this project while we develop both Traces and Metrics. | ||||||
|  | @ -52,14 +52,19 @@ Currently, this project supports the following environments. | ||||||
| | ------- | ---------- | ------------ | | | ------- | ---------- | ------------ | | ||||||
| | Ubuntu  | 1.20       | amd64        | | | Ubuntu  | 1.20       | amd64        | | ||||||
| | Ubuntu  | 1.19       | amd64        | | | Ubuntu  | 1.19       | amd64        | | ||||||
|  | | Ubuntu  | 1.18       | amd64        | | ||||||
| | Ubuntu  | 1.20       | 386          | | | Ubuntu  | 1.20       | 386          | | ||||||
| | Ubuntu  | 1.19       | 386          | | | Ubuntu  | 1.19       | 386          | | ||||||
|  | | Ubuntu  | 1.18       | 386          | | ||||||
| | MacOS   | 1.20       | amd64        | | | MacOS   | 1.20       | amd64        | | ||||||
| | MacOS   | 1.19       | amd64        | | | MacOS   | 1.19       | amd64        | | ||||||
|  | | MacOS   | 1.18       | amd64        | | ||||||
| | Windows | 1.20       | amd64        | | | Windows | 1.20       | amd64        | | ||||||
| | Windows | 1.19       | amd64        | | | Windows | 1.19       | amd64        | | ||||||
|  | | Windows | 1.18       | amd64        | | ||||||
| | Windows | 1.20       | 386          | | | Windows | 1.20       | 386          | | ||||||
| | Windows | 1.19       | 386          | | | Windows | 1.19       | 386          | | ||||||
|  | | Windows | 1.18       | 386          | | ||||||
| 
 | 
 | ||||||
| While this project should work for other systems, no compatibility guarantees | While this project should work for other systems, no compatibility guarantees | ||||||
| are made for those systems currently. | are made for those systems currently. | ||||||
|  |  | ||||||
							
								
								
									
										20
									
								
								vendor/go.opentelemetry.io/otel/attribute/set.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/go.opentelemetry.io/otel/attribute/set.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -18,7 +18,6 @@ import ( | ||||||
| 	"encoding/json" | 	"encoding/json" | ||||||
| 	"reflect" | 	"reflect" | ||||||
| 	"sort" | 	"sort" | ||||||
| 	"sync" |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| type ( | type ( | ||||||
|  | @ -63,12 +62,6 @@ var ( | ||||||
| 			iface: [0]KeyValue{}, | 			iface: [0]KeyValue{}, | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	// sortables is a pool of Sortables used to create Sets with a user does |  | ||||||
| 	// not provide one. |  | ||||||
| 	sortables = sync.Pool{ |  | ||||||
| 		New: func() interface{} { return new(Sortable) }, |  | ||||||
| 	} |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // EmptySet returns a reference to a Set with no elements. | // EmptySet returns a reference to a Set with no elements. | ||||||
|  | @ -98,7 +91,7 @@ func (l *Set) Len() int { | ||||||
| 
 | 
 | ||||||
| // Get returns the KeyValue at ordered position idx in this set. | // Get returns the KeyValue at ordered position idx in this set. | ||||||
| func (l *Set) Get(idx int) (KeyValue, bool) { | func (l *Set) Get(idx int) (KeyValue, bool) { | ||||||
| 	if l == nil || !l.equivalent.Valid() { | 	if l == nil { | ||||||
| 		return KeyValue{}, false | 		return KeyValue{}, false | ||||||
| 	} | 	} | ||||||
| 	value := l.equivalent.reflectValue() | 	value := l.equivalent.reflectValue() | ||||||
|  | @ -114,7 +107,7 @@ func (l *Set) Get(idx int) (KeyValue, bool) { | ||||||
| 
 | 
 | ||||||
| // Value returns the value of a specified key in this set. | // Value returns the value of a specified key in this set. | ||||||
| func (l *Set) Value(k Key) (Value, bool) { | func (l *Set) Value(k Key) (Value, bool) { | ||||||
| 	if l == nil || !l.equivalent.Valid() { | 	if l == nil { | ||||||
| 		return Value{}, false | 		return Value{}, false | ||||||
| 	} | 	} | ||||||
| 	rValue := l.equivalent.reflectValue() | 	rValue := l.equivalent.reflectValue() | ||||||
|  | @ -198,9 +191,7 @@ func NewSet(kvs ...KeyValue) Set { | ||||||
| 	if len(kvs) == 0 { | 	if len(kvs) == 0 { | ||||||
| 		return empty() | 		return empty() | ||||||
| 	} | 	} | ||||||
| 	srt := sortables.Get().(*Sortable) | 	s, _ := NewSetWithSortableFiltered(kvs, new(Sortable), nil) | ||||||
| 	s, _ := NewSetWithSortableFiltered(kvs, srt, nil) |  | ||||||
| 	sortables.Put(srt) |  | ||||||
| 	return s | 	return s | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -227,10 +218,7 @@ func NewSetWithFiltered(kvs []KeyValue, filter Filter) (Set, []KeyValue) { | ||||||
| 	if len(kvs) == 0 { | 	if len(kvs) == 0 { | ||||||
| 		return empty(), nil | 		return empty(), nil | ||||||
| 	} | 	} | ||||||
| 	srt := sortables.Get().(*Sortable) | 	return NewSetWithSortableFiltered(kvs, new(Sortable), filter) | ||||||
| 	s, filtered := NewSetWithSortableFiltered(kvs, srt, filter) |  | ||||||
| 	sortables.Put(srt) |  | ||||||
| 	return s, filtered |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // NewSetWithSortableFiltered returns a new Set. | // NewSetWithSortableFiltered returns a new Set. | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/exporters/jaeger/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/exporters/jaeger/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -47,4 +47,4 @@ When re-generating Thrift code in the future, please adapt import paths as neces | ||||||
| 
 | 
 | ||||||
| - [Jaeger](https://www.jaegertracing.io/) | - [Jaeger](https://www.jaegertracing.io/) | ||||||
| - [OpenTelemetry to Jaeger Transformation](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/jaeger.md) | - [OpenTelemetry to Jaeger Transformation](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/jaeger.md) | ||||||
| - [OpenTelemetry Environment Variable Specification](https://opentelemetry.io/docs/reference/specification/sdk-environment-variables/#general-sdk-configuration) | - [OpenTelemetry Environment Variable Specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/sdk-environment-variables.md) | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/exporters/jaeger/env.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/exporters/jaeger/env.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -37,7 +37,7 @@ const ( | ||||||
| 
 | 
 | ||||||
| // envOr returns an env variable's value if it is exists or the default if not. | // envOr returns an env variable's value if it is exists or the default if not. | ||||||
| func envOr(key, defaultValue string) string { | func envOr(key, defaultValue string) string { | ||||||
| 	if v := os.Getenv(key); v != "" { | 	if v, ok := os.LookupEnv(key); ok && v != "" { | ||||||
| 		return v | 		return v | ||||||
| 	} | 	} | ||||||
| 	return defaultValue | 	return defaultValue | ||||||
|  |  | ||||||
|  | @ -77,7 +77,7 @@ const ( | ||||||
| // WrapTException wraps an error into TException. | // WrapTException wraps an error into TException. | ||||||
| // | // | ||||||
| // If err is nil or already TException, it's returned as-is. | // If err is nil or already TException, it's returned as-is. | ||||||
| // Otherwise it will be wrapped into TException with TExceptionType() returning | // Otherwise it will be wraped into TException with TExceptionType() returning | ||||||
| // TExceptionTypeUnknown, and Unwrap() returning the original error. | // TExceptionTypeUnknown, and Unwrap() returning the original error. | ||||||
| func WrapTException(err error) TException { | func WrapTException(err error) TException { | ||||||
| 	if err == nil { | 	if err == nil { | ||||||
|  |  | ||||||
|  | @ -56,7 +56,7 @@ type stringWriter interface { | ||||||
| 	WriteString(s string) (n int, err error) | 	WriteString(s string) (n int, err error) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // This is "enhanced" transport with extra capabilities. You need to use one of these | // This is "enchanced" transport with extra capabilities. You need to use one of these | ||||||
| // to construct protocol. | // to construct protocol. | ||||||
| // Notably, TSocket does not implement this interface, and it is always a mistake to use | // Notably, TSocket does not implement this interface, and it is always a mistake to use | ||||||
| // TSocket directly in protocol. | // TSocket directly in protocol. | ||||||
|  |  | ||||||
|  | @ -40,7 +40,7 @@ const ( | ||||||
| 	LIST   = 15 | 	LIST   = 15 | ||||||
| 	UTF8   = 16 | 	UTF8   = 16 | ||||||
| 	UTF16  = 17 | 	UTF16  = 17 | ||||||
| 	//BINARY = 18   wrong and unused | 	//BINARY = 18   wrong and unusued | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var typeNames = map[int]string{ | var typeNames = map[int]string{ | ||||||
|  |  | ||||||
|  | @ -12,14 +12,13 @@ | ||||||
| // 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/exporters/otlp/otlptrace/internal" | // Package internal contains common functionality for all OTLP exporters. | ||||||
|  | package internal // import "go.opentelemetry.io/otel/exporters/otlp/internal" | ||||||
| 
 | 
 | ||||||
| import ( | import "go.opentelemetry.io/otel" | ||||||
| 	"go.opentelemetry.io/otel/exporters/otlp/otlptrace" |  | ||||||
| ) |  | ||||||
| 
 | 
 | ||||||
| // GetUserAgentHeader returns an OTLP header value form "OTel OTLP Exporter Go/{{ .Version }}" | // GetUserAgentHeader return an OTLP header value form "OTel OTLP Exporter Go/{{ .Version }}" | ||||||
| // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#user-agent | // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#user-agent | ||||||
| func GetUserAgentHeader() string { | func GetUserAgentHeader() string { | ||||||
| 	return "OTel OTLP Exporter Go/" + otlptrace.Version() | 	return "OTel OTLP Exporter Go/" + otel.Version() | ||||||
| } | } | ||||||
|  | @ -27,7 +27,6 @@ import ( | ||||||
| 
 | 
 | ||||||
| 	"go.opentelemetry.io/otel/exporters/otlp/internal" | 	"go.opentelemetry.io/otel/exporters/otlp/internal" | ||||||
| 	"go.opentelemetry.io/otel/exporters/otlp/internal/retry" | 	"go.opentelemetry.io/otel/exporters/otlp/internal/retry" | ||||||
| 	otinternal "go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal" |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| const ( | const ( | ||||||
|  | @ -98,7 +97,7 @@ func NewGRPCConfig(opts ...GRPCOption) Config { | ||||||
| 			Timeout:     DefaultTimeout, | 			Timeout:     DefaultTimeout, | ||||||
| 		}, | 		}, | ||||||
| 		RetryConfig: retry.DefaultConfig, | 		RetryConfig: retry.DefaultConfig, | ||||||
| 		DialOptions: []grpc.DialOption{grpc.WithUserAgent(otinternal.GetUserAgentHeader())}, | 		DialOptions: []grpc.DialOption{grpc.WithUserAgent(internal.GetUserAgentHeader())}, | ||||||
| 	} | 	} | ||||||
| 	cfg = ApplyGRPCEnvConfigs(cfg) | 	cfg = ApplyGRPCEnvConfigs(cfg) | ||||||
| 	for _, opt := range opts { | 	for _, opt := range opts { | ||||||
|  |  | ||||||
							
								
								
									
										5
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -130,16 +130,13 @@ var errAlreadyStopped = errors.New("the client is already stopped") | ||||||
| // If the client has already stopped, an error will be returned describing | // If the client has already stopped, an error will be returned describing | ||||||
| // this. | // this. | ||||||
| func (c *client) Stop(ctx context.Context) error { | func (c *client) Stop(ctx context.Context) error { | ||||||
| 	// Make sure to return context error if the context is done when calling this method. |  | ||||||
| 	err := ctx.Err() |  | ||||||
| 
 |  | ||||||
| 	// Acquire the c.tscMu lock within the ctx lifetime. | 	// Acquire the c.tscMu lock within the ctx lifetime. | ||||||
| 	acquired := make(chan struct{}) | 	acquired := make(chan struct{}) | ||||||
| 	go func() { | 	go func() { | ||||||
| 		c.tscMu.Lock() | 		c.tscMu.Lock() | ||||||
| 		close(acquired) | 		close(acquired) | ||||||
| 	}() | 	}() | ||||||
| 
 | 	var err error | ||||||
| 	select { | 	select { | ||||||
| 	case <-ctx.Done(): | 	case <-ctx.Done(): | ||||||
| 		// The Stop timeout is reached. Kill any remaining exports to force | 		// The Stop timeout is reached. Kill any remaining exports to force | ||||||
|  |  | ||||||
							
								
								
									
										20
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.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 otlptrace // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace" |  | ||||||
| 
 |  | ||||||
| // Version is the current release version of the OpenTelemetry OTLP trace exporter in use. |  | ||||||
| func Version() string { |  | ||||||
| 	return "1.15.1" |  | ||||||
| } |  | ||||||
							
								
								
									
										64
									
								
								vendor/go.opentelemetry.io/otel/handler.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										64
									
								
								vendor/go.opentelemetry.io/otel/handler.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -15,16 +15,58 @@ | ||||||
| package otel // import "go.opentelemetry.io/otel" | package otel // import "go.opentelemetry.io/otel" | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"go.opentelemetry.io/otel/internal/global" | 	"log" | ||||||
|  | 	"os" | ||||||
|  | 	"sync/atomic" | ||||||
|  | 	"unsafe" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var ( | var ( | ||||||
| 	// Compile-time check global.ErrDelegator implements ErrorHandler. | 	// globalErrorHandler provides an ErrorHandler that can be used | ||||||
| 	_ ErrorHandler = (*global.ErrDelegator)(nil) | 	// throughout an OpenTelemetry instrumented project. When a user | ||||||
| 	// Compile-time check global.ErrLogger implements ErrorHandler. | 	// specified ErrorHandler is registered (`SetErrorHandler`) all calls to | ||||||
| 	_ ErrorHandler = (*global.ErrLogger)(nil) | 	// `Handle` and will be delegated to the registered ErrorHandler. | ||||||
|  | 	globalErrorHandler = defaultErrorHandler() | ||||||
|  | 
 | ||||||
|  | 	// Compile-time check that delegator implements ErrorHandler. | ||||||
|  | 	_ ErrorHandler = (*delegator)(nil) | ||||||
|  | 	// Compile-time check that errLogger implements ErrorHandler. | ||||||
|  | 	_ ErrorHandler = (*errLogger)(nil) | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | type delegator struct { | ||||||
|  | 	delegate unsafe.Pointer | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (d *delegator) Handle(err error) { | ||||||
|  | 	d.getDelegate().Handle(err) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (d *delegator) getDelegate() ErrorHandler { | ||||||
|  | 	return *(*ErrorHandler)(atomic.LoadPointer(&d.delegate)) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // setDelegate sets the ErrorHandler delegate. | ||||||
|  | func (d *delegator) setDelegate(eh ErrorHandler) { | ||||||
|  | 	atomic.StorePointer(&d.delegate, unsafe.Pointer(&eh)) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func defaultErrorHandler() *delegator { | ||||||
|  | 	d := &delegator{} | ||||||
|  | 	d.setDelegate(&errLogger{l: log.New(os.Stderr, "", log.LstdFlags)}) | ||||||
|  | 	return d | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // errLogger logs errors if no delegate is set, otherwise they are delegated. | ||||||
|  | type errLogger struct { | ||||||
|  | 	l *log.Logger | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Handle logs err if no delegate is set, otherwise it is delegated. | ||||||
|  | func (h *errLogger) Handle(err error) { | ||||||
|  | 	h.l.Print(err) | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // GetErrorHandler returns the global ErrorHandler instance. | // GetErrorHandler returns the global ErrorHandler instance. | ||||||
| // | // | ||||||
| // The default ErrorHandler instance returned will log all errors to STDERR | // The default ErrorHandler instance returned will log all errors to STDERR | ||||||
|  | @ -34,7 +76,9 @@ var ( | ||||||
| // | // | ||||||
| // Subsequent calls to SetErrorHandler after the first will not forward errors | // Subsequent calls to SetErrorHandler after the first will not forward errors | ||||||
| // to the new ErrorHandler for prior returned instances. | // to the new ErrorHandler for prior returned instances. | ||||||
| func GetErrorHandler() ErrorHandler { return global.GetErrorHandler() } | func GetErrorHandler() ErrorHandler { | ||||||
|  | 	return globalErrorHandler | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| // SetErrorHandler sets the global ErrorHandler to h. | // SetErrorHandler sets the global ErrorHandler to h. | ||||||
| // | // | ||||||
|  | @ -42,7 +86,11 @@ func GetErrorHandler() ErrorHandler { return global.GetErrorHandler() } | ||||||
| // GetErrorHandler will send errors to h instead of the default logging | // GetErrorHandler will send errors to h instead of the default logging | ||||||
| // ErrorHandler. Subsequent calls will set the global ErrorHandler, but not | // ErrorHandler. Subsequent calls will set the global ErrorHandler, but not | ||||||
| // delegate errors to h. | // delegate errors to h. | ||||||
| func SetErrorHandler(h ErrorHandler) { global.SetErrorHandler(h) } | func SetErrorHandler(h ErrorHandler) { | ||||||
|  | 	globalErrorHandler.setDelegate(h) | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| // Handle is a convenience function for ErrorHandler().Handle(err). | // Handle is a convenience function for ErrorHandler().Handle(err). | ||||||
| func Handle(err error) { global.Handle(err) } | func Handle(err error) { | ||||||
|  | 	GetErrorHandler().Handle(err) | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										103
									
								
								vendor/go.opentelemetry.io/otel/internal/global/handler.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										103
									
								
								vendor/go.opentelemetry.io/otel/internal/global/handler.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,103 +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 global // import "go.opentelemetry.io/otel/internal/global" |  | ||||||
| 
 |  | ||||||
| import ( |  | ||||||
| 	"log" |  | ||||||
| 	"os" |  | ||||||
| 	"sync/atomic" |  | ||||||
| 	"unsafe" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| var ( |  | ||||||
| 	// GlobalErrorHandler provides an ErrorHandler that can be used |  | ||||||
| 	// throughout an OpenTelemetry instrumented project. When a user |  | ||||||
| 	// specified ErrorHandler is registered (`SetErrorHandler`) all calls to |  | ||||||
| 	// `Handle` and will be delegated to the registered ErrorHandler. |  | ||||||
| 	GlobalErrorHandler = defaultErrorHandler() |  | ||||||
| 
 |  | ||||||
| 	// Compile-time check that delegator implements ErrorHandler. |  | ||||||
| 	_ ErrorHandler = (*ErrDelegator)(nil) |  | ||||||
| 	// Compile-time check that errLogger implements ErrorHandler. |  | ||||||
| 	_ ErrorHandler = (*ErrLogger)(nil) |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| // ErrorHandler handles irremediable events. |  | ||||||
| type ErrorHandler interface { |  | ||||||
| 	// Handle handles any error deemed irremediable by an OpenTelemetry |  | ||||||
| 	// component. |  | ||||||
| 	Handle(error) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| type ErrDelegator struct { |  | ||||||
| 	delegate unsafe.Pointer |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (d *ErrDelegator) Handle(err error) { |  | ||||||
| 	d.getDelegate().Handle(err) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (d *ErrDelegator) getDelegate() ErrorHandler { |  | ||||||
| 	return *(*ErrorHandler)(atomic.LoadPointer(&d.delegate)) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // setDelegate sets the ErrorHandler delegate. |  | ||||||
| func (d *ErrDelegator) setDelegate(eh ErrorHandler) { |  | ||||||
| 	atomic.StorePointer(&d.delegate, unsafe.Pointer(&eh)) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func defaultErrorHandler() *ErrDelegator { |  | ||||||
| 	d := &ErrDelegator{} |  | ||||||
| 	d.setDelegate(&ErrLogger{l: log.New(os.Stderr, "", log.LstdFlags)}) |  | ||||||
| 	return d |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // ErrLogger logs errors if no delegate is set, otherwise they are delegated. |  | ||||||
| type ErrLogger struct { |  | ||||||
| 	l *log.Logger |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Handle logs err if no delegate is set, otherwise it is delegated. |  | ||||||
| func (h *ErrLogger) Handle(err error) { |  | ||||||
| 	h.l.Print(err) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // GetErrorHandler returns the global ErrorHandler instance. |  | ||||||
| // |  | ||||||
| // The default ErrorHandler instance returned will log all errors to STDERR |  | ||||||
| // until an override ErrorHandler is set with SetErrorHandler. All |  | ||||||
| // ErrorHandler returned prior to this will automatically forward errors to |  | ||||||
| // the set instance instead of logging. |  | ||||||
| // |  | ||||||
| // Subsequent calls to SetErrorHandler after the first will not forward errors |  | ||||||
| // to the new ErrorHandler for prior returned instances. |  | ||||||
| func GetErrorHandler() ErrorHandler { |  | ||||||
| 	return GlobalErrorHandler |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // SetErrorHandler sets the global ErrorHandler to h. |  | ||||||
| // |  | ||||||
| // The first time this is called all ErrorHandler previously returned from |  | ||||||
| // GetErrorHandler will send errors to h instead of the default logging |  | ||||||
| // ErrorHandler. Subsequent calls will set the global ErrorHandler, but not |  | ||||||
| // delegate errors to h. |  | ||||||
| func SetErrorHandler(h ErrorHandler) { |  | ||||||
| 	GlobalErrorHandler.setDelegate(h) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Handle is a convenience function for ErrorHandler().Handle(err). |  | ||||||
| func Handle(err error) { |  | ||||||
| 	GetErrorHandler().Handle(err) |  | ||||||
| } |  | ||||||
							
								
								
									
										19
									
								
								vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -24,7 +24,7 @@ import ( | ||||||
| 	"github.com/go-logr/stdr" | 	"github.com/go-logr/stdr" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // globalLogger is the logging interface used within the otel api and sdk provide details of the internals. | // globalLogger is the logging interface used within the otel api and sdk provide deatails of the internals. | ||||||
| // | // | ||||||
| // The default logger uses stdr which is backed by the standard `log.Logger` | // The default logger uses stdr which is backed by the standard `log.Logger` | ||||||
| // interface. This logger will only show messages at the Error Level. | // interface. This logger will only show messages at the Error Level. | ||||||
|  | @ -36,9 +36,8 @@ func init() { | ||||||
| 
 | 
 | ||||||
| // SetLogger overrides the globalLogger with l. | // SetLogger overrides the globalLogger with l. | ||||||
| // | // | ||||||
| // To see Warn messages use a logger with `l.V(1).Enabled() == true` | // To see Info messages use a logger with `l.V(1).Enabled() == true` | ||||||
| // To see Info messages use a logger with `l.V(4).Enabled() == true` | // To see Debug messages use a logger with `l.V(5).Enabled() == true`. | ||||||
| // To see Debug messages use a logger with `l.V(8).Enabled() == true`. |  | ||||||
| func SetLogger(l logr.Logger) { | func SetLogger(l logr.Logger) { | ||||||
| 	atomic.StorePointer(&globalLogger, unsafe.Pointer(&l)) | 	atomic.StorePointer(&globalLogger, unsafe.Pointer(&l)) | ||||||
| } | } | ||||||
|  | @ -48,9 +47,9 @@ func getLogger() logr.Logger { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Info prints messages about the general state of the API or SDK. | // Info prints messages about the general state of the API or SDK. | ||||||
| // This should usually be less than 5 messages a minute. | // This should usually be less then 5 messages a minute. | ||||||
| func Info(msg string, keysAndValues ...interface{}) { | func Info(msg string, keysAndValues ...interface{}) { | ||||||
| 	getLogger().V(4).Info(msg, keysAndValues...) | 	getLogger().V(1).Info(msg, keysAndValues...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Error prints messages about exceptional states of the API or SDK. | // Error prints messages about exceptional states of the API or SDK. | ||||||
|  | @ -60,11 +59,5 @@ func Error(err error, msg string, keysAndValues ...interface{}) { | ||||||
| 
 | 
 | ||||||
| // Debug prints messages about all internal changes in the API or SDK. | // Debug prints messages about all internal changes in the API or SDK. | ||||||
| func Debug(msg string, keysAndValues ...interface{}) { | func Debug(msg string, keysAndValues ...interface{}) { | ||||||
| 	getLogger().V(8).Info(msg, keysAndValues...) | 	getLogger().V(5).Info(msg, keysAndValues...) | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Warn prints messages about warnings in the API or SDK. |  | ||||||
| // Not an error but is likely more important than an informational event. |  | ||||||
| func Warn(msg string, keysAndValues ...interface{}) { |  | ||||||
| 	getLogger().V(1).Info(msg, keysAndValues...) |  | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										258
									
								
								vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										258
									
								
								vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,258 +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 metric // import "go.opentelemetry.io/otel/metric" |  | ||||||
| 
 |  | ||||||
| import ( |  | ||||||
| 	"context" |  | ||||||
| 
 |  | ||||||
| 	"go.opentelemetry.io/otel/metric/embedded" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| // Float64Observable describes a set of instruments used asynchronously to |  | ||||||
| // record float64 measurements once per collection cycle. Observations of |  | ||||||
| // these instruments are only made within a callback. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. |  | ||||||
| type Float64Observable interface { |  | ||||||
| 	Observable |  | ||||||
| 
 |  | ||||||
| 	float64Observable() |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableCounter is an instrument used to asynchronously record |  | ||||||
| // increasing float64 measurements once per collection cycle. Observations are |  | ||||||
| // only made within a callback for this instrument. The value observed is |  | ||||||
| // assumed the to be the cumulative sum of the count. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Float64ObservableCounter interface { |  | ||||||
| 	embedded.Float64ObservableCounter |  | ||||||
| 
 |  | ||||||
| 	Float64Observable |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableCounterConfig contains options for asynchronous counter |  | ||||||
| // instruments that record int64 values. |  | ||||||
| type Float64ObservableCounterConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| 	callbacks   []Float64Callback |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewFloat64ObservableCounterConfig returns a new |  | ||||||
| // [Float64ObservableCounterConfig] with all opts applied. |  | ||||||
| func NewFloat64ObservableCounterConfig(opts ...Float64ObservableCounterOption) Float64ObservableCounterConfig { |  | ||||||
| 	var config Float64ObservableCounterConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyFloat64ObservableCounter(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Float64ObservableCounterConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Float64ObservableCounterConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Callbacks returns the configured callbacks. |  | ||||||
| func (c Float64ObservableCounterConfig) Callbacks() []Float64Callback { |  | ||||||
| 	return c.callbacks |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableCounterOption applies options to a |  | ||||||
| // [Float64ObservableCounterConfig]. See [Float64ObservableOption] and [Option] |  | ||||||
| // for other options that can be used as a Float64ObservableCounterOption. |  | ||||||
| type Float64ObservableCounterOption interface { |  | ||||||
| 	applyFloat64ObservableCounter(Float64ObservableCounterConfig) Float64ObservableCounterConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableUpDownCounter is an instrument used to asynchronously |  | ||||||
| // record float64 measurements once per collection cycle. Observations are only |  | ||||||
| // made within a callback for this instrument. The value observed is assumed |  | ||||||
| // the to be the cumulative sum of the count. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Float64ObservableUpDownCounter interface { |  | ||||||
| 	embedded.Float64ObservableUpDownCounter |  | ||||||
| 
 |  | ||||||
| 	Float64Observable |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableUpDownCounterConfig contains options for asynchronous |  | ||||||
| // counter instruments that record int64 values. |  | ||||||
| type Float64ObservableUpDownCounterConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| 	callbacks   []Float64Callback |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewFloat64ObservableUpDownCounterConfig returns a new |  | ||||||
| // [Float64ObservableUpDownCounterConfig] with all opts applied. |  | ||||||
| func NewFloat64ObservableUpDownCounterConfig(opts ...Float64ObservableUpDownCounterOption) Float64ObservableUpDownCounterConfig { |  | ||||||
| 	var config Float64ObservableUpDownCounterConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyFloat64ObservableUpDownCounter(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Float64ObservableUpDownCounterConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Float64ObservableUpDownCounterConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Callbacks returns the configured callbacks. |  | ||||||
| func (c Float64ObservableUpDownCounterConfig) Callbacks() []Float64Callback { |  | ||||||
| 	return c.callbacks |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableUpDownCounterOption applies options to a |  | ||||||
| // [Float64ObservableUpDownCounterConfig]. See [Float64ObservableOption] and |  | ||||||
| // [Option] for other options that can be used as a |  | ||||||
| // Float64ObservableUpDownCounterOption. |  | ||||||
| type Float64ObservableUpDownCounterOption interface { |  | ||||||
| 	applyFloat64ObservableUpDownCounter(Float64ObservableUpDownCounterConfig) Float64ObservableUpDownCounterConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableGauge is an instrument used to asynchronously record |  | ||||||
| // instantaneous float64 measurements once per collection cycle. Observations |  | ||||||
| // are only made within a callback for this instrument. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Float64ObservableGauge interface { |  | ||||||
| 	embedded.Float64ObservableGauge |  | ||||||
| 
 |  | ||||||
| 	Float64Observable |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableGaugeConfig contains options for asynchronous counter |  | ||||||
| // instruments that record int64 values. |  | ||||||
| type Float64ObservableGaugeConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| 	callbacks   []Float64Callback |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewFloat64ObservableGaugeConfig returns a new [Float64ObservableGaugeConfig] |  | ||||||
| // with all opts applied. |  | ||||||
| func NewFloat64ObservableGaugeConfig(opts ...Float64ObservableGaugeOption) Float64ObservableGaugeConfig { |  | ||||||
| 	var config Float64ObservableGaugeConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyFloat64ObservableGauge(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Float64ObservableGaugeConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Float64ObservableGaugeConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Callbacks returns the configured callbacks. |  | ||||||
| func (c Float64ObservableGaugeConfig) Callbacks() []Float64Callback { |  | ||||||
| 	return c.callbacks |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableGaugeOption applies options to a |  | ||||||
| // [Float64ObservableGaugeConfig]. See [Float64ObservableOption] and |  | ||||||
| // [Option] for other options that can be used as a |  | ||||||
| // Float64ObservableGaugeOption. |  | ||||||
| type Float64ObservableGaugeOption interface { |  | ||||||
| 	applyFloat64ObservableGauge(Float64ObservableGaugeConfig) Float64ObservableGaugeConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64Observer is a recorder of float64 measurements. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Float64Observer interface { |  | ||||||
| 	embedded.Float64Observer |  | ||||||
| 
 |  | ||||||
| 	// Observe records the float64 value. |  | ||||||
| 	Observe(value float64, opts ...ObserveOption) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64Callback is a function registered with a Meter that makes |  | ||||||
| // observations for a Float64Observerable instrument it is registered with. |  | ||||||
| // Calls to the Float64Observer record measurement values for the |  | ||||||
| // Float64Observable. |  | ||||||
| // |  | ||||||
| // The function needs to complete in a finite amount of time and the deadline |  | ||||||
| // of the passed context is expected to be honored. |  | ||||||
| // |  | ||||||
| // The function needs to make unique observations across all registered |  | ||||||
| // Float64Callbacks. Meaning, it should not report measurements with the same |  | ||||||
| // attributes as another Float64Callbacks also registered for the same |  | ||||||
| // instrument. |  | ||||||
| // |  | ||||||
| // The function needs to be concurrent safe. |  | ||||||
| type Float64Callback func(context.Context, Float64Observer) error |  | ||||||
| 
 |  | ||||||
| // Float64ObservableOption applies options to float64 Observer instruments. |  | ||||||
| type Float64ObservableOption interface { |  | ||||||
| 	Float64ObservableCounterOption |  | ||||||
| 	Float64ObservableUpDownCounterOption |  | ||||||
| 	Float64ObservableGaugeOption |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| type float64CallbackOpt struct { |  | ||||||
| 	cback Float64Callback |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o float64CallbackOpt) applyFloat64ObservableCounter(cfg Float64ObservableCounterConfig) Float64ObservableCounterConfig { |  | ||||||
| 	cfg.callbacks = append(cfg.callbacks, o.cback) |  | ||||||
| 	return cfg |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o float64CallbackOpt) applyFloat64ObservableUpDownCounter(cfg Float64ObservableUpDownCounterConfig) Float64ObservableUpDownCounterConfig { |  | ||||||
| 	cfg.callbacks = append(cfg.callbacks, o.cback) |  | ||||||
| 	return cfg |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o float64CallbackOpt) applyFloat64ObservableGauge(cfg Float64ObservableGaugeConfig) Float64ObservableGaugeConfig { |  | ||||||
| 	cfg.callbacks = append(cfg.callbacks, o.cback) |  | ||||||
| 	return cfg |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // WithFloat64Callback adds callback to be called for an instrument. |  | ||||||
| func WithFloat64Callback(callback Float64Callback) Float64ObservableOption { |  | ||||||
| 	return float64CallbackOpt{callback} |  | ||||||
| } |  | ||||||
							
								
								
									
										256
									
								
								vendor/go.opentelemetry.io/otel/metric/asyncint64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										256
									
								
								vendor/go.opentelemetry.io/otel/metric/asyncint64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,256 +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 metric // import "go.opentelemetry.io/otel/metric" |  | ||||||
| 
 |  | ||||||
| import ( |  | ||||||
| 	"context" |  | ||||||
| 
 |  | ||||||
| 	"go.opentelemetry.io/otel/metric/embedded" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| // Int64Observable describes a set of instruments used asynchronously to record |  | ||||||
| // int64 measurements once per collection cycle. Observations of these |  | ||||||
| // instruments are only made within a callback. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. |  | ||||||
| type Int64Observable interface { |  | ||||||
| 	Observable |  | ||||||
| 
 |  | ||||||
| 	int64Observable() |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableCounter is an instrument used to asynchronously record |  | ||||||
| // increasing int64 measurements once per collection cycle. Observations are |  | ||||||
| // only made within a callback for this instrument. The value observed is |  | ||||||
| // assumed the to be the cumulative sum of the count. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Int64ObservableCounter interface { |  | ||||||
| 	embedded.Int64ObservableCounter |  | ||||||
| 
 |  | ||||||
| 	Int64Observable |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableCounterConfig contains options for asynchronous counter |  | ||||||
| // instruments that record int64 values. |  | ||||||
| type Int64ObservableCounterConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| 	callbacks   []Int64Callback |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewInt64ObservableCounterConfig returns a new [Int64ObservableCounterConfig] |  | ||||||
| // with all opts applied. |  | ||||||
| func NewInt64ObservableCounterConfig(opts ...Int64ObservableCounterOption) Int64ObservableCounterConfig { |  | ||||||
| 	var config Int64ObservableCounterConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyInt64ObservableCounter(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Int64ObservableCounterConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Int64ObservableCounterConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Callbacks returns the configured callbacks. |  | ||||||
| func (c Int64ObservableCounterConfig) Callbacks() []Int64Callback { |  | ||||||
| 	return c.callbacks |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableCounterOption applies options to a |  | ||||||
| // [Int64ObservableCounterConfig]. See [Int64ObservableOption] and [Option] for |  | ||||||
| // other options that can be used as an Int64ObservableCounterOption. |  | ||||||
| type Int64ObservableCounterOption interface { |  | ||||||
| 	applyInt64ObservableCounter(Int64ObservableCounterConfig) Int64ObservableCounterConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableUpDownCounter is an instrument used to asynchronously record |  | ||||||
| // int64 measurements once per collection cycle. Observations are only made |  | ||||||
| // within a callback for this instrument. The value observed is assumed the to |  | ||||||
| // be the cumulative sum of the count. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Int64ObservableUpDownCounter interface { |  | ||||||
| 	embedded.Int64ObservableUpDownCounter |  | ||||||
| 
 |  | ||||||
| 	Int64Observable |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableUpDownCounterConfig contains options for asynchronous counter |  | ||||||
| // instruments that record int64 values. |  | ||||||
| type Int64ObservableUpDownCounterConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| 	callbacks   []Int64Callback |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewInt64ObservableUpDownCounterConfig returns a new |  | ||||||
| // [Int64ObservableUpDownCounterConfig] with all opts applied. |  | ||||||
| func NewInt64ObservableUpDownCounterConfig(opts ...Int64ObservableUpDownCounterOption) Int64ObservableUpDownCounterConfig { |  | ||||||
| 	var config Int64ObservableUpDownCounterConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyInt64ObservableUpDownCounter(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Int64ObservableUpDownCounterConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Int64ObservableUpDownCounterConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Callbacks returns the configured callbacks. |  | ||||||
| func (c Int64ObservableUpDownCounterConfig) Callbacks() []Int64Callback { |  | ||||||
| 	return c.callbacks |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableUpDownCounterOption applies options to a |  | ||||||
| // [Int64ObservableUpDownCounterConfig]. See [Int64ObservableOption] and |  | ||||||
| // [Option] for other options that can be used as an |  | ||||||
| // Int64ObservableUpDownCounterOption. |  | ||||||
| type Int64ObservableUpDownCounterOption interface { |  | ||||||
| 	applyInt64ObservableUpDownCounter(Int64ObservableUpDownCounterConfig) Int64ObservableUpDownCounterConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableGauge is an instrument used to asynchronously record |  | ||||||
| // instantaneous int64 measurements once per collection cycle. Observations are |  | ||||||
| // only made within a callback for this instrument. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Int64ObservableGauge interface { |  | ||||||
| 	embedded.Int64ObservableGauge |  | ||||||
| 
 |  | ||||||
| 	Int64Observable |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableGaugeConfig contains options for asynchronous counter |  | ||||||
| // instruments that record int64 values. |  | ||||||
| type Int64ObservableGaugeConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| 	callbacks   []Int64Callback |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewInt64ObservableGaugeConfig returns a new [Int64ObservableGaugeConfig] |  | ||||||
| // with all opts applied. |  | ||||||
| func NewInt64ObservableGaugeConfig(opts ...Int64ObservableGaugeOption) Int64ObservableGaugeConfig { |  | ||||||
| 	var config Int64ObservableGaugeConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyInt64ObservableGauge(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Int64ObservableGaugeConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Int64ObservableGaugeConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Callbacks returns the configured callbacks. |  | ||||||
| func (c Int64ObservableGaugeConfig) Callbacks() []Int64Callback { |  | ||||||
| 	return c.callbacks |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableGaugeOption applies options to a |  | ||||||
| // [Int64ObservableGaugeConfig]. See [Int64ObservableOption] and [Option] for |  | ||||||
| // other options that can be used as an Int64ObservableGaugeOption. |  | ||||||
| type Int64ObservableGaugeOption interface { |  | ||||||
| 	applyInt64ObservableGauge(Int64ObservableGaugeConfig) Int64ObservableGaugeConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64Observer is a recorder of int64 measurements. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Int64Observer interface { |  | ||||||
| 	embedded.Int64Observer |  | ||||||
| 
 |  | ||||||
| 	// Observe records the int64 value. |  | ||||||
| 	Observe(value int64, opts ...ObserveOption) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64Callback is a function registered with a Meter that makes observations |  | ||||||
| // for an Int64Observerable instrument it is registered with. Calls to the |  | ||||||
| // Int64Observer record measurement values for the Int64Observable. |  | ||||||
| // |  | ||||||
| // The function needs to complete in a finite amount of time and the deadline |  | ||||||
| // of the passed context is expected to be honored. |  | ||||||
| // |  | ||||||
| // The function needs to make unique observations across all registered |  | ||||||
| // Int64Callbacks. Meaning, it should not report measurements with the same |  | ||||||
| // attributes as another Int64Callbacks also registered for the same |  | ||||||
| // instrument. |  | ||||||
| // |  | ||||||
| // The function needs to be concurrent safe. |  | ||||||
| type Int64Callback func(context.Context, Int64Observer) error |  | ||||||
| 
 |  | ||||||
| // Int64ObservableOption applies options to int64 Observer instruments. |  | ||||||
| type Int64ObservableOption interface { |  | ||||||
| 	Int64ObservableCounterOption |  | ||||||
| 	Int64ObservableUpDownCounterOption |  | ||||||
| 	Int64ObservableGaugeOption |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| type int64CallbackOpt struct { |  | ||||||
| 	cback Int64Callback |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o int64CallbackOpt) applyInt64ObservableCounter(cfg Int64ObservableCounterConfig) Int64ObservableCounterConfig { |  | ||||||
| 	cfg.callbacks = append(cfg.callbacks, o.cback) |  | ||||||
| 	return cfg |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o int64CallbackOpt) applyInt64ObservableUpDownCounter(cfg Int64ObservableUpDownCounterConfig) Int64ObservableUpDownCounterConfig { |  | ||||||
| 	cfg.callbacks = append(cfg.callbacks, o.cback) |  | ||||||
| 	return cfg |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o int64CallbackOpt) applyInt64ObservableGauge(cfg Int64ObservableGaugeConfig) Int64ObservableGaugeConfig { |  | ||||||
| 	cfg.callbacks = append(cfg.callbacks, o.cback) |  | ||||||
| 	return cfg |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // WithInt64Callback adds callback to be called for an instrument. |  | ||||||
| func WithInt64Callback(callback Int64Callback) Int64ObservableOption { |  | ||||||
| 	return int64CallbackOpt{callback} |  | ||||||
| } |  | ||||||
							
								
								
									
										124
									
								
								vendor/go.opentelemetry.io/otel/metric/doc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										124
									
								
								vendor/go.opentelemetry.io/otel/metric/doc.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -13,125 +13,11 @@ | ||||||
| // limitations under the License. | // limitations under the License. | ||||||
| 
 | 
 | ||||||
| /* | /* | ||||||
| Package metric provides the OpenTelemetry API used to measure metrics about | Package metric provides an implementation of the metrics part of the | ||||||
| source code operation. | OpenTelemetry API. | ||||||
| 
 | 
 | ||||||
| This API is separate from its implementation so the instrumentation built from | This package is currently in a pre-GA phase. Backwards incompatible changes | ||||||
| it is reusable. See [go.opentelemetry.io/otel/sdk/metric] for the official | may be introduced in subsequent minor version releases as we work to track the | ||||||
| OpenTelemetry implementation of this API. | evolving OpenTelemetry specification and user feedback. | ||||||
| 
 |  | ||||||
| All measurements made with this package are made via instruments. These |  | ||||||
| instruments are created by a [Meter] which itself is created by a |  | ||||||
| [MeterProvider]. Applications need to accept a [MeterProvider] implementation |  | ||||||
| as a starting point when instrumenting. This can be done directly, or by using |  | ||||||
| the OpenTelemetry global MeterProvider via [GetMeterProvider]. Using an |  | ||||||
| appropriately named [Meter] from the accepted [MeterProvider], instrumentation |  | ||||||
| can then be built from the [Meter]'s instruments. |  | ||||||
| 
 |  | ||||||
| # Instruments |  | ||||||
| 
 |  | ||||||
| Each instrument is designed to make measurements of a particular type. Broadly, |  | ||||||
| all instruments fall into two overlapping logical categories: asynchronous or |  | ||||||
| synchronous, and int64 or float64. |  | ||||||
| 
 |  | ||||||
| All synchronous instruments ([Int64Counter], [Int64UpDownCounter], |  | ||||||
| [Int64Histogram], [Float64Counter], [Float64UpDownCounter], [Float64Histogram]) |  | ||||||
| are used to measure the operation and performance of source code during the |  | ||||||
| source code execution. These instruments only make measurements when the source |  | ||||||
| code they instrument is run. |  | ||||||
| 
 |  | ||||||
| All asynchronous instruments ([Int64ObservableCounter], |  | ||||||
| [Int64ObservableUpDownCounter], [Int64ObservableGauge], |  | ||||||
| [Float64ObservableCounter], [Float64ObservableUpDownCounter], |  | ||||||
| [Float64ObservableGauge]) are used to measure metrics outside of the execution |  | ||||||
| of source code. They are said to make "observations" via a callback function |  | ||||||
| called once every measurement collection cycle. |  | ||||||
| 
 |  | ||||||
| Each instrument is also grouped by the value type it measures. Either int64 or |  | ||||||
| float64. The value being measured will dictate which instrument in these |  | ||||||
| categories to use. |  | ||||||
| 
 |  | ||||||
| Outside of these two broad categories, instruments are described by the |  | ||||||
| function they are designed to serve. All Counters ([Int64Counter], |  | ||||||
| [Float64Counter], [Int64ObservableCounter], [Float64ObservableCounter]) are |  | ||||||
| designed to measure values that never decrease in value, but instead only |  | ||||||
| incrementally increase in value. UpDownCounters ([Int64UpDownCounter], |  | ||||||
| [Float64UpDownCounter], [Int64ObservableUpDownCounter], |  | ||||||
| [Float64ObservableUpDownCounter]) on the other hand, are designed to measure |  | ||||||
| values that can increase and decrease. When more information |  | ||||||
| needs to be conveyed about all the synchronous measurements made during a |  | ||||||
| collection cycle, a Histogram ([Int64Histogram], [Float64Histogram]) should be |  | ||||||
| used. Finally, when just the most recent measurement needs to be conveyed about an |  | ||||||
| asynchronous measurement, a Gauge ([Int64ObservableGauge], |  | ||||||
| [Float64ObservableGauge]) should be used. |  | ||||||
| 
 |  | ||||||
| See the [OpenTelemetry documentation] for more information about instruments |  | ||||||
| and their intended use. |  | ||||||
| 
 |  | ||||||
| # 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/metric/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/metric/embedded] in their implementation. For |  | ||||||
| example, |  | ||||||
| 
 |  | ||||||
| 	import "go.opentelemetry.io/otel/metric/embedded" |  | ||||||
| 
 |  | ||||||
| 	type MeterProvider struct { |  | ||||||
| 		embedded.MeterProvider |  | ||||||
| 		// ... |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| If an author wants the default behavior of their implementations to a panic, |  | ||||||
| they need to embed the API interface directly. |  | ||||||
| 
 |  | ||||||
| 	import "go.opentelemetry.io/otel/metric" |  | ||||||
| 
 |  | ||||||
| 	type MeterProvider struct { |  | ||||||
| 		metric.MeterProvider |  | ||||||
| 		// ... |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| This is not a recommended behavior as it could lead to publishing packages that |  | ||||||
| contain runtime panics when users update other package that use newer versions |  | ||||||
| of [go.opentelemetry.io/otel/metric]. |  | ||||||
| 
 |  | ||||||
| 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 want to default to silently dropping the call can use |  | ||||||
| [go.opentelemetry.io/otel/metric/noop]: |  | ||||||
| 
 |  | ||||||
| 	import "go.opentelemetry.io/otel/metric/noop" |  | ||||||
| 
 |  | ||||||
| 	type MeterProvider struct { |  | ||||||
| 		noop.MeterProvider |  | ||||||
| 		// ... |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| It is strongly recommended that authors only embed |  | ||||||
| [go.opentelemetry.io/otel/metric/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. |  | ||||||
| 
 |  | ||||||
| [OpenTelemetry documentation]: https://opentelemetry.io/docs/concepts/signals/metrics/ |  | ||||||
| [GetMeterProvider]: https://pkg.go.dev/go.opentelemetry.io/otel#GetMeterProvider |  | ||||||
| */ | */ | ||||||
| package metric // import "go.opentelemetry.io/otel/metric" | package metric // import "go.opentelemetry.io/otel/metric" | ||||||
|  |  | ||||||
							
								
								
									
										234
									
								
								vendor/go.opentelemetry.io/otel/metric/embedded/embedded.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										234
									
								
								vendor/go.opentelemetry.io/otel/metric/embedded/embedded.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,234 +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 embedded provides interfaces embedded within the [OpenTelemetry |  | ||||||
| // metric API]. |  | ||||||
| // |  | ||||||
| // Implementers of the [OpenTelemetry metric 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 metric API] is |  | ||||||
| // extended (which is something that can happen without a major version bump of |  | ||||||
| // the API package). |  | ||||||
| // |  | ||||||
| // [OpenTelemetry metric API]: https://pkg.go.dev/go.opentelemetry.io/otel/metric |  | ||||||
| package embedded // import "go.opentelemetry.io/otel/metric/embedded" |  | ||||||
| 
 |  | ||||||
| // MeterProvider is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.MeterProvider]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.MeterProvider] if you want users to |  | ||||||
| // experience a compilation error, signaling they need to update to your latest |  | ||||||
| // implementation, when the [go.opentelemetry.io/otel/metric.MeterProvider] |  | ||||||
| // interface is extended (which is something that can happen without a major |  | ||||||
| // version bump of the API package). |  | ||||||
| type MeterProvider interface{ meterProvider() } |  | ||||||
| 
 |  | ||||||
| // Meter is embedded in [go.opentelemetry.io/otel/metric.Meter]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Meter] if you want users to experience a |  | ||||||
| // compilation error, signaling they need to update to your latest |  | ||||||
| // implementation, when the [go.opentelemetry.io/otel/metric.Meter] interface |  | ||||||
| // is extended (which is something that can happen without a major version bump |  | ||||||
| // of the API package). |  | ||||||
| type Meter interface{ meter() } |  | ||||||
| 
 |  | ||||||
| // Float64Observer is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64Observer]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64Observer] if you want |  | ||||||
| // users to experience a compilation error, signaling they need to update to |  | ||||||
| // your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64Observer] interface is |  | ||||||
| // extended (which is something that can happen without a major version bump of |  | ||||||
| // the API package). |  | ||||||
| type Float64Observer interface{ float64Observer() } |  | ||||||
| 
 |  | ||||||
| // Int64Observer is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64Observer]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64Observer] if you want users |  | ||||||
| // to experience a compilation error, signaling they need to update to your |  | ||||||
| // latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64Observer] interface is |  | ||||||
| // extended (which is something that can happen without a major version bump of |  | ||||||
| // the API package). |  | ||||||
| type Int64Observer interface{ int64Observer() } |  | ||||||
| 
 |  | ||||||
| // Observer is embedded in [go.opentelemetry.io/otel/metric.Observer]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Observer] if you want users to experience a |  | ||||||
| // compilation error, signaling they need to update to your latest |  | ||||||
| // implementation, when the [go.opentelemetry.io/otel/metric.Observer] |  | ||||||
| // interface is extended (which is something that can happen without a major |  | ||||||
| // version bump of the API package). |  | ||||||
| type Observer interface{ observer() } |  | ||||||
| 
 |  | ||||||
| // Registration is embedded in [go.opentelemetry.io/otel/metric.Registration]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Registration] if you want users to |  | ||||||
| // experience a compilation error, signaling they need to update to your latest |  | ||||||
| // implementation, when the [go.opentelemetry.io/otel/metric.Registration] |  | ||||||
| // interface is extended (which is something that can happen without a major |  | ||||||
| // version bump of the API package). |  | ||||||
| type Registration interface{ registration() } |  | ||||||
| 
 |  | ||||||
| // Float64Counter is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64Counter]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64Counter] if you want |  | ||||||
| // users to experience a compilation error, signaling they need to update to |  | ||||||
| // your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64Counter] interface is |  | ||||||
| // extended (which is something that can happen without a major version bump of |  | ||||||
| // the API package). |  | ||||||
| type Float64Counter interface{ float64Counter() } |  | ||||||
| 
 |  | ||||||
| // Float64Histogram is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64Histogram]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64Histogram] if you want |  | ||||||
| // users to experience a compilation error, signaling they need to update to |  | ||||||
| // your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64Histogram] interface is |  | ||||||
| // extended (which is something that can happen without a major version bump of |  | ||||||
| // the API package). |  | ||||||
| type Float64Histogram interface{ float64Histogram() } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableCounter is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64ObservableCounter]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64ObservableCounter] if you |  | ||||||
| // want users to experience a compilation error, signaling they need to update |  | ||||||
| // to your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64ObservableCounter] |  | ||||||
| // interface is extended (which is something that can happen without a major |  | ||||||
| // version bump of the API package). |  | ||||||
| type Float64ObservableCounter interface{ float64ObservableCounter() } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableGauge is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64ObservableGauge]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64ObservableGauge] if you |  | ||||||
| // want users to experience a compilation error, signaling they need to update |  | ||||||
| // to your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64ObservableGauge] |  | ||||||
| // interface is extended (which is something that can happen without a major |  | ||||||
| // version bump of the API package). |  | ||||||
| type Float64ObservableGauge interface{ float64ObservableGauge() } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableUpDownCounter is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64ObservableUpDownCounter]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64ObservableUpDownCounter] |  | ||||||
| // if you want users to experience a compilation error, signaling they need to |  | ||||||
| // update to your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64ObservableUpDownCounter] |  | ||||||
| // interface is extended (which is something that can happen without a major |  | ||||||
| // version bump of the API package). |  | ||||||
| type Float64ObservableUpDownCounter interface{ float64ObservableUpDownCounter() } |  | ||||||
| 
 |  | ||||||
| // Float64UpDownCounter is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64UpDownCounter]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64UpDownCounter] if you |  | ||||||
| // want users to experience a compilation error, signaling they need to update |  | ||||||
| // to your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Float64UpDownCounter] interface |  | ||||||
| // is extended (which is something that can happen without a major version bump |  | ||||||
| // of the API package). |  | ||||||
| type Float64UpDownCounter interface{ float64UpDownCounter() } |  | ||||||
| 
 |  | ||||||
| // Int64Counter is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64Counter]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64Counter] if you want users |  | ||||||
| // to experience a compilation error, signaling they need to update to your |  | ||||||
| // latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64Counter] interface is |  | ||||||
| // extended (which is something that can happen without a major version bump of |  | ||||||
| // the API package). |  | ||||||
| type Int64Counter interface{ int64Counter() } |  | ||||||
| 
 |  | ||||||
| // Int64Histogram is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64Histogram]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64Histogram] if you want |  | ||||||
| // users to experience a compilation error, signaling they need to update to |  | ||||||
| // your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64Histogram] interface is |  | ||||||
| // extended (which is something that can happen without a major version bump of |  | ||||||
| // the API package). |  | ||||||
| type Int64Histogram interface{ int64Histogram() } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableCounter is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64ObservableCounter]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64ObservableCounter] if you |  | ||||||
| // want users to experience a compilation error, signaling they need to update |  | ||||||
| // to your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64ObservableCounter] |  | ||||||
| // interface is extended (which is something that can happen without a major |  | ||||||
| // version bump of the API package). |  | ||||||
| type Int64ObservableCounter interface{ int64ObservableCounter() } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableGauge is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64ObservableGauge]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64ObservableGauge] if you |  | ||||||
| // want users to experience a compilation error, signaling they need to update |  | ||||||
| // to your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64ObservableGauge] interface |  | ||||||
| // is extended (which is something that can happen without a major version bump |  | ||||||
| // of the API package). |  | ||||||
| type Int64ObservableGauge interface{ int64ObservableGauge() } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableUpDownCounter is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64ObservableUpDownCounter]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64ObservableUpDownCounter] if |  | ||||||
| // you want users to experience a compilation error, signaling they need to |  | ||||||
| // update to your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64ObservableUpDownCounter] |  | ||||||
| // interface is extended (which is something that can happen without a major |  | ||||||
| // version bump of the API package). |  | ||||||
| type Int64ObservableUpDownCounter interface{ int64ObservableUpDownCounter() } |  | ||||||
| 
 |  | ||||||
| // Int64UpDownCounter is embedded in |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64UpDownCounter]. |  | ||||||
| // |  | ||||||
| // Embed this interface in your implementation of the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64UpDownCounter] if you want |  | ||||||
| // users to experience a compilation error, signaling they need to update to |  | ||||||
| // your latest implementation, when the |  | ||||||
| // [go.opentelemetry.io/otel/metric.Int64UpDownCounter] interface is |  | ||||||
| // extended (which is something that can happen without a major version bump of |  | ||||||
| // the API package). |  | ||||||
| type Int64UpDownCounter interface{ int64UpDownCounter() } |  | ||||||
|  | @ -19,31 +19,24 @@ import ( | ||||||
| 	"go.opentelemetry.io/otel/metric/internal/global" | 	"go.opentelemetry.io/otel/metric/internal/global" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // Meter returns a Meter from the global MeterProvider. The name must be the | // Meter returns a Meter from the global MeterProvider. The | ||||||
| // name of the library providing instrumentation. This name may be the same as | // instrumentationName must be the name of the library providing | ||||||
| // the instrumented code only if that code provides built-in instrumentation. | // instrumentation. This name may be the same as the instrumented code only if | ||||||
| // If the name is empty, then a implementation defined default name will be | // that code provides built-in instrumentation. If the instrumentationName is | ||||||
| // used instead. | // empty, then a implementation defined default name will be used instead. | ||||||
| // | // | ||||||
| // If this is called before a global MeterProvider is registered the returned | // This is short for MeterProvider().Meter(name). | ||||||
| // Meter will be a No-op implementation of a Meter. When a global MeterProvider |  | ||||||
| // is registered for the first time, the returned Meter, and all the |  | ||||||
| // instruments it has created or will create, are recreated automatically from |  | ||||||
| // the new MeterProvider. |  | ||||||
| // |  | ||||||
| // This is short for GetMeterProvider().Meter(name). |  | ||||||
| func Meter(instrumentationName string, opts ...metric.MeterOption) metric.Meter { | func Meter(instrumentationName string, opts ...metric.MeterOption) metric.Meter { | ||||||
| 	return MeterProvider().Meter(instrumentationName, opts...) | 	return MeterProvider().Meter(instrumentationName, opts...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // MeterProvider returns the registered global meter provider. | // MeterProvider returns the registered global meter provider. | ||||||
| // | // If none is registered then a No-op MeterProvider is returned. | ||||||
| // If no global MeterProvider has been registered, a No-op MeterProvider implementation is returned. When a global MeterProvider is registered for the first time, the returned MeterProvider, and all the Meters it has created or will create, are recreated automatically from the new MeterProvider. |  | ||||||
| func MeterProvider() metric.MeterProvider { | func MeterProvider() metric.MeterProvider { | ||||||
| 	return global.MeterProvider() | 	return global.MeterProvider() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // SetMeterProvider registers mp as the global MeterProvider. | // SetMeterProvider registers `mp` as the global meter provider. | ||||||
| func SetMeterProvider(mp metric.MeterProvider) { | func SetMeterProvider(mp metric.MeterProvider) { | ||||||
| 	global.SetMeterProvider(mp) | 	global.SetMeterProvider(mp) | ||||||
| } | } | ||||||
							
								
								
									
										332
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										332
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,332 +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 metric // import "go.opentelemetry.io/otel/metric" |  | ||||||
| 
 |  | ||||||
| import "go.opentelemetry.io/otel/attribute" |  | ||||||
| 
 |  | ||||||
| // Observable is used as a grouping mechanism for all instruments that are |  | ||||||
| // updated within a Callback. |  | ||||||
| type Observable interface { |  | ||||||
| 	observable() |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // InstrumentOption applies options to all instruments. |  | ||||||
| type InstrumentOption interface { |  | ||||||
| 	Int64CounterOption |  | ||||||
| 	Int64UpDownCounterOption |  | ||||||
| 	Int64HistogramOption |  | ||||||
| 	Int64ObservableCounterOption |  | ||||||
| 	Int64ObservableUpDownCounterOption |  | ||||||
| 	Int64ObservableGaugeOption |  | ||||||
| 
 |  | ||||||
| 	Float64CounterOption |  | ||||||
| 	Float64UpDownCounterOption |  | ||||||
| 	Float64HistogramOption |  | ||||||
| 	Float64ObservableCounterOption |  | ||||||
| 	Float64ObservableUpDownCounterOption |  | ||||||
| 	Float64ObservableGaugeOption |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| type descOpt string |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyFloat64Counter(c Float64CounterConfig) Float64CounterConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyFloat64UpDownCounter(c Float64UpDownCounterConfig) Float64UpDownCounterConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyFloat64Histogram(c Float64HistogramConfig) Float64HistogramConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyFloat64ObservableCounter(c Float64ObservableCounterConfig) Float64ObservableCounterConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyFloat64ObservableUpDownCounter(c Float64ObservableUpDownCounterConfig) Float64ObservableUpDownCounterConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyFloat64ObservableGauge(c Float64ObservableGaugeConfig) Float64ObservableGaugeConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyInt64Counter(c Int64CounterConfig) Int64CounterConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyInt64UpDownCounter(c Int64UpDownCounterConfig) Int64UpDownCounterConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyInt64Histogram(c Int64HistogramConfig) Int64HistogramConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyInt64ObservableCounter(c Int64ObservableCounterConfig) Int64ObservableCounterConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyInt64ObservableUpDownCounter(c Int64ObservableUpDownCounterConfig) Int64ObservableUpDownCounterConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o descOpt) applyInt64ObservableGauge(c Int64ObservableGaugeConfig) Int64ObservableGaugeConfig { |  | ||||||
| 	c.description = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // WithDescription sets the instrument description. |  | ||||||
| func WithDescription(desc string) InstrumentOption { return descOpt(desc) } |  | ||||||
| 
 |  | ||||||
| type unitOpt string |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyFloat64Counter(c Float64CounterConfig) Float64CounterConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyFloat64UpDownCounter(c Float64UpDownCounterConfig) Float64UpDownCounterConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyFloat64Histogram(c Float64HistogramConfig) Float64HistogramConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyFloat64ObservableCounter(c Float64ObservableCounterConfig) Float64ObservableCounterConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyFloat64ObservableUpDownCounter(c Float64ObservableUpDownCounterConfig) Float64ObservableUpDownCounterConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyFloat64ObservableGauge(c Float64ObservableGaugeConfig) Float64ObservableGaugeConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyInt64Counter(c Int64CounterConfig) Int64CounterConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyInt64UpDownCounter(c Int64UpDownCounterConfig) Int64UpDownCounterConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyInt64Histogram(c Int64HistogramConfig) Int64HistogramConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyInt64ObservableCounter(c Int64ObservableCounterConfig) Int64ObservableCounterConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyInt64ObservableUpDownCounter(c Int64ObservableUpDownCounterConfig) Int64ObservableUpDownCounterConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o unitOpt) applyInt64ObservableGauge(c Int64ObservableGaugeConfig) Int64ObservableGaugeConfig { |  | ||||||
| 	c.unit = string(o) |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // WithUnit sets the instrument unit. |  | ||||||
| func WithUnit(u string) InstrumentOption { return unitOpt(u) } |  | ||||||
| 
 |  | ||||||
| // AddOption applies options to an addition measurement. See |  | ||||||
| // [MeasurementOption] for other options that can be used as a AddOption. |  | ||||||
| type AddOption interface { |  | ||||||
| 	applyAdd(AddConfig) AddConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // AddConfig contains options for an addition measurement. |  | ||||||
| type AddConfig struct { |  | ||||||
| 	attrs attribute.Set |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewAddConfig returns a new [AddConfig] with all opts applied. |  | ||||||
| func NewAddConfig(opts []AddOption) AddConfig { |  | ||||||
| 	config := AddConfig{attrs: *attribute.EmptySet()} |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyAdd(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Attributes returns the configured attribute set. |  | ||||||
| func (c AddConfig) Attributes() attribute.Set { |  | ||||||
| 	return c.attrs |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // RecordOption applies options to an addition measurement. See |  | ||||||
| // [MeasurementOption] for other options that can be used as a RecordOption. |  | ||||||
| type RecordOption interface { |  | ||||||
| 	applyRecord(RecordConfig) RecordConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // RecordConfig contains options for a recorded measurement. |  | ||||||
| type RecordConfig struct { |  | ||||||
| 	attrs attribute.Set |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewRecordConfig returns a new [RecordConfig] with all opts applied. |  | ||||||
| func NewRecordConfig(opts []RecordOption) RecordConfig { |  | ||||||
| 	config := RecordConfig{attrs: *attribute.EmptySet()} |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyRecord(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Attributes returns the configured attribute set. |  | ||||||
| func (c RecordConfig) Attributes() attribute.Set { |  | ||||||
| 	return c.attrs |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // ObserveOption applies options to an addition measurement. See |  | ||||||
| // [MeasurementOption] for other options that can be used as a ObserveOption. |  | ||||||
| type ObserveOption interface { |  | ||||||
| 	applyObserve(ObserveConfig) ObserveConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // ObserveConfig contains options for an observed measurement. |  | ||||||
| type ObserveConfig struct { |  | ||||||
| 	attrs attribute.Set |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewObserveConfig returns a new [ObserveConfig] with all opts applied. |  | ||||||
| func NewObserveConfig(opts []ObserveOption) ObserveConfig { |  | ||||||
| 	config := ObserveConfig{attrs: *attribute.EmptySet()} |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyObserve(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Attributes returns the configured attribute set. |  | ||||||
| func (c ObserveConfig) Attributes() attribute.Set { |  | ||||||
| 	return c.attrs |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // MeasurementOption applies options to all instrument measurement. |  | ||||||
| type MeasurementOption interface { |  | ||||||
| 	AddOption |  | ||||||
| 	RecordOption |  | ||||||
| 	ObserveOption |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| type attrOpt struct { |  | ||||||
| 	set attribute.Set |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // mergeSets returns the union of keys between a and b. Any duplicate keys will |  | ||||||
| // use the value associated with b. |  | ||||||
| func mergeSets(a, b attribute.Set) attribute.Set { |  | ||||||
| 	// NewMergeIterator uses the first value for any duplicates. |  | ||||||
| 	iter := attribute.NewMergeIterator(&b, &a) |  | ||||||
| 	merged := make([]attribute.KeyValue, 0, a.Len()+b.Len()) |  | ||||||
| 	for iter.Next() { |  | ||||||
| 		merged = append(merged, iter.Attribute()) |  | ||||||
| 	} |  | ||||||
| 	return attribute.NewSet(merged...) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o attrOpt) applyAdd(c AddConfig) AddConfig { |  | ||||||
| 	switch { |  | ||||||
| 	case o.set.Len() == 0: |  | ||||||
| 	case c.attrs.Len() == 0: |  | ||||||
| 		c.attrs = o.set |  | ||||||
| 	default: |  | ||||||
| 		c.attrs = mergeSets(c.attrs, o.set) |  | ||||||
| 	} |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o attrOpt) applyRecord(c RecordConfig) RecordConfig { |  | ||||||
| 	switch { |  | ||||||
| 	case o.set.Len() == 0: |  | ||||||
| 	case c.attrs.Len() == 0: |  | ||||||
| 		c.attrs = o.set |  | ||||||
| 	default: |  | ||||||
| 		c.attrs = mergeSets(c.attrs, o.set) |  | ||||||
| 	} |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (o attrOpt) applyObserve(c ObserveConfig) ObserveConfig { |  | ||||||
| 	switch { |  | ||||||
| 	case o.set.Len() == 0: |  | ||||||
| 	case c.attrs.Len() == 0: |  | ||||||
| 		c.attrs = o.set |  | ||||||
| 	default: |  | ||||||
| 		c.attrs = mergeSets(c.attrs, o.set) |  | ||||||
| 	} |  | ||||||
| 	return c |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // WithAttributeSet sets the attribute Set associated with a measurement is |  | ||||||
| // made with. |  | ||||||
| // |  | ||||||
| // If multiple WithAttributeSet or WithAttributes options are passed the |  | ||||||
| // attributes will be merged together in the order they are passed. Attributes |  | ||||||
| // with duplicate keys will use the last value passed. |  | ||||||
| func WithAttributeSet(attributes attribute.Set) MeasurementOption { |  | ||||||
| 	return attrOpt{set: attributes} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // WithAttributes converts attributes into an attribute Set and sets the Set to |  | ||||||
| // be associated with a measurement. This is shorthand for: |  | ||||||
| // |  | ||||||
| //	cp := make([]attribute.KeyValue, len(attributes)) |  | ||||||
| //	copy(cp, attributes) |  | ||||||
| //	WithAttributes(attribute.NewSet(cp...)) |  | ||||||
| // |  | ||||||
| // [attribute.NewSet] may modify the passed attributes so this will make a copy |  | ||||||
| // of attributes before creating a set in order to ensure this function is |  | ||||||
| // concurrent safe. This makes this option function less optimized in |  | ||||||
| // comparison to [WithAttributeSet]. Therefore, [WithAttributeSet] should be |  | ||||||
| // preferred for performance sensitive code. |  | ||||||
| // |  | ||||||
| // See [WithAttributeSet] for information about how multiple WithAttributes are |  | ||||||
| // merged. |  | ||||||
| func WithAttributes(attributes ...attribute.KeyValue) MeasurementOption { |  | ||||||
| 	cp := make([]attribute.KeyValue, len(attributes)) |  | ||||||
| 	copy(cp, attributes) |  | ||||||
| 	return attrOpt{set: attribute.NewSet(cp...)} |  | ||||||
| } |  | ||||||
							
								
								
									
										130
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/asyncfloat64.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/asyncfloat64.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,130 @@ | ||||||
|  | // 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 instrument // import "go.opentelemetry.io/otel/metric/instrument" | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"context" | ||||||
|  | 
 | ||||||
|  | 	"go.opentelemetry.io/otel/attribute" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // Float64Observable describes a set of instruments used asynchronously to | ||||||
|  | // record float64 measurements once per collection cycle. Observations of | ||||||
|  | // these instruments are only made within a callback. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Float64Observable interface { | ||||||
|  | 	Asynchronous | ||||||
|  | 
 | ||||||
|  | 	float64Observable() | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Float64ObservableCounter is an instrument used to asynchronously record | ||||||
|  | // increasing float64 measurements once per collection cycle. Observations are | ||||||
|  | // only made within a callback for this instrument. The value observed is | ||||||
|  | // assumed the to be the cumulative sum of the count. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Float64ObservableCounter interface{ Float64Observable } | ||||||
|  | 
 | ||||||
|  | // Float64ObservableUpDownCounter is an instrument used to asynchronously | ||||||
|  | // record float64 measurements once per collection cycle. Observations are only | ||||||
|  | // made within a callback for this instrument. The value observed is assumed | ||||||
|  | // the to be the cumulative sum of the count. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Float64ObservableUpDownCounter interface{ Float64Observable } | ||||||
|  | 
 | ||||||
|  | // Float64ObservableGauge is an instrument used to asynchronously record | ||||||
|  | // instantaneous float64 measurements once per collection cycle. Observations | ||||||
|  | // are only made within a callback for this instrument. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Float64ObservableGauge interface{ Float64Observable } | ||||||
|  | 
 | ||||||
|  | // Float64Observer is a recorder of float64 measurements. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Float64Observer interface { | ||||||
|  | 	Observe(value float64, attributes ...attribute.KeyValue) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Float64Callback is a function registered with a Meter that makes | ||||||
|  | // observations for a Float64Observerable instrument it is registered with. | ||||||
|  | // Calls to the Float64Observer record measurement values for the | ||||||
|  | // Float64Observable. | ||||||
|  | // | ||||||
|  | // The function needs to complete in a finite amount of time and the deadline | ||||||
|  | // of the passed context is expected to be honored. | ||||||
|  | // | ||||||
|  | // The function needs to make unique observations across all registered | ||||||
|  | // Float64Callbacks. Meaning, it should not report measurements with the same | ||||||
|  | // attributes as another Float64Callbacks also registered for the same | ||||||
|  | // instrument. | ||||||
|  | // | ||||||
|  | // The function needs to be concurrent safe. | ||||||
|  | type Float64Callback func(context.Context, Float64Observer) error | ||||||
|  | 
 | ||||||
|  | // Float64ObserverConfig contains options for Asynchronous instruments that | ||||||
|  | // observe float64 values. | ||||||
|  | type Float64ObserverConfig struct { | ||||||
|  | 	description string | ||||||
|  | 	unit        string | ||||||
|  | 	callbacks   []Float64Callback | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // NewFloat64ObserverConfig returns a new Float64ObserverConfig with all opts | ||||||
|  | // applied. | ||||||
|  | func NewFloat64ObserverConfig(opts ...Float64ObserverOption) Float64ObserverConfig { | ||||||
|  | 	var config Float64ObserverConfig | ||||||
|  | 	for _, o := range opts { | ||||||
|  | 		config = o.applyFloat64Observer(config) | ||||||
|  | 	} | ||||||
|  | 	return config | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Description returns the Config description. | ||||||
|  | func (c Float64ObserverConfig) Description() string { | ||||||
|  | 	return c.description | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Unit returns the Config unit. | ||||||
|  | func (c Float64ObserverConfig) Unit() string { | ||||||
|  | 	return c.unit | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Callbacks returns the Config callbacks. | ||||||
|  | func (c Float64ObserverConfig) Callbacks() []Float64Callback { | ||||||
|  | 	return c.callbacks | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Float64ObserverOption applies options to float64 Observer instruments. | ||||||
|  | type Float64ObserverOption interface { | ||||||
|  | 	applyFloat64Observer(Float64ObserverConfig) Float64ObserverConfig | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type float64ObserverOptionFunc func(Float64ObserverConfig) Float64ObserverConfig | ||||||
|  | 
 | ||||||
|  | func (fn float64ObserverOptionFunc) applyFloat64Observer(cfg Float64ObserverConfig) Float64ObserverConfig { | ||||||
|  | 	return fn(cfg) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // WithFloat64Callback adds callback to be called for an instrument. | ||||||
|  | func WithFloat64Callback(callback Float64Callback) Float64ObserverOption { | ||||||
|  | 	return float64ObserverOptionFunc(func(cfg Float64ObserverConfig) Float64ObserverConfig { | ||||||
|  | 		cfg.callbacks = append(cfg.callbacks, callback) | ||||||
|  | 		return cfg | ||||||
|  | 	}) | ||||||
|  | } | ||||||
							
								
								
									
										130
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/asyncint64.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/asyncint64.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,130 @@ | ||||||
|  | // 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 instrument // import "go.opentelemetry.io/otel/metric/instrument" | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"context" | ||||||
|  | 
 | ||||||
|  | 	"go.opentelemetry.io/otel/attribute" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // Int64Observable describes a set of instruments used asynchronously to record | ||||||
|  | // int64 measurements once per collection cycle. Observations of these | ||||||
|  | // instruments are only made within a callback. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Int64Observable interface { | ||||||
|  | 	Asynchronous | ||||||
|  | 
 | ||||||
|  | 	int64Observable() | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Int64ObservableCounter is an instrument used to asynchronously record | ||||||
|  | // increasing int64 measurements once per collection cycle. Observations are | ||||||
|  | // only made within a callback for this instrument. The value observed is | ||||||
|  | // assumed the to be the cumulative sum of the count. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Int64ObservableCounter interface{ Int64Observable } | ||||||
|  | 
 | ||||||
|  | // Int64ObservableUpDownCounter is an instrument used to asynchronously record | ||||||
|  | // int64 measurements once per collection cycle. Observations are only made | ||||||
|  | // within a callback for this instrument. The value observed is assumed the to | ||||||
|  | // be the cumulative sum of the count. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Int64ObservableUpDownCounter interface{ Int64Observable } | ||||||
|  | 
 | ||||||
|  | // Int64ObservableGauge is an instrument used to asynchronously record | ||||||
|  | // instantaneous int64 measurements once per collection cycle. Observations are | ||||||
|  | // only made within a callback for this instrument. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Int64ObservableGauge interface{ Int64Observable } | ||||||
|  | 
 | ||||||
|  | // Int64Observer is a recorder of int64 measurements. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Int64Observer interface { | ||||||
|  | 	Observe(value int64, attributes ...attribute.KeyValue) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Int64Callback is a function registered with a Meter that makes | ||||||
|  | // observations for a Int64Observerable instrument it is registered with. | ||||||
|  | // Calls to the Int64Observer record measurement values for the | ||||||
|  | // Int64Observable. | ||||||
|  | // | ||||||
|  | // The function needs to complete in a finite amount of time and the deadline | ||||||
|  | // of the passed context is expected to be honored. | ||||||
|  | // | ||||||
|  | // The function needs to make unique observations across all registered | ||||||
|  | // Int64Callback. Meaning, it should not report measurements with the same | ||||||
|  | // attributes as another Int64Callbacks also registered for the same | ||||||
|  | // instrument. | ||||||
|  | // | ||||||
|  | // The function needs to be concurrent safe. | ||||||
|  | type Int64Callback func(context.Context, Int64Observer) error | ||||||
|  | 
 | ||||||
|  | // Int64ObserverConfig contains options for Asynchronous instruments that | ||||||
|  | // observe int64 values. | ||||||
|  | type Int64ObserverConfig struct { | ||||||
|  | 	description string | ||||||
|  | 	unit        string | ||||||
|  | 	callbacks   []Int64Callback | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // NewInt64ObserverConfig returns a new Int64ObserverConfig with all opts | ||||||
|  | // applied. | ||||||
|  | func NewInt64ObserverConfig(opts ...Int64ObserverOption) Int64ObserverConfig { | ||||||
|  | 	var config Int64ObserverConfig | ||||||
|  | 	for _, o := range opts { | ||||||
|  | 		config = o.applyInt64Observer(config) | ||||||
|  | 	} | ||||||
|  | 	return config | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Description returns the Config description. | ||||||
|  | func (c Int64ObserverConfig) Description() string { | ||||||
|  | 	return c.description | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Unit returns the Config unit. | ||||||
|  | func (c Int64ObserverConfig) Unit() string { | ||||||
|  | 	return c.unit | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Callbacks returns the Config callbacks. | ||||||
|  | func (c Int64ObserverConfig) Callbacks() []Int64Callback { | ||||||
|  | 	return c.callbacks | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Int64ObserverOption applies options to int64 Observer instruments. | ||||||
|  | type Int64ObserverOption interface { | ||||||
|  | 	applyInt64Observer(Int64ObserverConfig) Int64ObserverConfig | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type int64ObserverOptionFunc func(Int64ObserverConfig) Int64ObserverConfig | ||||||
|  | 
 | ||||||
|  | func (fn int64ObserverOptionFunc) applyInt64Observer(cfg Int64ObserverConfig) Int64ObserverConfig { | ||||||
|  | 	return fn(cfg) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // WithInt64Callback adds callback to be called for an instrument. | ||||||
|  | func WithInt64Callback(callback Int64Callback) Int64ObserverOption { | ||||||
|  | 	return int64ObserverOptionFunc(func(cfg Int64ObserverConfig) Int64ObserverConfig { | ||||||
|  | 		cfg.callbacks = append(cfg.callbacks, callback) | ||||||
|  | 		return cfg | ||||||
|  | 	}) | ||||||
|  | } | ||||||
							
								
								
									
										452
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/deprecation.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										452
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/deprecation.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,452 +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 instrument provides the OpenTelemetry API instruments used to make |  | ||||||
| // measurements. |  | ||||||
| // |  | ||||||
| // Deprecated: Use go.opentelemetry.io/otel/metric instead. |  | ||||||
| package instrument // import "go.opentelemetry.io/otel/metric/instrument" |  | ||||||
| 
 |  | ||||||
| import ( |  | ||||||
| 	"go.opentelemetry.io/otel/metric" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| // Float64Observable is an alias for [metric.Float64Observable]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64Observable] instead. |  | ||||||
| type Float64Observable metric.Float64Observable |  | ||||||
| 
 |  | ||||||
| // Float64ObservableCounter is an alias for [metric.Float64ObservableCounter]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64ObservableCounter] instead. |  | ||||||
| type Float64ObservableCounter metric.Float64ObservableCounter |  | ||||||
| 
 |  | ||||||
| // Float64ObservableCounterConfig is an alias for |  | ||||||
| // [metric.Float64ObservableCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64ObservableCounterConfig] instead. |  | ||||||
| type Float64ObservableCounterConfig metric.Float64ObservableCounterConfig |  | ||||||
| 
 |  | ||||||
| // NewFloat64ObservableCounterConfig wraps |  | ||||||
| // [metric.NewFloat64ObservableCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewFloat64ObservableCounterConfig] instead. |  | ||||||
| func NewFloat64ObservableCounterConfig(opts ...Float64ObservableCounterOption) Float64ObservableCounterConfig { |  | ||||||
| 	o := make([]metric.Float64ObservableCounterOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Float64ObservableCounterOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewFloat64ObservableCounterConfig(o...) |  | ||||||
| 	return Float64ObservableCounterConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableCounterOption is an alias for |  | ||||||
| // [metric.Float64ObservableCounterOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64ObservableCounterOption] instead. |  | ||||||
| type Float64ObservableCounterOption metric.Float64ObservableCounterOption |  | ||||||
| 
 |  | ||||||
| // Float64ObservableUpDownCounter is an alias for |  | ||||||
| // [metric.Float64ObservableUpDownCounter]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64ObservableUpDownCounter] instead. |  | ||||||
| type Float64ObservableUpDownCounter metric.Float64ObservableUpDownCounter |  | ||||||
| 
 |  | ||||||
| // Float64ObservableUpDownCounterConfig is an alias for |  | ||||||
| // [metric.Float64ObservableUpDownCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64ObservableUpDownCounterConfig] instead. |  | ||||||
| type Float64ObservableUpDownCounterConfig metric.Float64ObservableUpDownCounterConfig |  | ||||||
| 
 |  | ||||||
| // NewFloat64ObservableUpDownCounterConfig wraps |  | ||||||
| // [metric.NewFloat64ObservableUpDownCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewFloat64ObservableUpDownCounterConfig] instead. |  | ||||||
| func NewFloat64ObservableUpDownCounterConfig(opts ...Float64ObservableUpDownCounterOption) Float64ObservableUpDownCounterConfig { |  | ||||||
| 	o := make([]metric.Float64ObservableUpDownCounterOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Float64ObservableUpDownCounterOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewFloat64ObservableUpDownCounterConfig(o...) |  | ||||||
| 	return Float64ObservableUpDownCounterConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableUpDownCounterOption is an alias for |  | ||||||
| // [metric.Float64ObservableUpDownCounterOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64ObservableUpDownCounterOption] instead. |  | ||||||
| type Float64ObservableUpDownCounterOption metric.Float64ObservableUpDownCounterOption |  | ||||||
| 
 |  | ||||||
| // Float64ObservableGauge is an alias for [metric.Float64ObservableGauge]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64ObservableGauge] instead. |  | ||||||
| type Float64ObservableGauge metric.Float64ObservableGauge |  | ||||||
| 
 |  | ||||||
| // Float64ObservableGaugeConfig is an alias for |  | ||||||
| // [metric.Float64ObservableGaugeConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64ObservableGaugeConfig] instead. |  | ||||||
| type Float64ObservableGaugeConfig metric.Float64ObservableGaugeConfig |  | ||||||
| 
 |  | ||||||
| // NewFloat64ObservableGaugeConfig wraps |  | ||||||
| // [metric.NewFloat64ObservableGaugeConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewFloat64ObservableGaugeConfig] instead. |  | ||||||
| func NewFloat64ObservableGaugeConfig(opts ...Float64ObservableGaugeOption) Float64ObservableGaugeConfig { |  | ||||||
| 	o := make([]metric.Float64ObservableGaugeOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Float64ObservableGaugeOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewFloat64ObservableGaugeConfig(o...) |  | ||||||
| 	return Float64ObservableGaugeConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64ObservableGaugeOption is an alias for |  | ||||||
| // [metric.Float64ObservableGaugeOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64ObservableGaugeOption] instead. |  | ||||||
| type Float64ObservableGaugeOption metric.Float64ObservableGaugeOption |  | ||||||
| 
 |  | ||||||
| // Float64Observer is an alias for [metric.Float64Observer]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64Observer] instead. |  | ||||||
| type Float64Observer metric.Float64Observer |  | ||||||
| 
 |  | ||||||
| // Float64Callback is an alias for [metric.Float64Callback]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64Callback] instead. |  | ||||||
| type Float64Callback metric.Float64Callback |  | ||||||
| 
 |  | ||||||
| // Float64ObservableOption is an alias for [metric.Float64ObservableOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64ObservableOption] instead. |  | ||||||
| type Float64ObservableOption metric.Float64ObservableOption |  | ||||||
| 
 |  | ||||||
| // WithFloat64Callback wraps [metric.WithFloat64Callback]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.WithFloat64Callback] instead. |  | ||||||
| func WithFloat64Callback(callback Float64Callback) Float64ObservableOption { |  | ||||||
| 	cback := metric.Float64Callback(callback) |  | ||||||
| 	opt := metric.WithFloat64Callback(cback) |  | ||||||
| 	return Float64ObservableOption(opt) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64Observable is an alias for [metric.Int64Observable]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64Observable] instead. |  | ||||||
| type Int64Observable metric.Int64Observable |  | ||||||
| 
 |  | ||||||
| // Int64ObservableCounter is an alias for [metric.Int64ObservableCounter]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64ObservableCounter] instead. |  | ||||||
| type Int64ObservableCounter metric.Int64ObservableCounter |  | ||||||
| 
 |  | ||||||
| // Int64ObservableCounterConfig is an alias for |  | ||||||
| // [metric.Int64ObservableCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64ObservableCounterConfig] instead. |  | ||||||
| type Int64ObservableCounterConfig metric.Int64ObservableCounterConfig |  | ||||||
| 
 |  | ||||||
| // NewInt64ObservableCounterConfig wraps |  | ||||||
| // [metric.NewInt64ObservableCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewInt64ObservableCounterConfig] instead. |  | ||||||
| func NewInt64ObservableCounterConfig(opts ...Int64ObservableCounterOption) Int64ObservableCounterConfig { |  | ||||||
| 	o := make([]metric.Int64ObservableCounterOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Int64ObservableCounterOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewInt64ObservableCounterConfig(o...) |  | ||||||
| 	return Int64ObservableCounterConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableCounterOption is an alias for |  | ||||||
| // [metric.Int64ObservableCounterOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64ObservableCounterOption] instead. |  | ||||||
| type Int64ObservableCounterOption metric.Int64ObservableCounterOption |  | ||||||
| 
 |  | ||||||
| // Int64ObservableUpDownCounter is an alias for |  | ||||||
| // [metric.Int64ObservableUpDownCounter]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64ObservableUpDownCounter] instead. |  | ||||||
| type Int64ObservableUpDownCounter metric.Int64ObservableUpDownCounter |  | ||||||
| 
 |  | ||||||
| // Int64ObservableUpDownCounterConfig is an alias for |  | ||||||
| // [metric.Int64ObservableUpDownCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64ObservableUpDownCounterConfig] instead. |  | ||||||
| type Int64ObservableUpDownCounterConfig metric.Int64ObservableUpDownCounterConfig |  | ||||||
| 
 |  | ||||||
| // NewInt64ObservableUpDownCounterConfig wraps |  | ||||||
| // [metric.NewInt64ObservableUpDownCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewInt64ObservableUpDownCounterConfig] instead. |  | ||||||
| func NewInt64ObservableUpDownCounterConfig(opts ...Int64ObservableUpDownCounterOption) Int64ObservableUpDownCounterConfig { |  | ||||||
| 	o := make([]metric.Int64ObservableUpDownCounterOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Int64ObservableUpDownCounterOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewInt64ObservableUpDownCounterConfig(o...) |  | ||||||
| 	return Int64ObservableUpDownCounterConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableUpDownCounterOption is an alias for |  | ||||||
| // [metric.Int64ObservableUpDownCounterOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64ObservableUpDownCounterOption] instead. |  | ||||||
| type Int64ObservableUpDownCounterOption metric.Int64ObservableUpDownCounterOption |  | ||||||
| 
 |  | ||||||
| // Int64ObservableGauge is an alias for [metric.Int64ObservableGauge]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64ObservableGauge] instead. |  | ||||||
| type Int64ObservableGauge metric.Int64ObservableGauge |  | ||||||
| 
 |  | ||||||
| // Int64ObservableGaugeConfig is an alias for |  | ||||||
| // [metric.Int64ObservableGaugeConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64ObservableGaugeConfig] instead. |  | ||||||
| type Int64ObservableGaugeConfig metric.Int64ObservableGaugeConfig |  | ||||||
| 
 |  | ||||||
| // NewInt64ObservableGaugeConfig wraps [metric.NewInt64ObservableGaugeConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewInt64ObservableGaugeConfig] instead. |  | ||||||
| func NewInt64ObservableGaugeConfig(opts ...Int64ObservableGaugeOption) Int64ObservableGaugeConfig { |  | ||||||
| 	o := make([]metric.Int64ObservableGaugeOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Int64ObservableGaugeOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewInt64ObservableGaugeConfig(o...) |  | ||||||
| 	return Int64ObservableGaugeConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64ObservableGaugeOption is an alias for |  | ||||||
| // [metric.Int64ObservableGaugeOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64ObservableGaugeOption] instead. |  | ||||||
| type Int64ObservableGaugeOption metric.Int64ObservableGaugeOption |  | ||||||
| 
 |  | ||||||
| // Int64Observer is an alias for [metric.Int64Observer]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64Observer] instead. |  | ||||||
| type Int64Observer metric.Int64Observer |  | ||||||
| 
 |  | ||||||
| // Int64Callback is an alias for [metric.Int64Callback]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64Callback] instead. |  | ||||||
| type Int64Callback metric.Int64Callback |  | ||||||
| 
 |  | ||||||
| // Int64ObservableOption is an alias for [metric.Int64ObservableOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64ObservableOption] instead. |  | ||||||
| type Int64ObservableOption metric.Int64ObservableOption |  | ||||||
| 
 |  | ||||||
| // WithInt64Callback wraps [metric.WithInt64Callback]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.WithInt64Callback] instead. |  | ||||||
| func WithInt64Callback(callback Int64Callback) Int64ObservableOption { |  | ||||||
| 	cback := metric.Int64Callback(callback) |  | ||||||
| 	opt := metric.WithInt64Callback(cback) |  | ||||||
| 	return Int64ObservableOption(opt) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64Counter is an alias for [metric.Float64Counter]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64Counter] instead. |  | ||||||
| type Float64Counter metric.Float64Counter |  | ||||||
| 
 |  | ||||||
| // Float64CounterConfig is an alias for [metric.Float64CounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64CounterConfig] instead. |  | ||||||
| type Float64CounterConfig metric.Float64CounterConfig |  | ||||||
| 
 |  | ||||||
| // NewFloat64CounterConfig wraps [metric.NewFloat64CounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewFloat64CounterConfig] instead. |  | ||||||
| func NewFloat64CounterConfig(opts ...Float64CounterOption) Float64CounterConfig { |  | ||||||
| 	o := make([]metric.Float64CounterOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Float64CounterOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewFloat64CounterConfig(o...) |  | ||||||
| 	return Float64CounterConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64CounterOption is an alias for [metric.Float64CounterOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64CounterOption] instead. |  | ||||||
| type Float64CounterOption metric.Float64CounterOption |  | ||||||
| 
 |  | ||||||
| // Float64UpDownCounter is an alias for [metric.Float64UpDownCounter]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64UpDownCounter] instead. |  | ||||||
| type Float64UpDownCounter metric.Float64UpDownCounter |  | ||||||
| 
 |  | ||||||
| // Float64UpDownCounterConfig is an alias for |  | ||||||
| // [metric.Float64UpDownCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64UpDownCounterConfig] instead. |  | ||||||
| type Float64UpDownCounterConfig metric.Float64UpDownCounterConfig |  | ||||||
| 
 |  | ||||||
| // NewFloat64UpDownCounterConfig wraps [metric.NewFloat64UpDownCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewFloat64UpDownCounterConfig] instead. |  | ||||||
| func NewFloat64UpDownCounterConfig(opts ...Float64UpDownCounterOption) Float64UpDownCounterConfig { |  | ||||||
| 	o := make([]metric.Float64UpDownCounterOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Float64UpDownCounterOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewFloat64UpDownCounterConfig(o...) |  | ||||||
| 	return Float64UpDownCounterConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64UpDownCounterOption is an alias for |  | ||||||
| // [metric.Float64UpDownCounterOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64UpDownCounterOption] instead. |  | ||||||
| type Float64UpDownCounterOption metric.Float64UpDownCounterOption |  | ||||||
| 
 |  | ||||||
| // Float64Histogram is an alias for [metric.Float64Histogram]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64Histogram] instead. |  | ||||||
| type Float64Histogram metric.Float64Histogram |  | ||||||
| 
 |  | ||||||
| // Float64HistogramConfig is an alias for [metric.Float64HistogramConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64HistogramConfig] instead. |  | ||||||
| type Float64HistogramConfig metric.Float64HistogramConfig |  | ||||||
| 
 |  | ||||||
| // NewFloat64HistogramConfig wraps [metric.NewFloat64HistogramConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewFloat64HistogramConfig] instead. |  | ||||||
| func NewFloat64HistogramConfig(opts ...Float64HistogramOption) Float64HistogramConfig { |  | ||||||
| 	o := make([]metric.Float64HistogramOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Float64HistogramOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewFloat64HistogramConfig(o...) |  | ||||||
| 	return Float64HistogramConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64HistogramOption is an alias for [metric.Float64HistogramOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Float64HistogramOption] instead. |  | ||||||
| type Float64HistogramOption metric.Float64HistogramOption |  | ||||||
| 
 |  | ||||||
| // Int64Counter is an alias for [metric.Int64Counter]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64Counter] instead. |  | ||||||
| type Int64Counter metric.Int64Counter |  | ||||||
| 
 |  | ||||||
| // Int64CounterConfig is an alias for [metric.Int64CounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64CounterConfig] instead. |  | ||||||
| type Int64CounterConfig metric.Int64CounterConfig |  | ||||||
| 
 |  | ||||||
| // NewInt64CounterConfig wraps [metric.NewInt64CounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewInt64CounterConfig] instead. |  | ||||||
| func NewInt64CounterConfig(opts ...Int64CounterOption) Int64CounterConfig { |  | ||||||
| 	o := make([]metric.Int64CounterOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Int64CounterOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewInt64CounterConfig(o...) |  | ||||||
| 	return Int64CounterConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64CounterOption is an alias for [metric.Int64CounterOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64CounterOption] instead. |  | ||||||
| type Int64CounterOption metric.Int64CounterOption |  | ||||||
| 
 |  | ||||||
| // Int64UpDownCounter is an alias for [metric.Int64UpDownCounter]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64UpDownCounter] instead. |  | ||||||
| type Int64UpDownCounter metric.Int64UpDownCounter |  | ||||||
| 
 |  | ||||||
| // Int64UpDownCounterConfig is an alias for [metric.Int64UpDownCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64UpDownCounterConfig] instead. |  | ||||||
| type Int64UpDownCounterConfig metric.Int64UpDownCounterConfig |  | ||||||
| 
 |  | ||||||
| // NewInt64UpDownCounterConfig wraps [metric.NewInt64UpDownCounterConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewInt64UpDownCounterConfig] instead. |  | ||||||
| func NewInt64UpDownCounterConfig(opts ...Int64UpDownCounterOption) Int64UpDownCounterConfig { |  | ||||||
| 	o := make([]metric.Int64UpDownCounterOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Int64UpDownCounterOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewInt64UpDownCounterConfig(o...) |  | ||||||
| 	return Int64UpDownCounterConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64UpDownCounterOption is an alias for [metric.Int64UpDownCounterOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64UpDownCounterOption] instead. |  | ||||||
| type Int64UpDownCounterOption metric.Int64UpDownCounterOption |  | ||||||
| 
 |  | ||||||
| // Int64Histogram is an alias for [metric.Int64Histogram]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64Histogram] instead. |  | ||||||
| type Int64Histogram metric.Int64Histogram |  | ||||||
| 
 |  | ||||||
| // Int64HistogramConfig is an alias for [metric.Int64HistogramConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64HistogramConfig] instead. |  | ||||||
| type Int64HistogramConfig metric.Int64HistogramConfig |  | ||||||
| 
 |  | ||||||
| // NewInt64HistogramConfig wraps [metric.NewInt64HistogramConfig]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.NewInt64HistogramConfig] instead. |  | ||||||
| func NewInt64HistogramConfig(opts ...Int64HistogramOption) Int64HistogramConfig { |  | ||||||
| 	o := make([]metric.Int64HistogramOption, len(opts)) |  | ||||||
| 	for i := range opts { |  | ||||||
| 		o[i] = metric.Int64HistogramOption(opts[i]) |  | ||||||
| 	} |  | ||||||
| 	c := metric.NewInt64HistogramConfig(o...) |  | ||||||
| 	return Int64HistogramConfig(c) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64HistogramOption is an alias for [metric.Int64HistogramOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Int64HistogramOption] instead. |  | ||||||
| type Int64HistogramOption metric.Int64HistogramOption |  | ||||||
| 
 |  | ||||||
| // Observable is an alias for [metric.Observable]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.Observable] instead. |  | ||||||
| type Observable metric.Observable |  | ||||||
| 
 |  | ||||||
| // Option is an alias for [metric.InstrumentOption]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.InstrumentOption] instead. |  | ||||||
| type Option metric.InstrumentOption |  | ||||||
| 
 |  | ||||||
| // WithDescription is an alias for [metric.WithDescription]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.WithDescription] instead. |  | ||||||
| func WithDescription(desc string) Option { |  | ||||||
| 	o := metric.WithDescription(desc) |  | ||||||
| 	return Option(o) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // WithUnit is an alias for [metric.WithUnit]. |  | ||||||
| // |  | ||||||
| // Deprecated: Use [metric.WithUnit] instead. |  | ||||||
| func WithUnit(u string) Option { |  | ||||||
| 	o := metric.WithUnit(u) |  | ||||||
| 	return Option(o) |  | ||||||
| } |  | ||||||
							
								
								
									
										88
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/instrument.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/instrument.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,88 @@ | ||||||
|  | // 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 instrument // import "go.opentelemetry.io/otel/metric/instrument" | ||||||
|  | 
 | ||||||
|  | // Asynchronous instruments are instruments that are updated within a Callback. | ||||||
|  | // If an instrument is observed outside of it's callback it should be an error. | ||||||
|  | // | ||||||
|  | // This interface is used as a grouping mechanism. | ||||||
|  | type Asynchronous interface { | ||||||
|  | 	asynchronous() | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Synchronous instruments are updated in line with application code. | ||||||
|  | // | ||||||
|  | // This interface is used as a grouping mechanism. | ||||||
|  | type Synchronous interface { | ||||||
|  | 	synchronous() | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Option applies options to all instruments. | ||||||
|  | type Option interface { | ||||||
|  | 	Float64ObserverOption | ||||||
|  | 	Int64ObserverOption | ||||||
|  | 	Float64Option | ||||||
|  | 	Int64Option | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type descOpt string | ||||||
|  | 
 | ||||||
|  | func (o descOpt) applyFloat64(c Float64Config) Float64Config { | ||||||
|  | 	c.description = string(o) | ||||||
|  | 	return c | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (o descOpt) applyInt64(c Int64Config) Int64Config { | ||||||
|  | 	c.description = string(o) | ||||||
|  | 	return c | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (o descOpt) applyFloat64Observer(c Float64ObserverConfig) Float64ObserverConfig { | ||||||
|  | 	c.description = string(o) | ||||||
|  | 	return c | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (o descOpt) applyInt64Observer(c Int64ObserverConfig) Int64ObserverConfig { | ||||||
|  | 	c.description = string(o) | ||||||
|  | 	return c | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // WithDescription sets the instrument description. | ||||||
|  | func WithDescription(desc string) Option { return descOpt(desc) } | ||||||
|  | 
 | ||||||
|  | type unitOpt string | ||||||
|  | 
 | ||||||
|  | func (o unitOpt) applyFloat64(c Float64Config) Float64Config { | ||||||
|  | 	c.unit = string(o) | ||||||
|  | 	return c | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (o unitOpt) applyInt64(c Int64Config) Int64Config { | ||||||
|  | 	c.unit = string(o) | ||||||
|  | 	return c | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (o unitOpt) applyFloat64Observer(c Float64ObserverConfig) Float64ObserverConfig { | ||||||
|  | 	c.unit = string(o) | ||||||
|  | 	return c | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (o unitOpt) applyInt64Observer(c Int64ObserverConfig) Int64ObserverConfig { | ||||||
|  | 	c.unit = string(o) | ||||||
|  | 	return c | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // WithUnit sets the instrument unit. | ||||||
|  | func WithUnit(u string) Option { return unitOpt(u) } | ||||||
							
								
								
									
										85
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/syncfloat64.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/syncfloat64.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,85 @@ | ||||||
|  | // 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 instrument // import "go.opentelemetry.io/otel/metric/instrument" | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"context" | ||||||
|  | 
 | ||||||
|  | 	"go.opentelemetry.io/otel/attribute" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // Float64Counter is an instrument that records increasing float64 values. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Float64Counter interface { | ||||||
|  | 	// Add records a change to the counter. | ||||||
|  | 	Add(ctx context.Context, incr float64, attrs ...attribute.KeyValue) | ||||||
|  | 
 | ||||||
|  | 	Synchronous | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Float64UpDownCounter is an instrument that records increasing or decreasing | ||||||
|  | // float64 values. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Float64UpDownCounter interface { | ||||||
|  | 	// Add records a change to the counter. | ||||||
|  | 	Add(ctx context.Context, incr float64, attrs ...attribute.KeyValue) | ||||||
|  | 
 | ||||||
|  | 	Synchronous | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Float64Histogram is an instrument that records a distribution of float64 | ||||||
|  | // values. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Float64Histogram interface { | ||||||
|  | 	// Record adds an additional value to the distribution. | ||||||
|  | 	Record(ctx context.Context, incr float64, attrs ...attribute.KeyValue) | ||||||
|  | 
 | ||||||
|  | 	Synchronous | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Float64Config contains options for Asynchronous instruments that | ||||||
|  | // observe float64 values. | ||||||
|  | type Float64Config struct { | ||||||
|  | 	description string | ||||||
|  | 	unit        string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Float64Config contains options for Synchronous instruments that record | ||||||
|  | // float64 values. | ||||||
|  | func NewFloat64Config(opts ...Float64Option) Float64Config { | ||||||
|  | 	var config Float64Config | ||||||
|  | 	for _, o := range opts { | ||||||
|  | 		config = o.applyFloat64(config) | ||||||
|  | 	} | ||||||
|  | 	return config | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Description returns the Config description. | ||||||
|  | func (c Float64Config) Description() string { | ||||||
|  | 	return c.description | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Unit returns the Config unit. | ||||||
|  | func (c Float64Config) Unit() string { | ||||||
|  | 	return c.unit | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Float64Option applies options to synchronous float64 instruments. | ||||||
|  | type Float64Option interface { | ||||||
|  | 	applyFloat64(Float64Config) Float64Config | ||||||
|  | } | ||||||
							
								
								
									
										85
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/syncint64.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								vendor/go.opentelemetry.io/otel/metric/instrument/syncint64.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,85 @@ | ||||||
|  | // 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 instrument // import "go.opentelemetry.io/otel/metric/instrument" | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"context" | ||||||
|  | 
 | ||||||
|  | 	"go.opentelemetry.io/otel/attribute" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // Int64Counter is an instrument that records increasing int64 values. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Int64Counter interface { | ||||||
|  | 	// Add records a change to the counter. | ||||||
|  | 	Add(ctx context.Context, incr int64, attrs ...attribute.KeyValue) | ||||||
|  | 
 | ||||||
|  | 	Synchronous | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Int64UpDownCounter is an instrument that records increasing or decreasing | ||||||
|  | // int64 values. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Int64UpDownCounter interface { | ||||||
|  | 	// Add records a change to the counter. | ||||||
|  | 	Add(ctx context.Context, incr int64, attrs ...attribute.KeyValue) | ||||||
|  | 
 | ||||||
|  | 	Synchronous | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Int64Histogram is an instrument that records a distribution of int64 | ||||||
|  | // values. | ||||||
|  | // | ||||||
|  | // Warning: methods may be added to this interface in minor releases. | ||||||
|  | type Int64Histogram interface { | ||||||
|  | 	// Record adds an additional value to the distribution. | ||||||
|  | 	Record(ctx context.Context, incr int64, attrs ...attribute.KeyValue) | ||||||
|  | 
 | ||||||
|  | 	Synchronous | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Int64Config contains options for Synchronous instruments that record int64 | ||||||
|  | // values. | ||||||
|  | type Int64Config struct { | ||||||
|  | 	description string | ||||||
|  | 	unit        string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // NewInt64Config returns a new Int64Config with all opts | ||||||
|  | // applied. | ||||||
|  | func NewInt64Config(opts ...Int64Option) Int64Config { | ||||||
|  | 	var config Int64Config | ||||||
|  | 	for _, o := range opts { | ||||||
|  | 		config = o.applyInt64(config) | ||||||
|  | 	} | ||||||
|  | 	return config | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Description returns the Config description. | ||||||
|  | func (c Int64Config) Description() string { | ||||||
|  | 	return c.description | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Unit returns the Config unit. | ||||||
|  | func (c Int64Config) Unit() string { | ||||||
|  | 	return c.unit | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Int64Option applies options to synchronous int64 instruments. | ||||||
|  | type Int64Option interface { | ||||||
|  | 	applyInt64(Int64Config) Int64Config | ||||||
|  | } | ||||||
							
								
								
									
										167
									
								
								vendor/go.opentelemetry.io/otel/metric/internal/global/instruments.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										167
									
								
								vendor/go.opentelemetry.io/otel/metric/internal/global/instruments.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -19,27 +19,27 @@ import ( | ||||||
| 	"sync/atomic" | 	"sync/atomic" | ||||||
| 
 | 
 | ||||||
| 	"go.opentelemetry.io/otel" | 	"go.opentelemetry.io/otel" | ||||||
|  | 	"go.opentelemetry.io/otel/attribute" | ||||||
| 	"go.opentelemetry.io/otel/metric" | 	"go.opentelemetry.io/otel/metric" | ||||||
| 	"go.opentelemetry.io/otel/metric/embedded" | 	"go.opentelemetry.io/otel/metric/instrument" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // unwrapper unwraps to return the underlying instrument implementation. | // unwrapper unwraps to return the underlying instrument implementation. | ||||||
| type unwrapper interface { | type unwrapper interface { | ||||||
| 	Unwrap() metric.Observable | 	Unwrap() instrument.Asynchronous | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type afCounter struct { | type afCounter struct { | ||||||
| 	embedded.Float64ObservableCounter | 	instrument.Float64Observable | ||||||
| 	metric.Float64Observable |  | ||||||
| 
 | 
 | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Float64ObservableCounterOption | 	opts []instrument.Float64ObserverOption | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Float64ObservableCounter | 	delegate atomic.Value //instrument.Float64ObservableCounter | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ unwrapper = (*afCounter)(nil) | var _ unwrapper = (*afCounter)(nil) | ||||||
| var _ metric.Float64ObservableCounter = (*afCounter)(nil) | var _ instrument.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...) | ||||||
|  | @ -50,25 +50,24 @@ func (i *afCounter) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *afCounter) Unwrap() metric.Observable { | func (i *afCounter) Unwrap() instrument.Asynchronous { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		return ctr.(metric.Float64ObservableCounter) | 		return ctr.(instrument.Float64ObservableCounter) | ||||||
| 	} | 	} | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type afUpDownCounter struct { | type afUpDownCounter struct { | ||||||
| 	embedded.Float64ObservableUpDownCounter | 	instrument.Float64Observable | ||||||
| 	metric.Float64Observable |  | ||||||
| 
 | 
 | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Float64ObservableUpDownCounterOption | 	opts []instrument.Float64ObserverOption | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Float64ObservableUpDownCounter | 	delegate atomic.Value //instrument.Float64ObservableUpDownCounter | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ unwrapper = (*afUpDownCounter)(nil) | var _ unwrapper = (*afUpDownCounter)(nil) | ||||||
| var _ metric.Float64ObservableUpDownCounter = (*afUpDownCounter)(nil) | var _ instrument.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...) | ||||||
|  | @ -79,25 +78,24 @@ func (i *afUpDownCounter) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *afUpDownCounter) Unwrap() metric.Observable { | func (i *afUpDownCounter) Unwrap() instrument.Asynchronous { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		return ctr.(metric.Float64ObservableUpDownCounter) | 		return ctr.(instrument.Float64ObservableUpDownCounter) | ||||||
| 	} | 	} | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type afGauge struct { | type afGauge struct { | ||||||
| 	embedded.Float64ObservableGauge | 	instrument.Float64Observable | ||||||
| 	metric.Float64Observable |  | ||||||
| 
 | 
 | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Float64ObservableGaugeOption | 	opts []instrument.Float64ObserverOption | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Float64ObservableGauge | 	delegate atomic.Value //instrument.Float64ObservableGauge | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ unwrapper = (*afGauge)(nil) | var _ unwrapper = (*afGauge)(nil) | ||||||
| var _ metric.Float64ObservableGauge = (*afGauge)(nil) | var _ instrument.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...) | ||||||
|  | @ -108,25 +106,24 @@ func (i *afGauge) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *afGauge) Unwrap() metric.Observable { | func (i *afGauge) Unwrap() instrument.Asynchronous { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		return ctr.(metric.Float64ObservableGauge) | 		return ctr.(instrument.Float64ObservableGauge) | ||||||
| 	} | 	} | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type aiCounter struct { | type aiCounter struct { | ||||||
| 	embedded.Int64ObservableCounter | 	instrument.Int64Observable | ||||||
| 	metric.Int64Observable |  | ||||||
| 
 | 
 | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Int64ObservableCounterOption | 	opts []instrument.Int64ObserverOption | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Int64ObservableCounter | 	delegate atomic.Value //instrument.Int64ObservableCounter | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ unwrapper = (*aiCounter)(nil) | var _ unwrapper = (*aiCounter)(nil) | ||||||
| var _ metric.Int64ObservableCounter = (*aiCounter)(nil) | var _ instrument.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...) | ||||||
|  | @ -137,25 +134,24 @@ func (i *aiCounter) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *aiCounter) Unwrap() metric.Observable { | func (i *aiCounter) Unwrap() instrument.Asynchronous { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		return ctr.(metric.Int64ObservableCounter) | 		return ctr.(instrument.Int64ObservableCounter) | ||||||
| 	} | 	} | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type aiUpDownCounter struct { | type aiUpDownCounter struct { | ||||||
| 	embedded.Int64ObservableUpDownCounter | 	instrument.Int64Observable | ||||||
| 	metric.Int64Observable |  | ||||||
| 
 | 
 | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Int64ObservableUpDownCounterOption | 	opts []instrument.Int64ObserverOption | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Int64ObservableUpDownCounter | 	delegate atomic.Value //instrument.Int64ObservableUpDownCounter | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ unwrapper = (*aiUpDownCounter)(nil) | var _ unwrapper = (*aiUpDownCounter)(nil) | ||||||
| var _ metric.Int64ObservableUpDownCounter = (*aiUpDownCounter)(nil) | var _ instrument.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...) | ||||||
|  | @ -166,25 +162,24 @@ func (i *aiUpDownCounter) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *aiUpDownCounter) Unwrap() metric.Observable { | func (i *aiUpDownCounter) Unwrap() instrument.Asynchronous { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		return ctr.(metric.Int64ObservableUpDownCounter) | 		return ctr.(instrument.Int64ObservableUpDownCounter) | ||||||
| 	} | 	} | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type aiGauge struct { | type aiGauge struct { | ||||||
| 	embedded.Int64ObservableGauge | 	instrument.Int64Observable | ||||||
| 	metric.Int64Observable |  | ||||||
| 
 | 
 | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Int64ObservableGaugeOption | 	opts []instrument.Int64ObserverOption | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Int64ObservableGauge | 	delegate atomic.Value //instrument.Int64ObservableGauge | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ unwrapper = (*aiGauge)(nil) | var _ unwrapper = (*aiGauge)(nil) | ||||||
| var _ metric.Int64ObservableGauge = (*aiGauge)(nil) | var _ instrument.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...) | ||||||
|  | @ -195,24 +190,24 @@ func (i *aiGauge) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *aiGauge) Unwrap() metric.Observable { | func (i *aiGauge) Unwrap() instrument.Asynchronous { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		return ctr.(metric.Int64ObservableGauge) | 		return ctr.(instrument.Int64ObservableGauge) | ||||||
| 	} | 	} | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Sync Instruments. | // Sync Instruments. | ||||||
| type sfCounter struct { | type sfCounter struct { | ||||||
| 	embedded.Float64Counter |  | ||||||
| 
 |  | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Float64CounterOption | 	opts []instrument.Float64Option | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Float64Counter | 	delegate atomic.Value //instrument.Float64Counter | ||||||
|  | 
 | ||||||
|  | 	instrument.Synchronous | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ metric.Float64Counter = (*sfCounter)(nil) | var _ instrument.Float64Counter = (*sfCounter)(nil) | ||||||
| 
 | 
 | ||||||
| func (i *sfCounter) setDelegate(m metric.Meter) { | func (i *sfCounter) setDelegate(m metric.Meter) { | ||||||
| 	ctr, err := m.Float64Counter(i.name, i.opts...) | 	ctr, err := m.Float64Counter(i.name, i.opts...) | ||||||
|  | @ -223,22 +218,22 @@ func (i *sfCounter) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *sfCounter) Add(ctx context.Context, incr float64, opts ...metric.AddOption) { | func (i *sfCounter) Add(ctx context.Context, incr float64, attrs ...attribute.KeyValue) { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		ctr.(metric.Float64Counter).Add(ctx, incr, opts...) | 		ctr.(instrument.Float64Counter).Add(ctx, incr, attrs...) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type sfUpDownCounter struct { | type sfUpDownCounter struct { | ||||||
| 	embedded.Float64UpDownCounter |  | ||||||
| 
 |  | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Float64UpDownCounterOption | 	opts []instrument.Float64Option | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Float64UpDownCounter | 	delegate atomic.Value //instrument.Float64UpDownCounter | ||||||
|  | 
 | ||||||
|  | 	instrument.Synchronous | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ metric.Float64UpDownCounter = (*sfUpDownCounter)(nil) | var _ instrument.Float64UpDownCounter = (*sfUpDownCounter)(nil) | ||||||
| 
 | 
 | ||||||
| func (i *sfUpDownCounter) setDelegate(m metric.Meter) { | func (i *sfUpDownCounter) setDelegate(m metric.Meter) { | ||||||
| 	ctr, err := m.Float64UpDownCounter(i.name, i.opts...) | 	ctr, err := m.Float64UpDownCounter(i.name, i.opts...) | ||||||
|  | @ -249,22 +244,22 @@ func (i *sfUpDownCounter) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *sfUpDownCounter) Add(ctx context.Context, incr float64, opts ...metric.AddOption) { | func (i *sfUpDownCounter) Add(ctx context.Context, incr float64, attrs ...attribute.KeyValue) { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		ctr.(metric.Float64UpDownCounter).Add(ctx, incr, opts...) | 		ctr.(instrument.Float64UpDownCounter).Add(ctx, incr, attrs...) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type sfHistogram struct { | type sfHistogram struct { | ||||||
| 	embedded.Float64Histogram |  | ||||||
| 
 |  | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Float64HistogramOption | 	opts []instrument.Float64Option | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Float64Histogram | 	delegate atomic.Value //instrument.Float64Histogram | ||||||
|  | 
 | ||||||
|  | 	instrument.Synchronous | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ metric.Float64Histogram = (*sfHistogram)(nil) | var _ instrument.Float64Histogram = (*sfHistogram)(nil) | ||||||
| 
 | 
 | ||||||
| func (i *sfHistogram) setDelegate(m metric.Meter) { | func (i *sfHistogram) setDelegate(m metric.Meter) { | ||||||
| 	ctr, err := m.Float64Histogram(i.name, i.opts...) | 	ctr, err := m.Float64Histogram(i.name, i.opts...) | ||||||
|  | @ -275,22 +270,22 @@ func (i *sfHistogram) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *sfHistogram) Record(ctx context.Context, x float64, opts ...metric.RecordOption) { | func (i *sfHistogram) Record(ctx context.Context, x float64, attrs ...attribute.KeyValue) { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		ctr.(metric.Float64Histogram).Record(ctx, x, opts...) | 		ctr.(instrument.Float64Histogram).Record(ctx, x, attrs...) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type siCounter struct { | type siCounter struct { | ||||||
| 	embedded.Int64Counter |  | ||||||
| 
 |  | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Int64CounterOption | 	opts []instrument.Int64Option | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Int64Counter | 	delegate atomic.Value //instrument.Int64Counter | ||||||
|  | 
 | ||||||
|  | 	instrument.Synchronous | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ metric.Int64Counter = (*siCounter)(nil) | var _ instrument.Int64Counter = (*siCounter)(nil) | ||||||
| 
 | 
 | ||||||
| func (i *siCounter) setDelegate(m metric.Meter) { | func (i *siCounter) setDelegate(m metric.Meter) { | ||||||
| 	ctr, err := m.Int64Counter(i.name, i.opts...) | 	ctr, err := m.Int64Counter(i.name, i.opts...) | ||||||
|  | @ -301,22 +296,22 @@ func (i *siCounter) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *siCounter) Add(ctx context.Context, x int64, opts ...metric.AddOption) { | func (i *siCounter) Add(ctx context.Context, x int64, attrs ...attribute.KeyValue) { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		ctr.(metric.Int64Counter).Add(ctx, x, opts...) | 		ctr.(instrument.Int64Counter).Add(ctx, x, attrs...) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type siUpDownCounter struct { | type siUpDownCounter struct { | ||||||
| 	embedded.Int64UpDownCounter |  | ||||||
| 
 |  | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Int64UpDownCounterOption | 	opts []instrument.Int64Option | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Int64UpDownCounter | 	delegate atomic.Value //instrument.Int64UpDownCounter | ||||||
|  | 
 | ||||||
|  | 	instrument.Synchronous | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ metric.Int64UpDownCounter = (*siUpDownCounter)(nil) | var _ instrument.Int64UpDownCounter = (*siUpDownCounter)(nil) | ||||||
| 
 | 
 | ||||||
| func (i *siUpDownCounter) setDelegate(m metric.Meter) { | func (i *siUpDownCounter) setDelegate(m metric.Meter) { | ||||||
| 	ctr, err := m.Int64UpDownCounter(i.name, i.opts...) | 	ctr, err := m.Int64UpDownCounter(i.name, i.opts...) | ||||||
|  | @ -327,22 +322,22 @@ func (i *siUpDownCounter) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *siUpDownCounter) Add(ctx context.Context, x int64, opts ...metric.AddOption) { | func (i *siUpDownCounter) Add(ctx context.Context, x int64, attrs ...attribute.KeyValue) { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		ctr.(metric.Int64UpDownCounter).Add(ctx, x, opts...) | 		ctr.(instrument.Int64UpDownCounter).Add(ctx, x, attrs...) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type siHistogram struct { | type siHistogram struct { | ||||||
| 	embedded.Int64Histogram |  | ||||||
| 
 |  | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.Int64HistogramOption | 	opts []instrument.Int64Option | ||||||
| 
 | 
 | ||||||
| 	delegate atomic.Value //metric.Int64Histogram | 	delegate atomic.Value //instrument.Int64Histogram | ||||||
|  | 
 | ||||||
|  | 	instrument.Synchronous | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var _ metric.Int64Histogram = (*siHistogram)(nil) | var _ instrument.Int64Histogram = (*siHistogram)(nil) | ||||||
| 
 | 
 | ||||||
| func (i *siHistogram) setDelegate(m metric.Meter) { | func (i *siHistogram) setDelegate(m metric.Meter) { | ||||||
| 	ctr, err := m.Int64Histogram(i.name, i.opts...) | 	ctr, err := m.Int64Histogram(i.name, i.opts...) | ||||||
|  | @ -353,8 +348,8 @@ func (i *siHistogram) setDelegate(m metric.Meter) { | ||||||
| 	i.delegate.Store(ctr) | 	i.delegate.Store(ctr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (i *siHistogram) Record(ctx context.Context, x int64, opts ...metric.RecordOption) { | func (i *siHistogram) Record(ctx context.Context, x int64, attrs ...attribute.KeyValue) { | ||||||
| 	if ctr := i.delegate.Load(); ctr != nil { | 	if ctr := i.delegate.Load(); ctr != nil { | ||||||
| 		ctr.(metric.Int64Histogram).Record(ctx, x, opts...) | 		ctr.(instrument.Int64Histogram).Record(ctx, x, attrs...) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										42
									
								
								vendor/go.opentelemetry.io/otel/metric/internal/global/meter.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										42
									
								
								vendor/go.opentelemetry.io/otel/metric/internal/global/meter.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -21,7 +21,7 @@ import ( | ||||||
| 
 | 
 | ||||||
| 	"go.opentelemetry.io/otel" | 	"go.opentelemetry.io/otel" | ||||||
| 	"go.opentelemetry.io/otel/metric" | 	"go.opentelemetry.io/otel/metric" | ||||||
| 	"go.opentelemetry.io/otel/metric/embedded" | 	"go.opentelemetry.io/otel/metric/instrument" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // meterProvider is a placeholder for a configured SDK MeterProvider. | // meterProvider is a placeholder for a configured SDK MeterProvider. | ||||||
|  | @ -29,8 +29,6 @@ import ( | ||||||
| // All MeterProvider functionality is forwarded to a delegate once | // All MeterProvider functionality is forwarded to a delegate once | ||||||
| // configured. | // configured. | ||||||
| type meterProvider struct { | type meterProvider struct { | ||||||
| 	embedded.MeterProvider |  | ||||||
| 
 |  | ||||||
| 	mtx    sync.Mutex | 	mtx    sync.Mutex | ||||||
| 	meters map[il]*meter | 	meters map[il]*meter | ||||||
| 
 | 
 | ||||||
|  | @ -102,8 +100,6 @@ func (p *meterProvider) Meter(name string, opts ...metric.MeterOption) metric.Me | ||||||
| // All Meter functionality is forwarded to a delegate once configured. | // All Meter functionality is forwarded to a delegate once configured. | ||||||
| // Otherwise, all functionality is forwarded to a NoopMeter. | // Otherwise, all functionality is forwarded to a NoopMeter. | ||||||
| type meter struct { | type meter struct { | ||||||
| 	embedded.Meter |  | ||||||
| 
 |  | ||||||
| 	name string | 	name string | ||||||
| 	opts []metric.MeterOption | 	opts []metric.MeterOption | ||||||
| 
 | 
 | ||||||
|  | @ -146,7 +142,7 @@ func (m *meter) setDelegate(provider metric.MeterProvider) { | ||||||
| 	m.registry.Init() | 	m.registry.Init() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Int64Counter(name string, options ...metric.Int64CounterOption) (metric.Int64Counter, error) { | func (m *meter) Int64Counter(name string, options ...instrument.Int64Option) (instrument.Int64Counter, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Int64Counter(name, options...) | 		return del.Int64Counter(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -157,7 +153,7 @@ func (m *meter) Int64Counter(name string, options ...metric.Int64CounterOption) | ||||||
| 	return i, nil | 	return i, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Int64UpDownCounter(name string, options ...metric.Int64UpDownCounterOption) (metric.Int64UpDownCounter, error) { | func (m *meter) Int64UpDownCounter(name string, options ...instrument.Int64Option) (instrument.Int64UpDownCounter, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Int64UpDownCounter(name, options...) | 		return del.Int64UpDownCounter(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -168,7 +164,7 @@ func (m *meter) Int64UpDownCounter(name string, options ...metric.Int64UpDownCou | ||||||
| 	return i, nil | 	return i, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Int64Histogram(name string, options ...metric.Int64HistogramOption) (metric.Int64Histogram, error) { | func (m *meter) Int64Histogram(name string, options ...instrument.Int64Option) (instrument.Int64Histogram, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Int64Histogram(name, options...) | 		return del.Int64Histogram(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -179,7 +175,7 @@ func (m *meter) Int64Histogram(name string, options ...metric.Int64HistogramOpti | ||||||
| 	return i, nil | 	return i, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Int64ObservableCounter(name string, options ...metric.Int64ObservableCounterOption) (metric.Int64ObservableCounter, error) { | func (m *meter) Int64ObservableCounter(name string, options ...instrument.Int64ObserverOption) (instrument.Int64ObservableCounter, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Int64ObservableCounter(name, options...) | 		return del.Int64ObservableCounter(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -190,7 +186,7 @@ func (m *meter) Int64ObservableCounter(name string, options ...metric.Int64Obser | ||||||
| 	return i, nil | 	return i, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Int64ObservableUpDownCounter(name string, options ...metric.Int64ObservableUpDownCounterOption) (metric.Int64ObservableUpDownCounter, error) { | func (m *meter) Int64ObservableUpDownCounter(name string, options ...instrument.Int64ObserverOption) (instrument.Int64ObservableUpDownCounter, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Int64ObservableUpDownCounter(name, options...) | 		return del.Int64ObservableUpDownCounter(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -201,7 +197,7 @@ func (m *meter) Int64ObservableUpDownCounter(name string, options ...metric.Int6 | ||||||
| 	return i, nil | 	return i, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Int64ObservableGauge(name string, options ...metric.Int64ObservableGaugeOption) (metric.Int64ObservableGauge, error) { | func (m *meter) Int64ObservableGauge(name string, options ...instrument.Int64ObserverOption) (instrument.Int64ObservableGauge, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Int64ObservableGauge(name, options...) | 		return del.Int64ObservableGauge(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -212,7 +208,7 @@ func (m *meter) Int64ObservableGauge(name string, options ...metric.Int64Observa | ||||||
| 	return i, nil | 	return i, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Float64Counter(name string, options ...metric.Float64CounterOption) (metric.Float64Counter, error) { | func (m *meter) Float64Counter(name string, options ...instrument.Float64Option) (instrument.Float64Counter, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Float64Counter(name, options...) | 		return del.Float64Counter(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -223,7 +219,7 @@ func (m *meter) Float64Counter(name string, options ...metric.Float64CounterOpti | ||||||
| 	return i, nil | 	return i, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Float64UpDownCounter(name string, options ...metric.Float64UpDownCounterOption) (metric.Float64UpDownCounter, error) { | func (m *meter) Float64UpDownCounter(name string, options ...instrument.Float64Option) (instrument.Float64UpDownCounter, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Float64UpDownCounter(name, options...) | 		return del.Float64UpDownCounter(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -234,7 +230,7 @@ func (m *meter) Float64UpDownCounter(name string, options ...metric.Float64UpDow | ||||||
| 	return i, nil | 	return i, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Float64Histogram(name string, options ...metric.Float64HistogramOption) (metric.Float64Histogram, error) { | func (m *meter) Float64Histogram(name string, options ...instrument.Float64Option) (instrument.Float64Histogram, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Float64Histogram(name, options...) | 		return del.Float64Histogram(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -245,7 +241,7 @@ func (m *meter) Float64Histogram(name string, options ...metric.Float64Histogram | ||||||
| 	return i, nil | 	return i, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Float64ObservableCounter(name string, options ...metric.Float64ObservableCounterOption) (metric.Float64ObservableCounter, error) { | func (m *meter) Float64ObservableCounter(name string, options ...instrument.Float64ObserverOption) (instrument.Float64ObservableCounter, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Float64ObservableCounter(name, options...) | 		return del.Float64ObservableCounter(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -256,7 +252,7 @@ func (m *meter) Float64ObservableCounter(name string, options ...metric.Float64O | ||||||
| 	return i, nil | 	return i, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Float64ObservableUpDownCounter(name string, options ...metric.Float64ObservableUpDownCounterOption) (metric.Float64ObservableUpDownCounter, error) { | func (m *meter) Float64ObservableUpDownCounter(name string, options ...instrument.Float64ObserverOption) (instrument.Float64ObservableUpDownCounter, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Float64ObservableUpDownCounter(name, options...) | 		return del.Float64ObservableUpDownCounter(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -267,7 +263,7 @@ func (m *meter) Float64ObservableUpDownCounter(name string, options ...metric.Fl | ||||||
| 	return i, nil | 	return i, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *meter) Float64ObservableGauge(name string, options ...metric.Float64ObservableGaugeOption) (metric.Float64ObservableGauge, error) { | func (m *meter) Float64ObservableGauge(name string, options ...instrument.Float64ObserverOption) (instrument.Float64ObservableGauge, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		return del.Float64ObservableGauge(name, options...) | 		return del.Float64ObservableGauge(name, options...) | ||||||
| 	} | 	} | ||||||
|  | @ -279,7 +275,7 @@ func (m *meter) Float64ObservableGauge(name string, options ...metric.Float64Obs | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // RegisterCallback captures the function that will be called during Collect. | // RegisterCallback captures the function that will be called during Collect. | ||||||
| func (m *meter) RegisterCallback(f metric.Callback, insts ...metric.Observable) (metric.Registration, error) { | func (m *meter) RegisterCallback(f metric.Callback, insts ...instrument.Asynchronous) (metric.Registration, error) { | ||||||
| 	if del, ok := m.delegate.Load().(metric.Meter); ok { | 	if del, ok := m.delegate.Load().(metric.Meter); ok { | ||||||
| 		insts = unwrapInstruments(insts) | 		insts = unwrapInstruments(insts) | ||||||
| 		return del.RegisterCallback(f, insts...) | 		return del.RegisterCallback(f, insts...) | ||||||
|  | @ -300,11 +296,11 @@ func (m *meter) RegisterCallback(f metric.Callback, insts ...metric.Observable) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type wrapped interface { | type wrapped interface { | ||||||
| 	unwrap() metric.Observable | 	unwrap() instrument.Asynchronous | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func unwrapInstruments(instruments []metric.Observable) []metric.Observable { | func unwrapInstruments(instruments []instrument.Asynchronous) []instrument.Asynchronous { | ||||||
| 	out := make([]metric.Observable, 0, len(instruments)) | 	out := make([]instrument.Asynchronous, 0, len(instruments)) | ||||||
| 
 | 
 | ||||||
| 	for _, inst := range instruments { | 	for _, inst := range instruments { | ||||||
| 		if in, ok := inst.(wrapped); ok { | 		if in, ok := inst.(wrapped); ok { | ||||||
|  | @ -318,9 +314,7 @@ func unwrapInstruments(instruments []metric.Observable) []metric.Observable { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type registration struct { | type registration struct { | ||||||
| 	embedded.Registration | 	instruments []instrument.Asynchronous | ||||||
| 
 |  | ||||||
| 	instruments []metric.Observable |  | ||||||
| 	function    metric.Callback | 	function    metric.Callback | ||||||
| 
 | 
 | ||||||
| 	unreg   func() error | 	unreg   func() error | ||||||
|  |  | ||||||
							
								
								
									
										79
									
								
								vendor/go.opentelemetry.io/otel/metric/meter.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										79
									
								
								vendor/go.opentelemetry.io/otel/metric/meter.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -17,91 +17,80 @@ package metric // import "go.opentelemetry.io/otel/metric" | ||||||
| import ( | import ( | ||||||
| 	"context" | 	"context" | ||||||
| 
 | 
 | ||||||
| 	"go.opentelemetry.io/otel/metric/embedded" | 	"go.opentelemetry.io/otel/attribute" | ||||||
|  | 	"go.opentelemetry.io/otel/metric/instrument" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // MeterProvider provides access to named Meter instances, for instrumenting | // MeterProvider provides access to named Meter instances, for instrumenting | ||||||
| // an application or package. | // an application or library. | ||||||
| // | // | ||||||
| // Warning: Methods may be added to this interface in minor releases. See | // Warning: methods may be added to this interface in minor releases. | ||||||
| // package documentation on API implementation for information on how to set |  | ||||||
| // default behavior for unimplemented methods. |  | ||||||
| type MeterProvider interface { | type MeterProvider interface { | ||||||
| 	embedded.MeterProvider | 	// Meter creates an instance of a `Meter` interface. The name must be the | ||||||
| 
 | 	// name of the library providing instrumentation. This name may be the same | ||||||
| 	// Meter returns a new Meter with the provided name and configuration. | 	// as the instrumented code only if that code provides built-in | ||||||
| 	// | 	// instrumentation. If the name is empty, then a implementation defined | ||||||
| 	// A Meter should be scoped at most to a single package. The name needs to | 	// default name will be used instead. | ||||||
| 	// be unique so it does not collide with other names used by |  | ||||||
| 	// an application, nor other applications. To achieve this, the import path |  | ||||||
| 	// of the instrumentation package is recommended to be used as name. |  | ||||||
| 	// |  | ||||||
| 	// If the name is empty, then an implementation defined default name will |  | ||||||
| 	// be used instead. |  | ||||||
| 	Meter(name string, opts ...MeterOption) Meter | 	Meter(name string, opts ...MeterOption) Meter | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Meter provides access to instrument instances for recording metrics. | // Meter provides access to instrument instances for recording metrics. | ||||||
| // | // | ||||||
| // Warning: Methods may be added to this interface in minor releases. See | // Warning: methods may be added to this interface in minor releases. | ||||||
| // package documentation on API implementation for information on how to set |  | ||||||
| // default behavior for unimplemented methods. |  | ||||||
| type Meter interface { | type Meter interface { | ||||||
| 	embedded.Meter |  | ||||||
| 
 |  | ||||||
| 	// Int64Counter returns a new instrument identified by name and configured | 	// Int64Counter returns a new instrument identified by name and configured | ||||||
| 	// with options. The instrument is used to synchronously record increasing | 	// with options. The instrument is used to synchronously record increasing | ||||||
| 	// int64 measurements during a computational operation. | 	// int64 measurements during a computational operation. | ||||||
| 	Int64Counter(name string, options ...Int64CounterOption) (Int64Counter, error) | 	Int64Counter(name string, options ...instrument.Int64Option) (instrument.Int64Counter, error) | ||||||
| 	// Int64UpDownCounter returns a new instrument identified by name and | 	// Int64UpDownCounter returns a new instrument identified by name and | ||||||
| 	// configured with options. The instrument is used to synchronously record | 	// configured with options. The instrument is used to synchronously record | ||||||
| 	// int64 measurements during a computational operation. | 	// int64 measurements during a computational operation. | ||||||
| 	Int64UpDownCounter(name string, options ...Int64UpDownCounterOption) (Int64UpDownCounter, error) | 	Int64UpDownCounter(name string, options ...instrument.Int64Option) (instrument.Int64UpDownCounter, error) | ||||||
| 	// Int64Histogram returns a new instrument identified by name and | 	// Int64Histogram returns a new instrument identified by name and | ||||||
| 	// configured with options. The instrument is used to synchronously record | 	// configured with options. The instrument is used to synchronously record | ||||||
| 	// the distribution of int64 measurements during a computational operation. | 	// the distribution of int64 measurements during a computational operation. | ||||||
| 	Int64Histogram(name string, options ...Int64HistogramOption) (Int64Histogram, error) | 	Int64Histogram(name string, options ...instrument.Int64Option) (instrument.Int64Histogram, error) | ||||||
| 	// Int64ObservableCounter returns a new instrument identified by name and | 	// Int64ObservableCounter returns a new instrument identified by name and | ||||||
| 	// configured with options. The instrument is used to asynchronously record | 	// configured with options. The instrument is used to asynchronously record | ||||||
| 	// increasing int64 measurements once per a measurement collection cycle. | 	// increasing int64 measurements once per a measurement collection cycle. | ||||||
| 	Int64ObservableCounter(name string, options ...Int64ObservableCounterOption) (Int64ObservableCounter, error) | 	Int64ObservableCounter(name string, options ...instrument.Int64ObserverOption) (instrument.Int64ObservableCounter, error) | ||||||
| 	// Int64ObservableUpDownCounter returns a new instrument identified by name | 	// Int64ObservableUpDownCounter returns a new instrument identified by name | ||||||
| 	// and configured with options. The instrument is used to asynchronously | 	// and configured with options. The instrument is used to asynchronously | ||||||
| 	// record int64 measurements once per a measurement collection cycle. | 	// record int64 measurements once per a measurement collection cycle. | ||||||
| 	Int64ObservableUpDownCounter(name string, options ...Int64ObservableUpDownCounterOption) (Int64ObservableUpDownCounter, error) | 	Int64ObservableUpDownCounter(name string, options ...instrument.Int64ObserverOption) (instrument.Int64ObservableUpDownCounter, error) | ||||||
| 	// Int64ObservableGauge returns a new instrument identified by name and | 	// Int64ObservableGauge returns a new instrument identified by name and | ||||||
| 	// configured with options. The instrument is used to asynchronously record | 	// configured with options. The instrument is used to asynchronously record | ||||||
| 	// instantaneous int64 measurements once per a measurement collection | 	// instantaneous int64 measurements once per a measurement collection | ||||||
| 	// cycle. | 	// cycle. | ||||||
| 	Int64ObservableGauge(name string, options ...Int64ObservableGaugeOption) (Int64ObservableGauge, error) | 	Int64ObservableGauge(name string, options ...instrument.Int64ObserverOption) (instrument.Int64ObservableGauge, error) | ||||||
| 
 | 
 | ||||||
| 	// Float64Counter returns a new instrument identified by name and | 	// Float64Counter returns a new instrument identified by name and | ||||||
| 	// configured with options. The instrument is used to synchronously record | 	// configured with options. The instrument is used to synchronously record | ||||||
| 	// increasing float64 measurements during a computational operation. | 	// increasing float64 measurements during a computational operation. | ||||||
| 	Float64Counter(name string, options ...Float64CounterOption) (Float64Counter, error) | 	Float64Counter(name string, options ...instrument.Float64Option) (instrument.Float64Counter, error) | ||||||
| 	// Float64UpDownCounter returns a new instrument identified by name and | 	// Float64UpDownCounter returns a new instrument identified by name and | ||||||
| 	// configured with options. The instrument is used to synchronously record | 	// configured with options. The instrument is used to synchronously record | ||||||
| 	// float64 measurements during a computational operation. | 	// float64 measurements during a computational operation. | ||||||
| 	Float64UpDownCounter(name string, options ...Float64UpDownCounterOption) (Float64UpDownCounter, error) | 	Float64UpDownCounter(name string, options ...instrument.Float64Option) (instrument.Float64UpDownCounter, error) | ||||||
| 	// Float64Histogram returns a new instrument identified by name and | 	// Float64Histogram returns a new instrument identified by name and | ||||||
| 	// configured with options. The instrument is used to synchronously record | 	// configured with options. The instrument is used to synchronously record | ||||||
| 	// the distribution of float64 measurements during a computational | 	// the distribution of float64 measurements during a computational | ||||||
| 	// operation. | 	// operation. | ||||||
| 	Float64Histogram(name string, options ...Float64HistogramOption) (Float64Histogram, error) | 	Float64Histogram(name string, options ...instrument.Float64Option) (instrument.Float64Histogram, error) | ||||||
| 	// Float64ObservableCounter returns a new instrument identified by name and | 	// Float64ObservableCounter returns a new instrument identified by name and | ||||||
| 	// configured with options. The instrument is used to asynchronously record | 	// configured with options. The instrument is used to asynchronously record | ||||||
| 	// increasing float64 measurements once per a measurement collection cycle. | 	// increasing float64 measurements once per a measurement collection cycle. | ||||||
| 	Float64ObservableCounter(name string, options ...Float64ObservableCounterOption) (Float64ObservableCounter, error) | 	Float64ObservableCounter(name string, options ...instrument.Float64ObserverOption) (instrument.Float64ObservableCounter, error) | ||||||
| 	// Float64ObservableUpDownCounter returns a new instrument identified by | 	// Float64ObservableUpDownCounter returns a new instrument identified by | ||||||
| 	// name and configured with options. The instrument is used to | 	// name and configured with options. The instrument is used to | ||||||
| 	// asynchronously record float64 measurements once per a measurement | 	// asynchronously record float64 measurements once per a measurement | ||||||
| 	// collection cycle. | 	// collection cycle. | ||||||
| 	Float64ObservableUpDownCounter(name string, options ...Float64ObservableUpDownCounterOption) (Float64ObservableUpDownCounter, error) | 	Float64ObservableUpDownCounter(name string, options ...instrument.Float64ObserverOption) (instrument.Float64ObservableUpDownCounter, error) | ||||||
| 	// Float64ObservableGauge returns a new instrument identified by name and | 	// Float64ObservableGauge returns a new instrument identified by name and | ||||||
| 	// configured with options. The instrument is used to asynchronously record | 	// configured with options. The instrument is used to asynchronously record | ||||||
| 	// instantaneous float64 measurements once per a measurement collection | 	// instantaneous float64 measurements once per a measurement collection | ||||||
| 	// cycle. | 	// cycle. | ||||||
| 	Float64ObservableGauge(name string, options ...Float64ObservableGaugeOption) (Float64ObservableGauge, error) | 	Float64ObservableGauge(name string, options ...instrument.Float64ObserverOption) (instrument.Float64ObservableGauge, error) | ||||||
| 
 | 
 | ||||||
| 	// RegisterCallback registers f to be called during the collection of a | 	// RegisterCallback registers f to be called during the collection of a | ||||||
| 	// measurement cycle. | 	// measurement cycle. | ||||||
|  | @ -114,12 +103,12 @@ type Meter interface { | ||||||
| 	// | 	// | ||||||
| 	// If no instruments are passed, f should not be registered nor called | 	// If no instruments are passed, f should not be registered nor called | ||||||
| 	// during collection. | 	// during collection. | ||||||
| 	RegisterCallback(f Callback, instruments ...Observable) (Registration, error) | 	RegisterCallback(f Callback, instruments ...instrument.Asynchronous) (Registration, error) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Callback is a function registered with a Meter that makes observations for | // Callback is a function registered with a Meter that makes observations for | ||||||
| // the set of instruments it is registered with. The Observer parameter is used | // the set of instruments it is registered with. The Observer parameter is used | ||||||
| // to record measurement observations for these instruments. | // to record measurment observations for these instruments. | ||||||
| // | // | ||||||
| // The function needs to complete in a finite amount of time and the deadline | // The function needs to complete in a finite amount of time and the deadline | ||||||
| // of the passed context is expected to be honored. | // of the passed context is expected to be honored. | ||||||
|  | @ -132,28 +121,16 @@ type Meter interface { | ||||||
| type Callback func(context.Context, Observer) error | type Callback func(context.Context, Observer) error | ||||||
| 
 | 
 | ||||||
| // Observer records measurements for multiple instruments in a Callback. | // Observer records measurements for multiple instruments in a Callback. | ||||||
| // |  | ||||||
| // 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 Observer interface { | type Observer interface { | ||||||
| 	embedded.Observer | 	// ObserveFloat64 records the float64 value with attributes for obsrv. | ||||||
| 
 | 	ObserveFloat64(obsrv instrument.Float64Observable, value float64, attributes ...attribute.KeyValue) | ||||||
| 	// ObserveFloat64 records the float64 value for obsrv. | 	// ObserveInt64 records the int64 value with attributes for obsrv. | ||||||
| 	ObserveFloat64(obsrv Float64Observable, value float64, opts ...ObserveOption) | 	ObserveInt64(obsrv instrument.Int64Observable, value int64, attributes ...attribute.KeyValue) | ||||||
| 	// ObserveInt64 records the int64 value for obsrv. |  | ||||||
| 	ObserveInt64(obsrv Int64Observable, value int64, opts ...ObserveOption) |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Registration is an token representing the unique registration of a callback | // Registration is an token representing the unique registration of a callback | ||||||
| // for a set of instruments with a Meter. | // for a set of instruments with a Meter. | ||||||
| // |  | ||||||
| // 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 Registration interface { | type Registration interface { | ||||||
| 	embedded.Registration |  | ||||||
| 
 |  | ||||||
| 	// Unregister removes the callback registration from a Meter. | 	// Unregister removes the callback registration from a Meter. | ||||||
| 	// | 	// | ||||||
| 	// This method needs to be idempotent and concurrent safe. | 	// This method needs to be idempotent and concurrent safe. | ||||||
|  |  | ||||||
							
								
								
									
										143
									
								
								vendor/go.opentelemetry.io/otel/metric/noop.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										143
									
								
								vendor/go.opentelemetry.io/otel/metric/noop.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,143 @@ | ||||||
|  | // 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 metric // import "go.opentelemetry.io/otel/metric" | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"context" | ||||||
|  | 
 | ||||||
|  | 	"go.opentelemetry.io/otel/attribute" | ||||||
|  | 	"go.opentelemetry.io/otel/metric/instrument" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // NewNoopMeterProvider creates a MeterProvider that does not record any metrics. | ||||||
|  | func NewNoopMeterProvider() MeterProvider { | ||||||
|  | 	return noopMeterProvider{} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type noopMeterProvider struct{} | ||||||
|  | 
 | ||||||
|  | func (noopMeterProvider) Meter(string, ...MeterOption) Meter { | ||||||
|  | 	return noopMeter{} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // NewNoopMeter creates a Meter that does not record any metrics. | ||||||
|  | func NewNoopMeter() Meter { | ||||||
|  | 	return noopMeter{} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type noopMeter struct{} | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Int64Counter(string, ...instrument.Int64Option) (instrument.Int64Counter, error) { | ||||||
|  | 	return nonrecordingSyncInt64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Int64UpDownCounter(string, ...instrument.Int64Option) (instrument.Int64UpDownCounter, error) { | ||||||
|  | 	return nonrecordingSyncInt64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Int64Histogram(string, ...instrument.Int64Option) (instrument.Int64Histogram, error) { | ||||||
|  | 	return nonrecordingSyncInt64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Int64ObservableCounter(string, ...instrument.Int64ObserverOption) (instrument.Int64ObservableCounter, error) { | ||||||
|  | 	return nonrecordingAsyncInt64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Int64ObservableUpDownCounter(string, ...instrument.Int64ObserverOption) (instrument.Int64ObservableUpDownCounter, error) { | ||||||
|  | 	return nonrecordingAsyncInt64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Int64ObservableGauge(string, ...instrument.Int64ObserverOption) (instrument.Int64ObservableGauge, error) { | ||||||
|  | 	return nonrecordingAsyncInt64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Float64Counter(string, ...instrument.Float64Option) (instrument.Float64Counter, error) { | ||||||
|  | 	return nonrecordingSyncFloat64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Float64UpDownCounter(string, ...instrument.Float64Option) (instrument.Float64UpDownCounter, error) { | ||||||
|  | 	return nonrecordingSyncFloat64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Float64Histogram(string, ...instrument.Float64Option) (instrument.Float64Histogram, error) { | ||||||
|  | 	return nonrecordingSyncFloat64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Float64ObservableCounter(string, ...instrument.Float64ObserverOption) (instrument.Float64ObservableCounter, error) { | ||||||
|  | 	return nonrecordingAsyncFloat64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Float64ObservableUpDownCounter(string, ...instrument.Float64ObserverOption) (instrument.Float64ObservableUpDownCounter, error) { | ||||||
|  | 	return nonrecordingAsyncFloat64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (noopMeter) Float64ObservableGauge(string, ...instrument.Float64ObserverOption) (instrument.Float64ObservableGauge, error) { | ||||||
|  | 	return nonrecordingAsyncFloat64Instrument{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // RegisterCallback creates a register callback that does not record any metrics. | ||||||
|  | func (noopMeter) RegisterCallback(Callback, ...instrument.Asynchronous) (Registration, error) { | ||||||
|  | 	return noopReg{}, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type noopReg struct{} | ||||||
|  | 
 | ||||||
|  | func (noopReg) Unregister() error { return nil } | ||||||
|  | 
 | ||||||
|  | type nonrecordingAsyncFloat64Instrument struct { | ||||||
|  | 	instrument.Float64Observable | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | var ( | ||||||
|  | 	_ instrument.Float64ObservableCounter       = nonrecordingAsyncFloat64Instrument{} | ||||||
|  | 	_ instrument.Float64ObservableUpDownCounter = nonrecordingAsyncFloat64Instrument{} | ||||||
|  | 	_ instrument.Float64ObservableGauge         = nonrecordingAsyncFloat64Instrument{} | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | type nonrecordingAsyncInt64Instrument struct { | ||||||
|  | 	instrument.Int64Observable | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | var ( | ||||||
|  | 	_ instrument.Int64ObservableCounter       = nonrecordingAsyncInt64Instrument{} | ||||||
|  | 	_ instrument.Int64ObservableUpDownCounter = nonrecordingAsyncInt64Instrument{} | ||||||
|  | 	_ instrument.Int64ObservableGauge         = nonrecordingAsyncInt64Instrument{} | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | type nonrecordingSyncFloat64Instrument struct { | ||||||
|  | 	instrument.Synchronous | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | var ( | ||||||
|  | 	_ instrument.Float64Counter       = nonrecordingSyncFloat64Instrument{} | ||||||
|  | 	_ instrument.Float64UpDownCounter = nonrecordingSyncFloat64Instrument{} | ||||||
|  | 	_ instrument.Float64Histogram     = nonrecordingSyncFloat64Instrument{} | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | func (nonrecordingSyncFloat64Instrument) Add(context.Context, float64, ...attribute.KeyValue)    {} | ||||||
|  | func (nonrecordingSyncFloat64Instrument) Record(context.Context, float64, ...attribute.KeyValue) {} | ||||||
|  | 
 | ||||||
|  | type nonrecordingSyncInt64Instrument struct { | ||||||
|  | 	instrument.Synchronous | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | var ( | ||||||
|  | 	_ instrument.Int64Counter       = nonrecordingSyncInt64Instrument{} | ||||||
|  | 	_ instrument.Int64UpDownCounter = nonrecordingSyncInt64Instrument{} | ||||||
|  | 	_ instrument.Int64Histogram     = nonrecordingSyncInt64Instrument{} | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | func (nonrecordingSyncInt64Instrument) Add(context.Context, int64, ...attribute.KeyValue)    {} | ||||||
|  | func (nonrecordingSyncInt64Instrument) Record(context.Context, int64, ...attribute.KeyValue) {} | ||||||
							
								
								
									
										162
									
								
								vendor/go.opentelemetry.io/otel/metric/syncfloat64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										162
									
								
								vendor/go.opentelemetry.io/otel/metric/syncfloat64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,162 +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 metric // import "go.opentelemetry.io/otel/metric" |  | ||||||
| 
 |  | ||||||
| import ( |  | ||||||
| 	"context" |  | ||||||
| 
 |  | ||||||
| 	"go.opentelemetry.io/otel/metric/embedded" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| // Float64Counter is an instrument that records increasing float64 values. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Float64Counter interface { |  | ||||||
| 	embedded.Float64Counter |  | ||||||
| 
 |  | ||||||
| 	// Add records a change to the counter. |  | ||||||
| 	Add(ctx context.Context, incr float64, opts ...AddOption) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64CounterConfig contains options for synchronous counter instruments that |  | ||||||
| // record int64 values. |  | ||||||
| type Float64CounterConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewFloat64CounterConfig returns a new [Float64CounterConfig] with all opts |  | ||||||
| // applied. |  | ||||||
| func NewFloat64CounterConfig(opts ...Float64CounterOption) Float64CounterConfig { |  | ||||||
| 	var config Float64CounterConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyFloat64Counter(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Float64CounterConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Float64CounterConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64CounterOption applies options to a [Float64CounterConfig]. See |  | ||||||
| // [Option] for other options that can be used as a Float64CounterOption. |  | ||||||
| type Float64CounterOption interface { |  | ||||||
| 	applyFloat64Counter(Float64CounterConfig) Float64CounterConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64UpDownCounter is an instrument that records increasing or decreasing |  | ||||||
| // float64 values. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Float64UpDownCounter interface { |  | ||||||
| 	embedded.Float64UpDownCounter |  | ||||||
| 
 |  | ||||||
| 	// Add records a change to the counter. |  | ||||||
| 	Add(ctx context.Context, incr float64, opts ...AddOption) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64UpDownCounterConfig contains options for synchronous counter |  | ||||||
| // instruments that record int64 values. |  | ||||||
| type Float64UpDownCounterConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewFloat64UpDownCounterConfig returns a new [Float64UpDownCounterConfig] |  | ||||||
| // with all opts applied. |  | ||||||
| func NewFloat64UpDownCounterConfig(opts ...Float64UpDownCounterOption) Float64UpDownCounterConfig { |  | ||||||
| 	var config Float64UpDownCounterConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyFloat64UpDownCounter(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Float64UpDownCounterConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Float64UpDownCounterConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64UpDownCounterOption applies options to a |  | ||||||
| // [Float64UpDownCounterConfig]. See [Option] for other options that can be |  | ||||||
| // used as a Float64UpDownCounterOption. |  | ||||||
| type Float64UpDownCounterOption interface { |  | ||||||
| 	applyFloat64UpDownCounter(Float64UpDownCounterConfig) Float64UpDownCounterConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64Histogram is an instrument that records a distribution of float64 |  | ||||||
| // values. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Float64Histogram interface { |  | ||||||
| 	embedded.Float64Histogram |  | ||||||
| 
 |  | ||||||
| 	// Record adds an additional value to the distribution. |  | ||||||
| 	Record(ctx context.Context, incr float64, opts ...RecordOption) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64HistogramConfig contains options for synchronous counter instruments |  | ||||||
| // that record int64 values. |  | ||||||
| type Float64HistogramConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewFloat64HistogramConfig returns a new [Float64HistogramConfig] with all |  | ||||||
| // opts applied. |  | ||||||
| func NewFloat64HistogramConfig(opts ...Float64HistogramOption) Float64HistogramConfig { |  | ||||||
| 	var config Float64HistogramConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyFloat64Histogram(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Float64HistogramConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Float64HistogramConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Float64HistogramOption applies options to a [Float64HistogramConfig]. See |  | ||||||
| // [Option] for other options that can be used as a Float64HistogramOption. |  | ||||||
| type Float64HistogramOption interface { |  | ||||||
| 	applyFloat64Histogram(Float64HistogramConfig) Float64HistogramConfig |  | ||||||
| } |  | ||||||
							
								
								
									
										162
									
								
								vendor/go.opentelemetry.io/otel/metric/syncint64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										162
									
								
								vendor/go.opentelemetry.io/otel/metric/syncint64.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,162 +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 metric // import "go.opentelemetry.io/otel/metric" |  | ||||||
| 
 |  | ||||||
| import ( |  | ||||||
| 	"context" |  | ||||||
| 
 |  | ||||||
| 	"go.opentelemetry.io/otel/metric/embedded" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| // Int64Counter is an instrument that records increasing int64 values. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Int64Counter interface { |  | ||||||
| 	embedded.Int64Counter |  | ||||||
| 
 |  | ||||||
| 	// Add records a change to the counter. |  | ||||||
| 	Add(ctx context.Context, incr int64, opts ...AddOption) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64CounterConfig contains options for synchronous counter instruments that |  | ||||||
| // record int64 values. |  | ||||||
| type Int64CounterConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewInt64CounterConfig returns a new [Int64CounterConfig] with all opts |  | ||||||
| // applied. |  | ||||||
| func NewInt64CounterConfig(opts ...Int64CounterOption) Int64CounterConfig { |  | ||||||
| 	var config Int64CounterConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyInt64Counter(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Int64CounterConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Int64CounterConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64CounterOption applies options to a [Int64CounterConfig]. See [Option] |  | ||||||
| // for other options that can be used as an Int64CounterOption. |  | ||||||
| type Int64CounterOption interface { |  | ||||||
| 	applyInt64Counter(Int64CounterConfig) Int64CounterConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64UpDownCounter is an instrument that records increasing or decreasing |  | ||||||
| // int64 values. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Int64UpDownCounter interface { |  | ||||||
| 	embedded.Int64UpDownCounter |  | ||||||
| 
 |  | ||||||
| 	// Add records a change to the counter. |  | ||||||
| 	Add(ctx context.Context, incr int64, opts ...AddOption) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64UpDownCounterConfig contains options for synchronous counter |  | ||||||
| // instruments that record int64 values. |  | ||||||
| type Int64UpDownCounterConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewInt64UpDownCounterConfig returns a new [Int64UpDownCounterConfig] with |  | ||||||
| // all opts applied. |  | ||||||
| func NewInt64UpDownCounterConfig(opts ...Int64UpDownCounterOption) Int64UpDownCounterConfig { |  | ||||||
| 	var config Int64UpDownCounterConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyInt64UpDownCounter(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Int64UpDownCounterConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Int64UpDownCounterConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64UpDownCounterOption applies options to a [Int64UpDownCounterConfig]. |  | ||||||
| // See [Option] for other options that can be used as an |  | ||||||
| // Int64UpDownCounterOption. |  | ||||||
| type Int64UpDownCounterOption interface { |  | ||||||
| 	applyInt64UpDownCounter(Int64UpDownCounterConfig) Int64UpDownCounterConfig |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64Histogram is an instrument that records a distribution of int64 |  | ||||||
| // values. |  | ||||||
| // |  | ||||||
| // Warning: Methods may be added to this interface in minor releases. See |  | ||||||
| // [go.opentelemetry.io/otel/metric] package documentation on API |  | ||||||
| // implementation for information on how to set default behavior for |  | ||||||
| // unimplemented methods. |  | ||||||
| type Int64Histogram interface { |  | ||||||
| 	embedded.Int64Histogram |  | ||||||
| 
 |  | ||||||
| 	// Record adds an additional value to the distribution. |  | ||||||
| 	Record(ctx context.Context, incr int64, opts ...RecordOption) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64HistogramConfig contains options for synchronous counter instruments |  | ||||||
| // that record int64 values. |  | ||||||
| type Int64HistogramConfig struct { |  | ||||||
| 	description string |  | ||||||
| 	unit        string |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewInt64HistogramConfig returns a new [Int64HistogramConfig] with all opts |  | ||||||
| // applied. |  | ||||||
| func NewInt64HistogramConfig(opts ...Int64HistogramOption) Int64HistogramConfig { |  | ||||||
| 	var config Int64HistogramConfig |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		config = o.applyInt64Histogram(config) |  | ||||||
| 	} |  | ||||||
| 	return config |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Description returns the configured description. |  | ||||||
| func (c Int64HistogramConfig) Description() string { |  | ||||||
| 	return c.description |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Unit returns the configured unit. |  | ||||||
| func (c Int64HistogramConfig) Unit() string { |  | ||||||
| 	return c.unit |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Int64HistogramOption applies options to a [Int64HistogramConfig]. See |  | ||||||
| // [Option] for other options that can be used as an Int64HistogramOption. |  | ||||||
| type Int64HistogramOption interface { |  | ||||||
| 	applyInt64Histogram(Int64HistogramConfig) Int64HistogramConfig |  | ||||||
| } |  | ||||||
							
								
								
									
										10
									
								
								vendor/go.opentelemetry.io/otel/sdk/internal/env/env.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/go.opentelemetry.io/otel/sdk/internal/env/env.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -70,8 +70,8 @@ const ( | ||||||
| // returned. | // returned. | ||||||
| func firstInt(defaultValue int, keys ...string) int { | func firstInt(defaultValue int, keys ...string) int { | ||||||
| 	for _, key := range keys { | 	for _, key := range keys { | ||||||
| 		value := os.Getenv(key) | 		value, ok := os.LookupEnv(key) | ||||||
| 		if value == "" { | 		if !ok { | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | @ -88,10 +88,10 @@ func firstInt(defaultValue int, keys ...string) int { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // IntEnvOr returns the int value of the environment variable with name key if | // IntEnvOr returns the int value of the environment variable with name key if | ||||||
| // it exists, it is not empty, and the value is an int. Otherwise, defaultValue is returned. | // it exists and the value is an int. Otherwise, defaultValue is returned. | ||||||
| func IntEnvOr(key string, defaultValue int) int { | func IntEnvOr(key string, defaultValue int) int { | ||||||
| 	value := os.Getenv(key) | 	value, ok := os.LookupEnv(key) | ||||||
| 	if value == "" { | 	if !ok { | ||||||
| 		return defaultValue | 		return defaultValue | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										11
									
								
								vendor/go.opentelemetry.io/otel/sdk/internal/internal.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								vendor/go.opentelemetry.io/otel/sdk/internal/internal.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -14,7 +14,16 @@ | ||||||
| 
 | 
 | ||||||
| package internal // import "go.opentelemetry.io/otel/sdk/internal" | package internal // import "go.opentelemetry.io/otel/sdk/internal" | ||||||
| 
 | 
 | ||||||
| import "time" | import ( | ||||||
|  | 	"fmt" | ||||||
|  | 	"time" | ||||||
|  | 
 | ||||||
|  | 	"go.opentelemetry.io/otel" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // UserAgent is the user agent to be added to the outgoing | ||||||
|  | // requests from the exporters. | ||||||
|  | var UserAgent = fmt.Sprintf("opentelemetry-go/%s", otel.Version()) | ||||||
| 
 | 
 | ||||||
| // MonotonicEndTime returns the end time at present | // MonotonicEndTime returns the end time at present | ||||||
| // but offset from start, monotonically. | // but offset from start, monotonically. | ||||||
|  |  | ||||||
							
								
								
									
										58
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/auto.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										58
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/auto.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -18,7 +18,6 @@ import ( | ||||||
| 	"context" | 	"context" | ||||||
| 	"errors" | 	"errors" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"strings" |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var ( | var ( | ||||||
|  | @ -46,65 +45,28 @@ type Detector interface { | ||||||
| // Detect calls all input detectors sequentially and merges each result with the previous one. | // Detect calls all input detectors sequentially and merges each result with the previous one. | ||||||
| // It returns the merged error too. | // It returns the merged error too. | ||||||
| func Detect(ctx context.Context, detectors ...Detector) (*Resource, error) { | func Detect(ctx context.Context, detectors ...Detector) (*Resource, error) { | ||||||
| 	r := new(Resource) | 	var autoDetectedRes *Resource | ||||||
| 	return r, detect(ctx, r, detectors) | 	var errInfo []string | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // detect runs all detectors using ctx and merges the result into res. This |  | ||||||
| // assumes res is allocated and not nil, it will panic otherwise. |  | ||||||
| func detect(ctx context.Context, res *Resource, detectors []Detector) error { |  | ||||||
| 	var ( |  | ||||||
| 		r    *Resource |  | ||||||
| 		errs detectErrs |  | ||||||
| 		err  error |  | ||||||
| 	) |  | ||||||
| 
 |  | ||||||
| 	for _, detector := range detectors { | 	for _, detector := range detectors { | ||||||
| 		if detector == nil { | 		if detector == nil { | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
| 		r, err = detector.Detect(ctx) | 		res, err := detector.Detect(ctx) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			errs = append(errs, err) | 			errInfo = append(errInfo, err.Error()) | ||||||
| 			if !errors.Is(err, ErrPartialResource) { | 			if !errors.Is(err, ErrPartialResource) { | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		r, err = Merge(res, r) | 		autoDetectedRes, err = Merge(autoDetectedRes, res) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			errs = append(errs, err) | 			errInfo = append(errInfo, err.Error()) | ||||||
| 		} | 		} | ||||||
| 		*res = *r |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if len(errs) == 0 { | 	var aggregatedError error | ||||||
| 		return nil | 	if len(errInfo) > 0 { | ||||||
|  | 		aggregatedError = fmt.Errorf("detecting resources: %s", errInfo) | ||||||
| 	} | 	} | ||||||
| 	return errs | 	return autoDetectedRes, aggregatedError | ||||||
| } |  | ||||||
| 
 |  | ||||||
| type detectErrs []error |  | ||||||
| 
 |  | ||||||
| func (e detectErrs) Error() string { |  | ||||||
| 	errStr := make([]string, len(e)) |  | ||||||
| 	for i, err := range e { |  | ||||||
| 		errStr[i] = fmt.Sprintf("* %s", err) |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	format := "%d errors occurred detecting resource:\n\t%s" |  | ||||||
| 	return fmt.Sprintf(format, len(e), strings.Join(errStr, "\n\t")) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (e detectErrs) Unwrap() error { |  | ||||||
| 	switch len(e) { |  | ||||||
| 	case 0: |  | ||||||
| 		return nil |  | ||||||
| 	case 1: |  | ||||||
| 		return e[0] |  | ||||||
| 	} |  | ||||||
| 	return e[1:] |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (e detectErrs) Is(target error) bool { |  | ||||||
| 	return len(e) != 0 && errors.Is(e[0], target) |  | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -20,8 +20,8 @@ import ( | ||||||
| 	"os" | 	"os" | ||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
| 
 | 
 | ||||||
|  | 	"go.opentelemetry.io/otel" | ||||||
| 	"go.opentelemetry.io/otel/attribute" | 	"go.opentelemetry.io/otel/attribute" | ||||||
| 	"go.opentelemetry.io/otel/sdk" |  | ||||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.17.0" | 	semconv "go.opentelemetry.io/otel/semconv/v1.17.0" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | @ -62,7 +62,7 @@ func (telemetrySDK) Detect(context.Context) (*Resource, error) { | ||||||
| 		semconv.SchemaURL, | 		semconv.SchemaURL, | ||||||
| 		semconv.TelemetrySDKName("opentelemetry"), | 		semconv.TelemetrySDKName("opentelemetry"), | ||||||
| 		semconv.TelemetrySDKLanguageGo, | 		semconv.TelemetrySDKLanguageGo, | ||||||
| 		semconv.TelemetrySDKVersion(sdk.Version()), | 		semconv.TelemetrySDKVersion(otel.Version()), | ||||||
| 	), nil | 	), nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										5
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/config.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/config.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -71,11 +71,6 @@ func WithHost() Option { | ||||||
| 	return WithDetectors(host{}) | 	return WithDetectors(host{}) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // WithHostID adds host ID information to the configured resource. |  | ||||||
| func WithHostID() Option { |  | ||||||
| 	return WithDetectors(hostIDDetector{}) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // WithTelemetrySDK adds TelemetrySDK version info to the configured resource. | // WithTelemetrySDK adds TelemetrySDK version info to the configured resource. | ||||||
| func WithTelemetrySDK() Option { | func WithTelemetrySDK() Option { | ||||||
| 	return WithDetectors(telemetrySDK{}) | 	return WithDetectors(telemetrySDK{}) | ||||||
|  |  | ||||||
							
								
								
									
										120
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										120
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,120 +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 resource // import "go.opentelemetry.io/otel/sdk/resource" |  | ||||||
| 
 |  | ||||||
| import ( |  | ||||||
| 	"context" |  | ||||||
| 	"errors" |  | ||||||
| 	"strings" |  | ||||||
| 
 |  | ||||||
| 	semconv "go.opentelemetry.io/otel/semconv/v1.17.0" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| type hostIDProvider func() (string, error) |  | ||||||
| 
 |  | ||||||
| var defaultHostIDProvider hostIDProvider = platformHostIDReader.read |  | ||||||
| 
 |  | ||||||
| var hostID = defaultHostIDProvider |  | ||||||
| 
 |  | ||||||
| type hostIDReader interface { |  | ||||||
| 	read() (string, error) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| type fileReader func(string) (string, error) |  | ||||||
| 
 |  | ||||||
| type commandExecutor func(string, ...string) (string, error) |  | ||||||
| 
 |  | ||||||
| // hostIDReaderBSD implements hostIDReader. |  | ||||||
| type hostIDReaderBSD struct { |  | ||||||
| 	execCommand commandExecutor |  | ||||||
| 	readFile    fileReader |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // read attempts to read the machine-id from /etc/hostid. If not found it will |  | ||||||
| // execute `kenv -q smbios.system.uuid`. If neither location yields an id an |  | ||||||
| // error will be returned. |  | ||||||
| func (r *hostIDReaderBSD) read() (string, error) { |  | ||||||
| 	if result, err := r.readFile("/etc/hostid"); err == nil { |  | ||||||
| 		return strings.TrimSpace(result), nil |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	if result, err := r.execCommand("kenv", "-q", "smbios.system.uuid"); err == nil { |  | ||||||
| 		return strings.TrimSpace(result), nil |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	return "", errors.New("host id not found in: /etc/hostid or kenv") |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // hostIDReaderDarwin implements hostIDReader. |  | ||||||
| type hostIDReaderDarwin struct { |  | ||||||
| 	execCommand commandExecutor |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // read executes `ioreg -rd1 -c "IOPlatformExpertDevice"` and parses host id |  | ||||||
| // from the IOPlatformUUID line. If the command fails or the uuid cannot be |  | ||||||
| // parsed an error will be returned. |  | ||||||
| func (r *hostIDReaderDarwin) read() (string, error) { |  | ||||||
| 	result, err := r.execCommand("ioreg", "-rd1", "-c", "IOPlatformExpertDevice") |  | ||||||
| 	if err != nil { |  | ||||||
| 		return "", err |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	lines := strings.Split(result, "\n") |  | ||||||
| 	for _, line := range lines { |  | ||||||
| 		if strings.Contains(line, "IOPlatformUUID") { |  | ||||||
| 			parts := strings.Split(line, " = ") |  | ||||||
| 			if len(parts) == 2 { |  | ||||||
| 				return strings.Trim(parts[1], "\""), nil |  | ||||||
| 			} |  | ||||||
| 			break |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	return "", errors.New("could not parse IOPlatformUUID") |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| type hostIDReaderLinux struct { |  | ||||||
| 	readFile fileReader |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // read attempts to read the machine-id from /etc/machine-id followed by |  | ||||||
| // /var/lib/dbus/machine-id. If neither location yields an ID an error will |  | ||||||
| // be returned. |  | ||||||
| func (r *hostIDReaderLinux) read() (string, error) { |  | ||||||
| 	if result, err := r.readFile("/etc/machine-id"); err == nil { |  | ||||||
| 		return strings.TrimSpace(result), nil |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	if result, err := r.readFile("/var/lib/dbus/machine-id"); err == nil { |  | ||||||
| 		return strings.TrimSpace(result), nil |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	return "", errors.New("host id not found in: /etc/machine-id or /var/lib/dbus/machine-id") |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| type hostIDDetector struct{} |  | ||||||
| 
 |  | ||||||
| // Detect returns a *Resource containing the platform specific host id. |  | ||||||
| func (hostIDDetector) Detect(ctx context.Context) (*Resource, error) { |  | ||||||
| 	hostID, err := hostID() |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	return NewWithAttributes( |  | ||||||
| 		semconv.SchemaURL, |  | ||||||
| 		semconv.HostID(hostID), |  | ||||||
| 	), nil |  | ||||||
| } |  | ||||||
							
								
								
									
										23
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_bsd.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_bsd.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,23 +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. |  | ||||||
| 
 |  | ||||||
| //go:build dragonfly || freebsd || netbsd || openbsd || solaris |  | ||||||
| // +build dragonfly freebsd netbsd openbsd solaris |  | ||||||
| 
 |  | ||||||
| package resource // import "go.opentelemetry.io/otel/sdk/resource" |  | ||||||
| 
 |  | ||||||
| var platformHostIDReader hostIDReader = &hostIDReaderBSD{ |  | ||||||
| 	execCommand: execCommand, |  | ||||||
| 	readFile:    readFile, |  | ||||||
| } |  | ||||||
							
								
								
									
										19
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_darwin.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_darwin.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,19 +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 resource // import "go.opentelemetry.io/otel/sdk/resource" |  | ||||||
| 
 |  | ||||||
| var platformHostIDReader hostIDReader = &hostIDReaderDarwin{ |  | ||||||
| 	execCommand: execCommand, |  | ||||||
| } |  | ||||||
							
								
								
									
										29
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_exec.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_exec.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,29 +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. |  | ||||||
| 
 |  | ||||||
| //go:build bsd || darwin |  | ||||||
| 
 |  | ||||||
| package resource // import "go.opentelemetry.io/otel/sdk/resource" |  | ||||||
| 
 |  | ||||||
| import "os/exec" |  | ||||||
| 
 |  | ||||||
| func execCommand(name string, arg ...string) (string, error) { |  | ||||||
| 	cmd := exec.Command(name, arg...) |  | ||||||
| 	b, err := cmd.Output() |  | ||||||
| 	if err != nil { |  | ||||||
| 		return "", err |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	return string(b), nil |  | ||||||
| } |  | ||||||
							
								
								
									
										22
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_linux.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_linux.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,22 +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. |  | ||||||
| 
 |  | ||||||
| //go:build linux |  | ||||||
| // +build linux |  | ||||||
| 
 |  | ||||||
| package resource // import "go.opentelemetry.io/otel/sdk/resource" |  | ||||||
| 
 |  | ||||||
| var platformHostIDReader hostIDReader = &hostIDReaderLinux{ |  | ||||||
| 	readFile: readFile, |  | ||||||
| } |  | ||||||
							
								
								
									
										28
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_readfile.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,28 +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. |  | ||||||
| 
 |  | ||||||
| //go:build bsd || linux |  | ||||||
| 
 |  | ||||||
| package resource // import "go.opentelemetry.io/otel/sdk/resource" |  | ||||||
| 
 |  | ||||||
| import "os" |  | ||||||
| 
 |  | ||||||
| func readFile(filename string) (string, error) { |  | ||||||
| 	b, err := os.ReadFile(filename) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return "", nil |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	return string(b), nil |  | ||||||
| } |  | ||||||
							
								
								
									
										36
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_unsupported.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_unsupported.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,36 +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. |  | ||||||
| 
 |  | ||||||
| // +build !darwin |  | ||||||
| // +build !dragonfly |  | ||||||
| // +build !freebsd |  | ||||||
| // +build !linux |  | ||||||
| // +build !netbsd |  | ||||||
| // +build !openbsd |  | ||||||
| // +build !solaris |  | ||||||
| // +build !windows |  | ||||||
| 
 |  | ||||||
| package resource // import "go.opentelemetry.io/otel/sdk/resource" |  | ||||||
| 
 |  | ||||||
| // hostIDReaderUnsupported is a placeholder implementation for operating systems |  | ||||||
| // for which this project currently doesn't support host.id |  | ||||||
| // attribute detection. See build tags declaration early on this file |  | ||||||
| // for a list of unsupported OSes. |  | ||||||
| type hostIDReaderUnsupported struct{} |  | ||||||
| 
 |  | ||||||
| func (*hostIDReaderUnsupported) read() (string, error) { |  | ||||||
| 	return "<unknown>", nil |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| var platformHostIDReader hostIDReader = &hostIDReaderUnsupported{} |  | ||||||
							
								
								
									
										48
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_windows.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										48
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/host_id_windows.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,48 +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. |  | ||||||
| 
 |  | ||||||
| //go:build windows |  | ||||||
| // +build windows |  | ||||||
| 
 |  | ||||||
| package resource // import "go.opentelemetry.io/otel/sdk/resource" |  | ||||||
| 
 |  | ||||||
| import ( |  | ||||||
| 	"golang.org/x/sys/windows/registry" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| // implements hostIDReader |  | ||||||
| type hostIDReaderWindows struct{} |  | ||||||
| 
 |  | ||||||
| // read reads MachineGuid from the windows registry key: |  | ||||||
| // SOFTWARE\Microsoft\Cryptography |  | ||||||
| func (*hostIDReaderWindows) read() (string, error) { |  | ||||||
| 	k, err := registry.OpenKey( |  | ||||||
| 		registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Cryptography`, |  | ||||||
| 		registry.QUERY_VALUE|registry.WOW64_64KEY, |  | ||||||
| 	) |  | ||||||
| 
 |  | ||||||
| 	if err != nil { |  | ||||||
| 		return "", err |  | ||||||
| 	} |  | ||||||
| 	defer k.Close() |  | ||||||
| 
 |  | ||||||
| 	guid, _, err := k.GetStringValue("MachineGuid") |  | ||||||
| 	if err != nil { |  | ||||||
| 		return "", err |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	return guid, nil |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| var platformHostIDReader hostIDReader = &hostIDReaderWindows{} |  | ||||||
							
								
								
									
										14
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/resource.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/go.opentelemetry.io/otel/sdk/resource/resource.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -17,6 +17,7 @@ package resource // import "go.opentelemetry.io/otel/sdk/resource" | ||||||
| import ( | import ( | ||||||
| 	"context" | 	"context" | ||||||
| 	"errors" | 	"errors" | ||||||
|  | 	"fmt" | ||||||
| 	"sync" | 	"sync" | ||||||
| 
 | 
 | ||||||
| 	"go.opentelemetry.io/otel" | 	"go.opentelemetry.io/otel" | ||||||
|  | @ -50,8 +51,17 @@ func New(ctx context.Context, opts ...Option) (*Resource, error) { | ||||||
| 		cfg = opt.apply(cfg) | 		cfg = opt.apply(cfg) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	r := &Resource{schemaURL: cfg.schemaURL} | 	resource, err := Detect(ctx, cfg.detectors...) | ||||||
| 	return r, detect(ctx, r, cfg.detectors) | 
 | ||||||
|  | 	var err2 error | ||||||
|  | 	resource, err2 = Merge(resource, &Resource{schemaURL: cfg.schemaURL}) | ||||||
|  | 	if err == nil { | ||||||
|  | 		err = err2 | ||||||
|  | 	} else if err2 != nil { | ||||||
|  | 		err = fmt.Errorf("detecting resources: %s", []string{err.Error(), err2.Error()}) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return resource, err | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // NewWithAttributes creates a resource from attrs and associates the resource with a | // NewWithAttributes creates a resource from attrs and associates the resource with a | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -91,7 +91,7 @@ var _ SpanProcessor = (*batchSpanProcessor)(nil) | ||||||
| // NewBatchSpanProcessor creates a new SpanProcessor that will send completed | // NewBatchSpanProcessor creates a new SpanProcessor that will send completed | ||||||
| // span batches to the exporter with the supplied options. | // span batches to the exporter with the supplied options. | ||||||
| // | // | ||||||
| // If the exporter is nil, the span processor will perform no action. | // If the exporter is nil, the span processor will preform no action. | ||||||
| func NewBatchSpanProcessor(exporter SpanExporter, options ...BatchSpanProcessorOption) SpanProcessor { | func NewBatchSpanProcessor(exporter SpanExporter, options ...BatchSpanProcessorOption) SpanProcessor { | ||||||
| 	maxQueueSize := env.BatchSpanProcessorMaxQueueSize(DefaultMaxQueueSize) | 	maxQueueSize := env.BatchSpanProcessorMaxQueueSize(DefaultMaxQueueSize) | ||||||
| 	maxExportBatchSize := env.BatchSpanProcessorMaxExportBatchSize(DefaultMaxExportBatchSize) | 	maxExportBatchSize := env.BatchSpanProcessorMaxExportBatchSize(DefaultMaxExportBatchSize) | ||||||
|  |  | ||||||
							
								
								
									
										103
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/provider.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										103
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/provider.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -75,9 +75,8 @@ func (cfg tracerProviderConfig) MarshalLog() interface{} { | ||||||
| type TracerProvider struct { | type TracerProvider struct { | ||||||
| 	mu             sync.Mutex | 	mu             sync.Mutex | ||||||
| 	namedTracer    map[instrumentation.Scope]*tracer | 	namedTracer    map[instrumentation.Scope]*tracer | ||||||
| 	spanProcessors atomic.Pointer[spanProcessorStates] | 	spanProcessors atomic.Value | ||||||
| 
 | 	isShutdown     bool | ||||||
| 	isShutdown atomic.Bool |  | ||||||
| 
 | 
 | ||||||
| 	// These fields are not protected by the lock mu. They are assumed to be | 	// These fields are not protected by the lock mu. They are assumed to be | ||||||
| 	// immutable after creation of the TracerProvider. | 	// immutable after creation of the TracerProvider. | ||||||
|  | @ -120,11 +119,11 @@ func NewTracerProvider(opts ...TracerProviderOption) *TracerProvider { | ||||||
| 	} | 	} | ||||||
| 	global.Info("TracerProvider created", "config", o) | 	global.Info("TracerProvider created", "config", o) | ||||||
| 
 | 
 | ||||||
| 	spss := make(spanProcessorStates, 0, len(o.processors)) | 	spss := spanProcessorStates{} | ||||||
| 	for _, sp := range o.processors { | 	for _, sp := range o.processors { | ||||||
| 		spss = append(spss, newSpanProcessorState(sp)) | 		spss = append(spss, newSpanProcessorState(sp)) | ||||||
| 	} | 	} | ||||||
| 	tp.spanProcessors.Store(&spss) | 	tp.spanProcessors.Store(spss) | ||||||
| 
 | 
 | ||||||
| 	return tp | 	return tp | ||||||
| } | } | ||||||
|  | @ -137,11 +136,10 @@ func NewTracerProvider(opts ...TracerProviderOption) *TracerProvider { | ||||||
| // | // | ||||||
| // This method is safe to be called concurrently. | // This method is safe to be called concurrently. | ||||||
| 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(). |  | ||||||
| 	if p.isShutdown.Load() { |  | ||||||
| 		return trace.NewNoopTracerProvider().Tracer(name, opts...) |  | ||||||
| 	} |  | ||||||
| 	c := trace.NewTracerConfig(opts...) | 	c := trace.NewTracerConfig(opts...) | ||||||
|  | 
 | ||||||
|  | 	p.mu.Lock() | ||||||
|  | 	defer p.mu.Unlock() | ||||||
| 	if name == "" { | 	if name == "" { | ||||||
| 		name = defaultTracerName | 		name = defaultTracerName | ||||||
| 	} | 	} | ||||||
|  | @ -150,74 +148,44 @@ func (p *TracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.T | ||||||
| 		Version:   c.InstrumentationVersion(), | 		Version:   c.InstrumentationVersion(), | ||||||
| 		SchemaURL: c.SchemaURL(), | 		SchemaURL: c.SchemaURL(), | ||||||
| 	} | 	} | ||||||
| 
 | 	t, ok := p.namedTracer[is] | ||||||
| 	t, ok := func() (trace.Tracer, bool) { |  | ||||||
| 		p.mu.Lock() |  | ||||||
| 		defer p.mu.Unlock() |  | ||||||
| 		// 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. |  | ||||||
| 		if p.isShutdown.Load() { |  | ||||||
| 			return trace.NewNoopTracerProvider().Tracer(name, opts...), true |  | ||||||
| 		} |  | ||||||
| 		t, ok := p.namedTracer[is] |  | ||||||
| 		if !ok { |  | ||||||
| 			t = &tracer{ |  | ||||||
| 				provider:             p, |  | ||||||
| 				instrumentationScope: is, |  | ||||||
| 			} |  | ||||||
| 			p.namedTracer[is] = t |  | ||||||
| 		} |  | ||||||
| 		return t, ok |  | ||||||
| 	}() |  | ||||||
| 	if !ok { | 	if !ok { | ||||||
| 		// This code is outside the mutex to not hold the lock while calling third party logging code: | 		t = &tracer{ | ||||||
| 		// - That code may do slow things like I/O, which would prolong the duration the lock is held, | 			provider:             p, | ||||||
| 		//   slowing down all tracing consumers. | 			instrumentationScope: is, | ||||||
| 		// - Logging code may be instrumented with tracing and deadlock because it could try | 		} | ||||||
| 		//   acquiring the same non-reentrant mutex. | 		p.namedTracer[is] = t | ||||||
| 		global.Info("Tracer created", "name", name, "version", is.Version, "schemaURL", is.SchemaURL) | 		global.Info("Tracer created", "name", name, "version", c.InstrumentationVersion(), "schemaURL", c.SchemaURL()) | ||||||
| 	} | 	} | ||||||
| 	return t | 	return t | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // RegisterSpanProcessor adds the given SpanProcessor to the list of SpanProcessors. | // RegisterSpanProcessor adds the given SpanProcessor to the list of SpanProcessors. | ||||||
| func (p *TracerProvider) RegisterSpanProcessor(sp SpanProcessor) { | func (p *TracerProvider) RegisterSpanProcessor(sp SpanProcessor) { | ||||||
| 	// This check prevents calls during a shutdown. |  | ||||||
| 	if p.isShutdown.Load() { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	p.mu.Lock() | 	p.mu.Lock() | ||||||
| 	defer p.mu.Unlock() | 	defer p.mu.Unlock() | ||||||
| 	// This check prevents calls after a shutdown. | 	if p.isShutdown { | ||||||
| 	if p.isShutdown.Load() { |  | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 
 | 	newSPS := spanProcessorStates{} | ||||||
| 	current := p.getSpanProcessors() | 	newSPS = append(newSPS, p.spanProcessors.Load().(spanProcessorStates)...) | ||||||
| 	newSPS := make(spanProcessorStates, 0, len(current)+1) |  | ||||||
| 	newSPS = append(newSPS, current...) |  | ||||||
| 	newSPS = append(newSPS, newSpanProcessorState(sp)) | 	newSPS = append(newSPS, newSpanProcessorState(sp)) | ||||||
| 	p.spanProcessors.Store(&newSPS) | 	p.spanProcessors.Store(newSPS) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // UnregisterSpanProcessor removes the given SpanProcessor from the list of SpanProcessors. | // UnregisterSpanProcessor removes the given SpanProcessor from the list of SpanProcessors. | ||||||
| func (p *TracerProvider) UnregisterSpanProcessor(sp SpanProcessor) { | func (p *TracerProvider) UnregisterSpanProcessor(sp SpanProcessor) { | ||||||
| 	// This check prevents calls during a shutdown. |  | ||||||
| 	if p.isShutdown.Load() { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	p.mu.Lock() | 	p.mu.Lock() | ||||||
| 	defer p.mu.Unlock() | 	defer p.mu.Unlock() | ||||||
| 	// This check prevents calls after a shutdown. | 	if p.isShutdown { | ||||||
| 	if p.isShutdown.Load() { |  | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	old := p.getSpanProcessors() | 	old := p.spanProcessors.Load().(spanProcessorStates) | ||||||
| 	if len(old) == 0 { | 	if len(old) == 0 { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	spss := make(spanProcessorStates, len(old)) | 	spss := spanProcessorStates{} | ||||||
| 	copy(spss, old) | 	spss = append(spss, old...) | ||||||
| 
 | 
 | ||||||
| 	// stop the span processor if it is started and remove it from the list | 	// stop the span processor if it is started and remove it from the list | ||||||
| 	var stopOnce *spanProcessorState | 	var stopOnce *spanProcessorState | ||||||
|  | @ -241,13 +209,13 @@ func (p *TracerProvider) UnregisterSpanProcessor(sp SpanProcessor) { | ||||||
| 	spss[len(spss)-1] = nil | 	spss[len(spss)-1] = nil | ||||||
| 	spss = spss[:len(spss)-1] | 	spss = spss[:len(spss)-1] | ||||||
| 
 | 
 | ||||||
| 	p.spanProcessors.Store(&spss) | 	p.spanProcessors.Store(spss) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // ForceFlush immediately exports all spans that have not yet been exported for | // ForceFlush immediately exports all spans that have not yet been exported for | ||||||
| // all the registered span processors. | // all the registered span processors. | ||||||
| func (p *TracerProvider) ForceFlush(ctx context.Context) error { | func (p *TracerProvider) ForceFlush(ctx context.Context) error { | ||||||
| 	spss := p.getSpanProcessors() | 	spss := p.spanProcessors.Load().(spanProcessorStates) | ||||||
| 	if len(spss) == 0 { | 	if len(spss) == 0 { | ||||||
| 		return nil | 		return nil | ||||||
| 	} | 	} | ||||||
|  | @ -268,21 +236,18 @@ func (p *TracerProvider) ForceFlush(ctx context.Context) error { | ||||||
| 
 | 
 | ||||||
| // Shutdown shuts down TracerProvider. All registered span processors are shut down | // Shutdown shuts down TracerProvider. All registered span processors are shut down | ||||||
| // in the order they were registered and any held computational resources are released. | // in the order they were registered and any held computational resources are released. | ||||||
| // After Shutdown is called, all methods are no-ops. |  | ||||||
| func (p *TracerProvider) Shutdown(ctx context.Context) error { | func (p *TracerProvider) Shutdown(ctx context.Context) error { | ||||||
| 	// This check prevents deadlocks in case of recursive shutdown. | 	spss := p.spanProcessors.Load().(spanProcessorStates) | ||||||
| 	if p.isShutdown.Load() { | 	if len(spss) == 0 { | ||||||
| 		return nil |  | ||||||
| 	} |  | ||||||
| 	p.mu.Lock() |  | ||||||
| 	defer p.mu.Unlock() |  | ||||||
| 	// This check prevents calls after a shutdown has already been done concurrently. |  | ||||||
| 	if !p.isShutdown.CompareAndSwap(false, true) { // did toggle? |  | ||||||
| 		return nil | 		return nil | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	p.mu.Lock() | ||||||
|  | 	defer p.mu.Unlock() | ||||||
|  | 	p.isShutdown = true | ||||||
|  | 
 | ||||||
| 	var retErr error | 	var retErr error | ||||||
| 	for _, sps := range p.getSpanProcessors() { | 	for _, sps := range spss { | ||||||
| 		select { | 		select { | ||||||
| 		case <-ctx.Done(): | 		case <-ctx.Done(): | ||||||
| 			return ctx.Err() | 			return ctx.Err() | ||||||
|  | @ -302,14 +267,10 @@ func (p *TracerProvider) Shutdown(ctx context.Context) error { | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	p.spanProcessors.Store(&spanProcessorStates{}) | 	p.spanProcessors.Store(spanProcessorStates{}) | ||||||
| 	return retErr | 	return retErr | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (p *TracerProvider) getSpanProcessors() spanProcessorStates { |  | ||||||
| 	return *(p.spanProcessors.Load()) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // TracerProviderOption configures a TracerProvider. | // TracerProviderOption configures a TracerProvider. | ||||||
| type TracerProviderOption interface { | type TracerProviderOption interface { | ||||||
| 	apply(tracerProviderConfig) tracerProviderConfig | 	apply(tracerProviderConfig) tracerProviderConfig | ||||||
|  |  | ||||||
							
								
								
									
										9
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -19,13 +19,12 @@ import ( | ||||||
| 	"sync" | 	"sync" | ||||||
| 
 | 
 | ||||||
| 	"go.opentelemetry.io/otel" | 	"go.opentelemetry.io/otel" | ||||||
| 	"go.opentelemetry.io/otel/internal/global" |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // simpleSpanProcessor is a SpanProcessor that synchronously sends all | // simpleSpanProcessor is a SpanProcessor that synchronously sends all | ||||||
| // completed Spans to a trace.Exporter immediately. | // completed Spans to a trace.Exporter immediately. | ||||||
| type simpleSpanProcessor struct { | type simpleSpanProcessor struct { | ||||||
| 	exporterMu sync.Mutex | 	exporterMu sync.RWMutex | ||||||
| 	exporter   SpanExporter | 	exporter   SpanExporter | ||||||
| 	stopOnce   sync.Once | 	stopOnce   sync.Once | ||||||
| } | } | ||||||
|  | @ -44,8 +43,6 @@ func NewSimpleSpanProcessor(exporter SpanExporter) SpanProcessor { | ||||||
| 	ssp := &simpleSpanProcessor{ | 	ssp := &simpleSpanProcessor{ | ||||||
| 		exporter: exporter, | 		exporter: exporter, | ||||||
| 	} | 	} | ||||||
| 	global.Warn("SimpleSpanProcessor is not recommended for production use, consider using BatchSpanProcessor instead.") |  | ||||||
| 
 |  | ||||||
| 	return ssp | 	return ssp | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -54,8 +51,8 @@ func (ssp *simpleSpanProcessor) OnStart(context.Context, ReadWriteSpan) {} | ||||||
| 
 | 
 | ||||||
| // OnEnd immediately exports a ReadOnlySpan. | // OnEnd immediately exports a ReadOnlySpan. | ||||||
| func (ssp *simpleSpanProcessor) OnEnd(s ReadOnlySpan) { | func (ssp *simpleSpanProcessor) OnEnd(s ReadOnlySpan) { | ||||||
| 	ssp.exporterMu.Lock() | 	ssp.exporterMu.RLock() | ||||||
| 	defer ssp.exporterMu.Unlock() | 	defer ssp.exporterMu.RUnlock() | ||||||
| 
 | 
 | ||||||
| 	if ssp.exporter != nil && s.SpanContext().TraceFlags().IsSampled() { | 	if ssp.exporter != nil && s.SpanContext().TraceFlags().IsSampled() { | ||||||
| 		if err := ssp.exporter.ExportSpans(context.Background(), []ReadOnlySpan{s}); err != nil { | 		if err := ssp.exporter.ExportSpans(context.Background(), []ReadOnlySpan{s}); err != nil { | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/span.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/span.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -302,7 +302,7 @@ func (s *recordingSpan) addOverCapAttrs(limit int, attrs []attribute.KeyValue) { | ||||||
| // most a length of limit. Each string slice value is truncated in this fashion | // most a length of limit. Each string slice value is truncated in this fashion | ||||||
| // (the slice length itself is unaffected). | // (the slice length itself is unaffected). | ||||||
| // | // | ||||||
| // No truncation is performed for a negative limit. | // No truncation is perfromed for a negative limit. | ||||||
| func truncateAttr(limit int, attr attribute.KeyValue) attribute.KeyValue { | func truncateAttr(limit int, attr attribute.KeyValue) attribute.KeyValue { | ||||||
| 	if limit < 0 { | 	if limit < 0 { | ||||||
| 		return attr | 		return attr | ||||||
|  | @ -410,7 +410,7 @@ func (s *recordingSpan) End(options ...trace.SpanEndOption) { | ||||||
| 	} | 	} | ||||||
| 	s.mu.Unlock() | 	s.mu.Unlock() | ||||||
| 
 | 
 | ||||||
| 	sps := s.tracer.provider.getSpanProcessors() | 	sps := s.tracer.provider.spanProcessors.Load().(spanProcessorStates) | ||||||
| 	if len(sps) == 0 { | 	if len(sps) == 0 { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/span_exporter.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/span_exporter.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -38,7 +38,7 @@ type SpanExporter interface { | ||||||
| 	// must never be done outside of a new major release. | 	// must never be done outside of a new major release. | ||||||
| 
 | 
 | ||||||
| 	// Shutdown notifies the exporter of a pending halt to operations. The | 	// Shutdown notifies the exporter of a pending halt to operations. The | ||||||
| 	// exporter is expected to perform any cleanup or synchronization it | 	// exporter is expected to preform any cleanup or synchronization it | ||||||
| 	// requires while honoring all timeouts and cancellations contained in | 	// requires while honoring all timeouts and cancellations contained in | ||||||
| 	// the passed context. | 	// the passed context. | ||||||
| 	Shutdown(ctx context.Context) error | 	Shutdown(ctx context.Context) error | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/span_processor.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/span_processor.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -62,11 +62,11 @@ type SpanProcessor interface { | ||||||
| 
 | 
 | ||||||
| type spanProcessorState struct { | type spanProcessorState struct { | ||||||
| 	sp    SpanProcessor | 	sp    SpanProcessor | ||||||
| 	state sync.Once | 	state *sync.Once | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func newSpanProcessorState(sp SpanProcessor) *spanProcessorState { | func newSpanProcessorState(sp SpanProcessor) *spanProcessorState { | ||||||
| 	return &spanProcessorState{sp: sp} | 	return &spanProcessorState{sp: sp, state: &sync.Once{}} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type spanProcessorStates []*spanProcessorState | type spanProcessorStates []*spanProcessorState | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -51,7 +51,7 @@ func (tr *tracer) Start(ctx context.Context, name string, options ...trace.SpanS | ||||||
| 
 | 
 | ||||||
| 	s := tr.newSpan(ctx, name, &config) | 	s := tr.newSpan(ctx, name, &config) | ||||||
| 	if rw, ok := s.(ReadWriteSpan); ok && s.IsRecording() { | 	if rw, ok := s.(ReadWriteSpan); ok && s.IsRecording() { | ||||||
| 		sps := tr.provider.getSpanProcessors() | 		sps := tr.provider.spanProcessors.Load().(spanProcessorStates) | ||||||
| 		for _, sp := range sps { | 		for _, sp := range sps { | ||||||
| 			sp.sp.OnStart(ctx, rw) | 			sp.sp.OnStart(ctx, rw) | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
							
								
								
									
										20
									
								
								vendor/go.opentelemetry.io/otel/sdk/version.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/go.opentelemetry.io/otel/sdk/version.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 sdk // import "go.opentelemetry.io/otel/sdk" |  | ||||||
| 
 |  | ||||||
| // Version is the current release version of the OpenTelemetry SDK in use. |  | ||||||
| func Version() string { |  | ||||||
| 	return "1.15.1" |  | ||||||
| } |  | ||||||
							
								
								
									
										18
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/httpconv/http.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								vendor/go.opentelemetry.io/otel/semconv/v1.17.0/httpconv/http.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -12,8 +12,8 @@ | ||||||
| // 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 httpconv provides OpenTelemetry HTTP semantic conventions for | // Package httpconv provides OpenTelemetry semantic convetions for the net/http | ||||||
| // tracing telemetry. | // package from the standard library. | ||||||
| package httpconv // import "go.opentelemetry.io/otel/semconv/v1.17.0/httpconv" | package httpconv // import "go.opentelemetry.io/otel/semconv/v1.17.0/httpconv" | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  | @ -58,10 +58,9 @@ var ( | ||||||
| 	} | 	} | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // ClientResponse returns trace attributes for an HTTP response received by a | // ClientResponse returns attributes for an HTTP response received by a client | ||||||
| // client from a server. It will return the following attributes if the related | // from a server. It will return the following attributes if the related values | ||||||
| // values are defined in resp: "http.status.code", | // are defined in resp: "http.status.code", "http.response_content_length". | ||||||
| // "http.response_content_length". |  | ||||||
| // | // | ||||||
| // This does not add all OpenTelemetry required attributes for an HTTP event, | // This does not add all OpenTelemetry required attributes for an HTTP event, | ||||||
| // it assumes ClientRequest was used to create the span with a complete set of | // it assumes ClientRequest was used to create the span with a complete set of | ||||||
|  | @ -73,8 +72,8 @@ func ClientResponse(resp *http.Response) []attribute.KeyValue { | ||||||
| 	return hc.ClientResponse(resp) | 	return hc.ClientResponse(resp) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // ClientRequest returns trace attributes for an HTTP request made by a client. | // ClientRequest returns attributes for an HTTP request made by a client. The | ||||||
| // The following attributes are always returned: "http.url", "http.flavor", | // following attributes are always returned: "http.url", "http.flavor", | ||||||
| // "http.method", "net.peer.name". The following attributes are returned if the | // "http.method", "net.peer.name". The following attributes are returned if the | ||||||
| // related values are defined in req: "net.peer.port", "http.user_agent", | // related values are defined in req: "net.peer.port", "http.user_agent", | ||||||
| // "http.request_content_length", "enduser.id". | // "http.request_content_length", "enduser.id". | ||||||
|  | @ -88,8 +87,7 @@ func ClientStatus(code int) (codes.Code, string) { | ||||||
| 	return hc.ClientStatus(code) | 	return hc.ClientStatus(code) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // ServerRequest returns trace attributes for an HTTP request received by a | // ServerRequest returns attributes for an HTTP request received by a server. | ||||||
| // server. |  | ||||||
| // | // | ||||||
| // The server must be the primary server name if it is known. For example this | // The server must be the primary server name if it is known. For example this | ||||||
| // would be the ServerName directive | // would be the ServerName directive | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								vendor/go.opentelemetry.io/otel/trace/noop.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/go.opentelemetry.io/otel/trace/noop.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -37,7 +37,7 @@ func (p noopTracerProvider) Tracer(string, ...TracerOption) Tracer { | ||||||
| 	return noopTracer{} | 	return noopTracer{} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // noopTracer is an implementation of Tracer that performs no operations. | // noopTracer is an implementation of Tracer that preforms no operations. | ||||||
| type noopTracer struct{} | type noopTracer struct{} | ||||||
| 
 | 
 | ||||||
| var _ Tracer = noopTracer{} | var _ Tracer = noopTracer{} | ||||||
|  | @ -53,7 +53,7 @@ func (t noopTracer) Start(ctx context.Context, name string, _ ...SpanStartOption | ||||||
| 	return ContextWithSpan(ctx, span), span | 	return ContextWithSpan(ctx, span), span | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // noopSpan is an implementation of Span that performs no operations. | // noopSpan is an implementation of Span that preforms no operations. | ||||||
| type noopSpan struct{} | type noopSpan struct{} | ||||||
| 
 | 
 | ||||||
| var _ Span = noopSpan{} | var _ Span = noopSpan{} | ||||||
|  |  | ||||||
							
								
								
									
										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.15.1" | 	return "1.14.0" | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								vendor/go.opentelemetry.io/otel/versions.yaml
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/go.opentelemetry.io/otel/versions.yaml
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -14,7 +14,7 @@ | ||||||
| 
 | 
 | ||||||
| module-sets: | module-sets: | ||||||
|   stable-v1: |   stable-v1: | ||||||
|     version: v1.15.1 |     version: v1.14.0 | ||||||
|     modules: |     modules: | ||||||
|       - go.opentelemetry.io/otel |       - go.opentelemetry.io/otel | ||||||
|       - go.opentelemetry.io/otel/bridge/opentracing |       - go.opentelemetry.io/otel/bridge/opentracing | ||||||
|  | @ -26,16 +26,16 @@ module-sets: | ||||||
|       - go.opentelemetry.io/otel/example/passthrough |       - go.opentelemetry.io/otel/example/passthrough | ||||||
|       - go.opentelemetry.io/otel/example/zipkin |       - go.opentelemetry.io/otel/example/zipkin | ||||||
|       - go.opentelemetry.io/otel/exporters/jaeger |       - go.opentelemetry.io/otel/exporters/jaeger | ||||||
|       - go.opentelemetry.io/otel/exporters/otlp/internal/retry |       - go.opentelemetry.io/otel/exporters/zipkin | ||||||
|       - go.opentelemetry.io/otel/exporters/otlp/otlptrace |       - go.opentelemetry.io/otel/exporters/otlp/otlptrace | ||||||
|       - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc |       - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc | ||||||
|       - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp |       - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp | ||||||
|  |       - go.opentelemetry.io/otel/exporters/otlp/internal/retry | ||||||
|       - go.opentelemetry.io/otel/exporters/stdout/stdouttrace |       - go.opentelemetry.io/otel/exporters/stdout/stdouttrace | ||||||
|       - go.opentelemetry.io/otel/exporters/zipkin |  | ||||||
|       - go.opentelemetry.io/otel/sdk |  | ||||||
|       - go.opentelemetry.io/otel/trace |       - go.opentelemetry.io/otel/trace | ||||||
|  |       - go.opentelemetry.io/otel/sdk | ||||||
|   experimental-metrics: |   experimental-metrics: | ||||||
|     version: v0.38.1 |     version: v0.37.0 | ||||||
|     modules: |     modules: | ||||||
|       - go.opentelemetry.io/otel/example/opencensus |       - go.opentelemetry.io/otel/example/opencensus | ||||||
|       - go.opentelemetry.io/otel/example/prometheus |       - go.opentelemetry.io/otel/example/prometheus | ||||||
|  |  | ||||||
							
								
								
									
										39
									
								
								vendor/modules.txt
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								vendor/modules.txt
									
										
									
									
										vendored
									
									
								
							|  | @ -731,10 +731,10 @@ github.com/uptrace/bun/dialect/pgdialect | ||||||
| # github.com/uptrace/bun/dialect/sqlitedialect v1.1.13 | # github.com/uptrace/bun/dialect/sqlitedialect v1.1.13 | ||||||
| ## explicit; go 1.18 | ## explicit; go 1.18 | ||||||
| github.com/uptrace/bun/dialect/sqlitedialect | github.com/uptrace/bun/dialect/sqlitedialect | ||||||
| # github.com/uptrace/bun/extra/bunotel v1.1.13 | # github.com/uptrace/bun/extra/bunotel v1.1.12 | ||||||
| ## explicit; go 1.18 | ## explicit; go 1.18 | ||||||
| github.com/uptrace/bun/extra/bunotel | github.com/uptrace/bun/extra/bunotel | ||||||
| # github.com/uptrace/opentelemetry-go-extra/otelsql v0.2.0 | # github.com/uptrace/opentelemetry-go-extra/otelsql v0.1.21 | ||||||
| ## explicit; go 1.18 | ## explicit; go 1.18 | ||||||
| github.com/uptrace/opentelemetry-go-extra/otelsql | github.com/uptrace/opentelemetry-go-extra/otelsql | ||||||
| # github.com/vmihailenco/msgpack/v5 v5.3.5 | # github.com/vmihailenco/msgpack/v5 v5.3.5 | ||||||
|  | @ -760,8 +760,8 @@ github.com/yuin/goldmark/renderer | ||||||
| github.com/yuin/goldmark/renderer/html | github.com/yuin/goldmark/renderer/html | ||||||
| github.com/yuin/goldmark/text | github.com/yuin/goldmark/text | ||||||
| github.com/yuin/goldmark/util | github.com/yuin/goldmark/util | ||||||
| # go.opentelemetry.io/otel v1.15.1 | # go.opentelemetry.io/otel v1.14.0 | ||||||
| ## explicit; go 1.19 | ## explicit; go 1.18 | ||||||
| go.opentelemetry.io/otel | go.opentelemetry.io/otel | ||||||
| go.opentelemetry.io/otel/attribute | go.opentelemetry.io/otel/attribute | ||||||
| go.opentelemetry.io/otel/baggage | go.opentelemetry.io/otel/baggage | ||||||
|  | @ -779,42 +779,39 @@ go.opentelemetry.io/otel/semconv/v1.10.0 | ||||||
| go.opentelemetry.io/otel/semconv/v1.12.0 | go.opentelemetry.io/otel/semconv/v1.12.0 | ||||||
| go.opentelemetry.io/otel/semconv/v1.17.0 | go.opentelemetry.io/otel/semconv/v1.17.0 | ||||||
| go.opentelemetry.io/otel/semconv/v1.17.0/httpconv | go.opentelemetry.io/otel/semconv/v1.17.0/httpconv | ||||||
| # go.opentelemetry.io/otel/exporters/jaeger v1.15.1 | # go.opentelemetry.io/otel/exporters/jaeger v1.14.0 | ||||||
| ## explicit; go 1.19 | ## explicit; go 1.18 | ||||||
| go.opentelemetry.io/otel/exporters/jaeger | go.opentelemetry.io/otel/exporters/jaeger | ||||||
| go.opentelemetry.io/otel/exporters/jaeger/internal/gen-go/agent | go.opentelemetry.io/otel/exporters/jaeger/internal/gen-go/agent | ||||||
| go.opentelemetry.io/otel/exporters/jaeger/internal/gen-go/jaeger | go.opentelemetry.io/otel/exporters/jaeger/internal/gen-go/jaeger | ||||||
| go.opentelemetry.io/otel/exporters/jaeger/internal/gen-go/zipkincore | go.opentelemetry.io/otel/exporters/jaeger/internal/gen-go/zipkincore | ||||||
| go.opentelemetry.io/otel/exporters/jaeger/internal/third_party/thrift/lib/go/thrift | go.opentelemetry.io/otel/exporters/jaeger/internal/third_party/thrift/lib/go/thrift | ||||||
| # go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.15.1 | # go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 | ||||||
| ## explicit; go 1.19 | ## explicit; go 1.18 | ||||||
| go.opentelemetry.io/otel/exporters/otlp/internal/retry | go.opentelemetry.io/otel/exporters/otlp/internal/retry | ||||||
| # go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.15.1 | # go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.14.0 | ||||||
| ## explicit; go 1.19 | ## explicit; go 1.18 | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace | go.opentelemetry.io/otel/exporters/otlp/otlptrace | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal |  | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/otlpconfig | go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/otlpconfig | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform | go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform | ||||||
| # go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.15.1 | # go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.14.0 | ||||||
| ## explicit; go 1.19 | ## explicit; go 1.18 | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc | go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc | ||||||
| # go.opentelemetry.io/otel/metric v0.38.1 | # go.opentelemetry.io/otel/metric v0.37.0 | ||||||
| ## explicit; go 1.19 | ## explicit; go 1.18 | ||||||
| go.opentelemetry.io/otel/metric | go.opentelemetry.io/otel/metric | ||||||
| go.opentelemetry.io/otel/metric/embedded |  | ||||||
| go.opentelemetry.io/otel/metric/global | go.opentelemetry.io/otel/metric/global | ||||||
| go.opentelemetry.io/otel/metric/instrument | go.opentelemetry.io/otel/metric/instrument | ||||||
| go.opentelemetry.io/otel/metric/internal/global | go.opentelemetry.io/otel/metric/internal/global | ||||||
| # go.opentelemetry.io/otel/sdk v1.15.1 | # go.opentelemetry.io/otel/sdk v1.14.0 | ||||||
| ## explicit; go 1.19 | ## explicit; go 1.18 | ||||||
| go.opentelemetry.io/otel/sdk |  | ||||||
| go.opentelemetry.io/otel/sdk/instrumentation | go.opentelemetry.io/otel/sdk/instrumentation | ||||||
| go.opentelemetry.io/otel/sdk/internal | go.opentelemetry.io/otel/sdk/internal | ||||||
| go.opentelemetry.io/otel/sdk/internal/env | go.opentelemetry.io/otel/sdk/internal/env | ||||||
| go.opentelemetry.io/otel/sdk/resource | go.opentelemetry.io/otel/sdk/resource | ||||||
| go.opentelemetry.io/otel/sdk/trace | go.opentelemetry.io/otel/sdk/trace | ||||||
| # go.opentelemetry.io/otel/trace v1.15.1 | # go.opentelemetry.io/otel/trace v1.14.0 | ||||||
| ## explicit; go 1.19 | ## explicit; go 1.18 | ||||||
| go.opentelemetry.io/otel/trace | go.opentelemetry.io/otel/trace | ||||||
| # go.opentelemetry.io/proto/otlp v0.19.0 | # go.opentelemetry.io/proto/otlp v0.19.0 | ||||||
| ## explicit; go 1.14 | ## explicit; go 1.14 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue