mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-07 07:49:31 -06:00
[chore] Update usage of OTEL libraries (#2725)
* otel to 1.24 * prometheus exporter to 0.46 * bunotel to 1.1.17 Also: * Use schemaless URL for metrics * Add software version to tracing schema
This commit is contained in:
parent
8e88ee8d9c
commit
5e871e81a8
126 changed files with 12940 additions and 2267 deletions
19
vendor/go.opentelemetry.io/otel/sdk/trace/span.go
generated
vendored
19
vendor/go.opentelemetry.io/otel/sdk/trace/span.go
generated
vendored
|
|
@ -30,7 +30,7 @@ import (
|
|||
"go.opentelemetry.io/otel/sdk/instrumentation"
|
||||
"go.opentelemetry.io/otel/sdk/internal"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
"go.opentelemetry.io/otel/trace/embedded"
|
||||
)
|
||||
|
|
@ -208,6 +208,16 @@ func (s *recordingSpan) SetStatus(code codes.Code, description string) {
|
|||
s.status = status
|
||||
}
|
||||
|
||||
// ensureAttributesCapacity inlines functionality from slices.Grow
|
||||
// so that we can avoid needing to import golang.org/x/exp for go1.20.
|
||||
// Once support for go1.20 is dropped, we can use slices.Grow available since go1.21 instead.
|
||||
// Tracking issue: https://github.com/open-telemetry/opentelemetry-go/issues/4819.
|
||||
func (s *recordingSpan) ensureAttributesCapacity(minCapacity int) {
|
||||
if n := minCapacity - cap(s.attributes); n > 0 {
|
||||
s.attributes = append(s.attributes[:cap(s.attributes)], make([]attribute.KeyValue, n)...)[:len(s.attributes)]
|
||||
}
|
||||
}
|
||||
|
||||
// SetAttributes sets attributes of this span.
|
||||
//
|
||||
// If a key from attributes already exists the value associated with that key
|
||||
|
|
@ -242,6 +252,7 @@ func (s *recordingSpan) SetAttributes(attributes ...attribute.KeyValue) {
|
|||
|
||||
// Otherwise, add without deduplication. When attributes are read they
|
||||
// will be deduplicated, optimizing the operation.
|
||||
s.ensureAttributesCapacity(len(s.attributes) + len(attributes))
|
||||
for _, a := range attributes {
|
||||
if !a.Valid() {
|
||||
// Drop all invalid attributes.
|
||||
|
|
@ -277,6 +288,12 @@ func (s *recordingSpan) addOverCapAttrs(limit int, attrs []attribute.KeyValue) {
|
|||
|
||||
// Now that s.attributes is deduplicated, adding unique attributes up to
|
||||
// the capacity of s will not over allocate s.attributes.
|
||||
if sum := len(attrs) + len(s.attributes); sum < limit {
|
||||
// After support for go1.20 is dropped, simplify if-else to min(sum, limit).
|
||||
s.ensureAttributesCapacity(sum)
|
||||
} else {
|
||||
s.ensureAttributesCapacity(limit)
|
||||
}
|
||||
for _, a := range attrs {
|
||||
if !a.Valid() {
|
||||
// Drop all invalid attributes.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue