mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-28 11:43:32 -06:00
[chore] bump dependencies (#4406)
- codeberg.org/gruf/go-ffmpreg: v0.6.9 -> v0.6.10
- github.com/ncruces/go-sqlite3: v0.27.1 -> v0.28.0
- github.com/stretchr/testify: v1.10.0 -> v1.11.1
- github.com/tdewolff/minify/v2 v2.23.11 -> v2.24.2
- go.opentelemetry.io/otel{,/*}: v1.37.0 -> v1.38.0
- go.opentelemetry.io/contrib/*: v0.62.0 -> v0.63.0
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4406
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
This commit is contained in:
parent
5a54e7156b
commit
78defcd916
274 changed files with 9213 additions and 2368 deletions
30
vendor/go.opentelemetry.io/otel/trace/LICENSE
generated
vendored
30
vendor/go.opentelemetry.io/otel/trace/LICENSE
generated
vendored
|
|
@ -199,3 +199,33 @@
|
|||
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.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Copyright 2009 The Go Authors.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Google LLC nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
6
vendor/go.opentelemetry.io/otel/trace/auto.go
generated
vendored
6
vendor/go.opentelemetry.io/otel/trace/auto.go
generated
vendored
|
|
@ -20,7 +20,7 @@ import (
|
|||
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/codes"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.34.0"
|
||||
semconv "go.opentelemetry.io/otel/semconv/v1.37.0"
|
||||
"go.opentelemetry.io/otel/trace/embedded"
|
||||
"go.opentelemetry.io/otel/trace/internal/telemetry"
|
||||
)
|
||||
|
|
@ -39,7 +39,7 @@ type autoTracerProvider struct{ embedded.TracerProvider }
|
|||
|
||||
var _ TracerProvider = autoTracerProvider{}
|
||||
|
||||
func (p autoTracerProvider) Tracer(name string, opts ...TracerOption) Tracer {
|
||||
func (autoTracerProvider) Tracer(name string, opts ...TracerOption) Tracer {
|
||||
cfg := NewTracerConfig(opts...)
|
||||
return autoTracer{
|
||||
name: name,
|
||||
|
|
@ -81,7 +81,7 @@ func (t autoTracer) Start(ctx context.Context, name string, opts ...SpanStartOpt
|
|||
// Expected to be implemented in eBPF.
|
||||
//
|
||||
//go:noinline
|
||||
func (t *autoTracer) start(
|
||||
func (*autoTracer) start(
|
||||
ctx context.Context,
|
||||
spanPtr *autoSpan,
|
||||
psc *SpanContext,
|
||||
|
|
|
|||
4
vendor/go.opentelemetry.io/otel/trace/config.go
generated
vendored
4
vendor/go.opentelemetry.io/otel/trace/config.go
generated
vendored
|
|
@ -73,7 +73,7 @@ func (cfg *SpanConfig) Timestamp() time.Time {
|
|||
return cfg.timestamp
|
||||
}
|
||||
|
||||
// StackTrace checks whether stack trace capturing is enabled.
|
||||
// StackTrace reports whether stack trace capturing is enabled.
|
||||
func (cfg *SpanConfig) StackTrace() bool {
|
||||
return cfg.stackTrace
|
||||
}
|
||||
|
|
@ -154,7 +154,7 @@ func (cfg *EventConfig) Timestamp() time.Time {
|
|||
return cfg.timestamp
|
||||
}
|
||||
|
||||
// StackTrace checks whether stack trace capturing is enabled.
|
||||
// StackTrace reports whether stack trace capturing is enabled.
|
||||
func (cfg *EventConfig) StackTrace() bool {
|
||||
return cfg.stackTrace
|
||||
}
|
||||
|
|
|
|||
38
vendor/go.opentelemetry.io/otel/trace/hex.go
generated
vendored
Normal file
38
vendor/go.opentelemetry.io/otel/trace/hex.go
generated
vendored
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
// Copyright The OpenTelemetry Authors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package trace // import "go.opentelemetry.io/otel/trace"
|
||||
|
||||
const (
|
||||
// hexLU is a hex lookup table of the 16 lowercase hex digits.
|
||||
// The character values of the string are indexed at the equivalent
|
||||
// hexadecimal value they represent. This table efficiently encodes byte data
|
||||
// into a string representation of hexadecimal.
|
||||
hexLU = "0123456789abcdef"
|
||||
|
||||
// hexRev is a reverse hex lookup table for lowercase hex digits.
|
||||
// The table is efficiently decodes a hexadecimal string into bytes.
|
||||
// Valid hexadecimal characters are indexed at their respective values. All
|
||||
// other invalid ASCII characters are represented with '\xff'.
|
||||
//
|
||||
// The '\xff' character is used as invalid because no valid character has
|
||||
// the upper 4 bits set. Meaning, an efficient validation can be performed
|
||||
// over multiple character parsing by checking these bits remain zero.
|
||||
hexRev = "" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\x0a\x0b\x0c\x0d\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +
|
||||
"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
|
||||
)
|
||||
2
vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go
generated
vendored
2
vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go
generated
vendored
|
|
@ -52,7 +52,7 @@ func Map(key string, value ...Attr) Attr {
|
|||
return Attr{key, MapValue(value...)}
|
||||
}
|
||||
|
||||
// Equal returns if a is equal to b.
|
||||
// Equal reports whether a is equal to b.
|
||||
func (a Attr) Equal(b Attr) bool {
|
||||
return a.Key == b.Key && a.Value.Equal(b.Value)
|
||||
}
|
||||
|
|
|
|||
6
vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go
generated
vendored
6
vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go
generated
vendored
|
|
@ -22,7 +22,7 @@ func (tid TraceID) String() string {
|
|||
return hex.EncodeToString(tid[:])
|
||||
}
|
||||
|
||||
// IsEmpty returns false if id contains at least one non-zero byte.
|
||||
// IsEmpty reports whether the TraceID contains only zero bytes.
|
||||
func (tid TraceID) IsEmpty() bool {
|
||||
return tid == [traceIDSize]byte{}
|
||||
}
|
||||
|
|
@ -50,7 +50,7 @@ func (sid SpanID) String() string {
|
|||
return hex.EncodeToString(sid[:])
|
||||
}
|
||||
|
||||
// IsEmpty returns true if the span ID contains at least one non-zero byte.
|
||||
// IsEmpty reports whether the SpanID contains only zero bytes.
|
||||
func (sid SpanID) IsEmpty() bool {
|
||||
return sid == [spanIDSize]byte{}
|
||||
}
|
||||
|
|
@ -82,7 +82,7 @@ func marshalJSON(id []byte) ([]byte, error) {
|
|||
}
|
||||
|
||||
// unmarshalJSON inflates trace id from hex string, possibly enclosed in quotes.
|
||||
func unmarshalJSON(dst []byte, src []byte) error {
|
||||
func unmarshalJSON(dst, src []byte) error {
|
||||
if l := len(src); l >= 2 && src[0] == '"' && src[l-1] == '"' {
|
||||
src = src[1 : l-1]
|
||||
}
|
||||
|
|
|
|||
4
vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go
generated
vendored
4
vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go
generated
vendored
|
|
@ -257,10 +257,10 @@ func (v Value) Kind() ValueKind {
|
|||
}
|
||||
}
|
||||
|
||||
// Empty returns if v does not hold any value.
|
||||
// Empty reports whether v does not hold any value.
|
||||
func (v Value) Empty() bool { return v.Kind() == ValueKindEmpty }
|
||||
|
||||
// Equal returns if v is equal to w.
|
||||
// Equal reports whether v is equal to w.
|
||||
func (v Value) Equal(w Value) bool {
|
||||
k1 := v.Kind()
|
||||
k2 := w.Kind()
|
||||
|
|
|
|||
4
vendor/go.opentelemetry.io/otel/trace/noop.go
generated
vendored
4
vendor/go.opentelemetry.io/otel/trace/noop.go
generated
vendored
|
|
@ -26,7 +26,7 @@ type noopTracerProvider struct{ embedded.TracerProvider }
|
|||
var _ TracerProvider = noopTracerProvider{}
|
||||
|
||||
// Tracer returns noop implementation of Tracer.
|
||||
func (p noopTracerProvider) Tracer(string, ...TracerOption) Tracer {
|
||||
func (noopTracerProvider) Tracer(string, ...TracerOption) Tracer {
|
||||
return noopTracer{}
|
||||
}
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ var _ Tracer = noopTracer{}
|
|||
|
||||
// Start carries forward a non-recording Span, if one is present in the context, otherwise it
|
||||
// creates a no-op Span.
|
||||
func (t noopTracer) Start(ctx context.Context, name string, _ ...SpanStartOption) (context.Context, Span) {
|
||||
func (noopTracer) Start(ctx context.Context, _ string, _ ...SpanStartOption) (context.Context, Span) {
|
||||
span := SpanFromContext(ctx)
|
||||
if _, ok := span.(nonRecordingSpan); !ok {
|
||||
// span is likely already a noopSpan, but let's be sure
|
||||
|
|
|
|||
2
vendor/go.opentelemetry.io/otel/trace/noop/noop.go
generated
vendored
2
vendor/go.opentelemetry.io/otel/trace/noop/noop.go
generated
vendored
|
|
@ -51,7 +51,7 @@ type Tracer struct{ embedded.Tracer }
|
|||
// If ctx contains a span context, the returned span will also contain that
|
||||
// span context. If the span context in ctx is for a non-recording span, that
|
||||
// span instance will be returned directly.
|
||||
func (t Tracer) Start(ctx context.Context, _ string, _ ...trace.SpanStartOption) (context.Context, trace.Span) {
|
||||
func (Tracer) Start(ctx context.Context, _ string, _ ...trace.SpanStartOption) (context.Context, trace.Span) {
|
||||
span := trace.SpanFromContext(ctx)
|
||||
|
||||
// If the parent context contains a non-zero span context, that span
|
||||
|
|
|
|||
156
vendor/go.opentelemetry.io/otel/trace/trace.go
generated
vendored
156
vendor/go.opentelemetry.io/otel/trace/trace.go
generated
vendored
|
|
@ -4,8 +4,6 @@
|
|||
package trace // import "go.opentelemetry.io/otel/trace"
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/hex"
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
|
|
@ -38,21 +36,47 @@ var (
|
|||
_ json.Marshaler = nilTraceID
|
||||
)
|
||||
|
||||
// IsValid checks whether the trace TraceID is valid. A valid trace ID does
|
||||
// IsValid reports whether the trace TraceID is valid. A valid trace ID does
|
||||
// not consist of zeros only.
|
||||
func (t TraceID) IsValid() bool {
|
||||
return !bytes.Equal(t[:], nilTraceID[:])
|
||||
return t != nilTraceID
|
||||
}
|
||||
|
||||
// MarshalJSON implements a custom marshal function to encode TraceID
|
||||
// as a hex string.
|
||||
func (t TraceID) MarshalJSON() ([]byte, error) {
|
||||
return json.Marshal(t.String())
|
||||
b := [32 + 2]byte{0: '"', 33: '"'}
|
||||
h := t.hexBytes()
|
||||
copy(b[1:], h[:])
|
||||
return b[:], nil
|
||||
}
|
||||
|
||||
// String returns the hex string representation form of a TraceID.
|
||||
func (t TraceID) String() string {
|
||||
return hex.EncodeToString(t[:])
|
||||
h := t.hexBytes()
|
||||
return string(h[:])
|
||||
}
|
||||
|
||||
// hexBytes returns the hex string representation form of a TraceID.
|
||||
func (t TraceID) hexBytes() [32]byte {
|
||||
return [32]byte{
|
||||
hexLU[t[0x0]>>4], hexLU[t[0x0]&0xf],
|
||||
hexLU[t[0x1]>>4], hexLU[t[0x1]&0xf],
|
||||
hexLU[t[0x2]>>4], hexLU[t[0x2]&0xf],
|
||||
hexLU[t[0x3]>>4], hexLU[t[0x3]&0xf],
|
||||
hexLU[t[0x4]>>4], hexLU[t[0x4]&0xf],
|
||||
hexLU[t[0x5]>>4], hexLU[t[0x5]&0xf],
|
||||
hexLU[t[0x6]>>4], hexLU[t[0x6]&0xf],
|
||||
hexLU[t[0x7]>>4], hexLU[t[0x7]&0xf],
|
||||
hexLU[t[0x8]>>4], hexLU[t[0x8]&0xf],
|
||||
hexLU[t[0x9]>>4], hexLU[t[0x9]&0xf],
|
||||
hexLU[t[0xa]>>4], hexLU[t[0xa]&0xf],
|
||||
hexLU[t[0xb]>>4], hexLU[t[0xb]&0xf],
|
||||
hexLU[t[0xc]>>4], hexLU[t[0xc]&0xf],
|
||||
hexLU[t[0xd]>>4], hexLU[t[0xd]&0xf],
|
||||
hexLU[t[0xe]>>4], hexLU[t[0xe]&0xf],
|
||||
hexLU[t[0xf]>>4], hexLU[t[0xf]&0xf],
|
||||
}
|
||||
}
|
||||
|
||||
// SpanID is a unique identity of a span in a trace.
|
||||
|
|
@ -63,21 +87,38 @@ var (
|
|||
_ json.Marshaler = nilSpanID
|
||||
)
|
||||
|
||||
// IsValid checks whether the SpanID is valid. A valid SpanID does not consist
|
||||
// IsValid reports whether the SpanID is valid. A valid SpanID does not consist
|
||||
// of zeros only.
|
||||
func (s SpanID) IsValid() bool {
|
||||
return !bytes.Equal(s[:], nilSpanID[:])
|
||||
return s != nilSpanID
|
||||
}
|
||||
|
||||
// MarshalJSON implements a custom marshal function to encode SpanID
|
||||
// as a hex string.
|
||||
func (s SpanID) MarshalJSON() ([]byte, error) {
|
||||
return json.Marshal(s.String())
|
||||
b := [16 + 2]byte{0: '"', 17: '"'}
|
||||
h := s.hexBytes()
|
||||
copy(b[1:], h[:])
|
||||
return b[:], nil
|
||||
}
|
||||
|
||||
// String returns the hex string representation form of a SpanID.
|
||||
func (s SpanID) String() string {
|
||||
return hex.EncodeToString(s[:])
|
||||
b := s.hexBytes()
|
||||
return string(b[:])
|
||||
}
|
||||
|
||||
func (s SpanID) hexBytes() [16]byte {
|
||||
return [16]byte{
|
||||
hexLU[s[0]>>4], hexLU[s[0]&0xf],
|
||||
hexLU[s[1]>>4], hexLU[s[1]&0xf],
|
||||
hexLU[s[2]>>4], hexLU[s[2]&0xf],
|
||||
hexLU[s[3]>>4], hexLU[s[3]&0xf],
|
||||
hexLU[s[4]>>4], hexLU[s[4]&0xf],
|
||||
hexLU[s[5]>>4], hexLU[s[5]&0xf],
|
||||
hexLU[s[6]>>4], hexLU[s[6]&0xf],
|
||||
hexLU[s[7]>>4], hexLU[s[7]&0xf],
|
||||
}
|
||||
}
|
||||
|
||||
// TraceIDFromHex returns a TraceID from a hex string if it is compliant with
|
||||
|
|
@ -85,65 +126,58 @@ func (s SpanID) String() string {
|
|||
// https://www.w3.org/TR/trace-context/#trace-id
|
||||
// nolint:revive // revive complains about stutter of `trace.TraceIDFromHex`.
|
||||
func TraceIDFromHex(h string) (TraceID, error) {
|
||||
t := TraceID{}
|
||||
if len(h) != 32 {
|
||||
return t, errInvalidTraceIDLength
|
||||
return [16]byte{}, errInvalidTraceIDLength
|
||||
}
|
||||
|
||||
if err := decodeHex(h, t[:]); err != nil {
|
||||
return t, err
|
||||
var b [16]byte
|
||||
invalidMark := byte(0)
|
||||
for i := 0; i < len(h); i += 4 {
|
||||
b[i/2] = (hexRev[h[i]] << 4) | hexRev[h[i+1]]
|
||||
b[i/2+1] = (hexRev[h[i+2]] << 4) | hexRev[h[i+3]]
|
||||
invalidMark |= hexRev[h[i]] | hexRev[h[i+1]] | hexRev[h[i+2]] | hexRev[h[i+3]]
|
||||
}
|
||||
|
||||
if !t.IsValid() {
|
||||
return t, errNilTraceID
|
||||
// If the upper 4 bits of any byte are not zero, there was an invalid hex
|
||||
// character since invalid hex characters are 0xff in hexRev.
|
||||
if invalidMark&0xf0 != 0 {
|
||||
return [16]byte{}, errInvalidHexID
|
||||
}
|
||||
return t, nil
|
||||
// If we didn't set any bits, then h was all zeros.
|
||||
if invalidMark == 0 {
|
||||
return [16]byte{}, errNilTraceID
|
||||
}
|
||||
return b, nil
|
||||
}
|
||||
|
||||
// SpanIDFromHex returns a SpanID from a hex string if it is compliant
|
||||
// with the w3c trace-context specification.
|
||||
// See more at https://www.w3.org/TR/trace-context/#parent-id
|
||||
func SpanIDFromHex(h string) (SpanID, error) {
|
||||
s := SpanID{}
|
||||
if len(h) != 16 {
|
||||
return s, errInvalidSpanIDLength
|
||||
return [8]byte{}, errInvalidSpanIDLength
|
||||
}
|
||||
|
||||
if err := decodeHex(h, s[:]); err != nil {
|
||||
return s, err
|
||||
var b [8]byte
|
||||
invalidMark := byte(0)
|
||||
for i := 0; i < len(h); i += 4 {
|
||||
b[i/2] = (hexRev[h[i]] << 4) | hexRev[h[i+1]]
|
||||
b[i/2+1] = (hexRev[h[i+2]] << 4) | hexRev[h[i+3]]
|
||||
invalidMark |= hexRev[h[i]] | hexRev[h[i+1]] | hexRev[h[i+2]] | hexRev[h[i+3]]
|
||||
}
|
||||
|
||||
if !s.IsValid() {
|
||||
return s, errNilSpanID
|
||||
// If the upper 4 bits of any byte are not zero, there was an invalid hex
|
||||
// character since invalid hex characters are 0xff in hexRev.
|
||||
if invalidMark&0xf0 != 0 {
|
||||
return [8]byte{}, errInvalidHexID
|
||||
}
|
||||
return s, nil
|
||||
}
|
||||
|
||||
func decodeHex(h string, b []byte) error {
|
||||
for _, r := range h {
|
||||
switch {
|
||||
case 'a' <= r && r <= 'f':
|
||||
continue
|
||||
case '0' <= r && r <= '9':
|
||||
continue
|
||||
default:
|
||||
return errInvalidHexID
|
||||
}
|
||||
// If we didn't set any bits, then h was all zeros.
|
||||
if invalidMark == 0 {
|
||||
return [8]byte{}, errNilSpanID
|
||||
}
|
||||
|
||||
decoded, err := hex.DecodeString(h)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
copy(b, decoded)
|
||||
return nil
|
||||
return b, nil
|
||||
}
|
||||
|
||||
// TraceFlags contains flags that can be set on a SpanContext.
|
||||
type TraceFlags byte //nolint:revive // revive complains about stutter of `trace.TraceFlags`.
|
||||
|
||||
// IsSampled returns if the sampling bit is set in the TraceFlags.
|
||||
// IsSampled reports whether the sampling bit is set in the TraceFlags.
|
||||
func (tf TraceFlags) IsSampled() bool {
|
||||
return tf&FlagsSampled == FlagsSampled
|
||||
}
|
||||
|
|
@ -160,12 +194,20 @@ func (tf TraceFlags) WithSampled(sampled bool) TraceFlags { // nolint:revive //
|
|||
// MarshalJSON implements a custom marshal function to encode TraceFlags
|
||||
// as a hex string.
|
||||
func (tf TraceFlags) MarshalJSON() ([]byte, error) {
|
||||
return json.Marshal(tf.String())
|
||||
b := [2 + 2]byte{0: '"', 3: '"'}
|
||||
h := tf.hexBytes()
|
||||
copy(b[1:], h[:])
|
||||
return b[:], nil
|
||||
}
|
||||
|
||||
// String returns the hex string representation form of TraceFlags.
|
||||
func (tf TraceFlags) String() string {
|
||||
return hex.EncodeToString([]byte{byte(tf)}[:])
|
||||
h := tf.hexBytes()
|
||||
return string(h[:])
|
||||
}
|
||||
|
||||
func (tf TraceFlags) hexBytes() [2]byte {
|
||||
return [2]byte{hexLU[tf>>4], hexLU[tf&0xf]}
|
||||
}
|
||||
|
||||
// SpanContextConfig contains mutable fields usable for constructing
|
||||
|
|
@ -201,13 +243,13 @@ type SpanContext struct {
|
|||
|
||||
var _ json.Marshaler = SpanContext{}
|
||||
|
||||
// IsValid returns if the SpanContext is valid. A valid span context has a
|
||||
// IsValid reports whether the SpanContext is valid. A valid span context has a
|
||||
// valid TraceID and SpanID.
|
||||
func (sc SpanContext) IsValid() bool {
|
||||
return sc.HasTraceID() && sc.HasSpanID()
|
||||
}
|
||||
|
||||
// IsRemote indicates whether the SpanContext represents a remotely-created Span.
|
||||
// IsRemote reports whether the SpanContext represents a remotely-created Span.
|
||||
func (sc SpanContext) IsRemote() bool {
|
||||
return sc.remote
|
||||
}
|
||||
|
|
@ -228,7 +270,7 @@ func (sc SpanContext) TraceID() TraceID {
|
|||
return sc.traceID
|
||||
}
|
||||
|
||||
// HasTraceID checks if the SpanContext has a valid TraceID.
|
||||
// HasTraceID reports whether the SpanContext has a valid TraceID.
|
||||
func (sc SpanContext) HasTraceID() bool {
|
||||
return sc.traceID.IsValid()
|
||||
}
|
||||
|
|
@ -249,7 +291,7 @@ func (sc SpanContext) SpanID() SpanID {
|
|||
return sc.spanID
|
||||
}
|
||||
|
||||
// HasSpanID checks if the SpanContext has a valid SpanID.
|
||||
// HasSpanID reports whether the SpanContext has a valid SpanID.
|
||||
func (sc SpanContext) HasSpanID() bool {
|
||||
return sc.spanID.IsValid()
|
||||
}
|
||||
|
|
@ -270,7 +312,7 @@ func (sc SpanContext) TraceFlags() TraceFlags {
|
|||
return sc.traceFlags
|
||||
}
|
||||
|
||||
// IsSampled returns if the sampling bit is set in the SpanContext's TraceFlags.
|
||||
// IsSampled reports whether the sampling bit is set in the SpanContext's TraceFlags.
|
||||
func (sc SpanContext) IsSampled() bool {
|
||||
return sc.traceFlags.IsSampled()
|
||||
}
|
||||
|
|
@ -302,7 +344,7 @@ func (sc SpanContext) WithTraceState(state TraceState) SpanContext {
|
|||
}
|
||||
}
|
||||
|
||||
// Equal is a predicate that determines whether two SpanContext values are equal.
|
||||
// Equal reports whether two SpanContext values are equal.
|
||||
func (sc SpanContext) Equal(other SpanContext) bool {
|
||||
return sc.traceID == other.traceID &&
|
||||
sc.spanID == other.spanID &&
|
||||
|
|
|
|||
6
vendor/go.opentelemetry.io/otel/trace/tracestate.go
generated
vendored
6
vendor/go.opentelemetry.io/otel/trace/tracestate.go
generated
vendored
|
|
@ -80,7 +80,7 @@ func checkKeyRemain(key string) bool {
|
|||
//
|
||||
// param n is remain part length, should be 255 in simple-key or 13 in system-id.
|
||||
func checkKeyPart(key string, n int) bool {
|
||||
if len(key) == 0 {
|
||||
if key == "" {
|
||||
return false
|
||||
}
|
||||
first := key[0] // key's first char
|
||||
|
|
@ -102,7 +102,7 @@ func isAlphaNum(c byte) bool {
|
|||
//
|
||||
// param n is remain part length, should be 240 exactly.
|
||||
func checkKeyTenant(key string, n int) bool {
|
||||
if len(key) == 0 {
|
||||
if key == "" {
|
||||
return false
|
||||
}
|
||||
return isAlphaNum(key[0]) && len(key[1:]) <= n && checkKeyRemain(key[1:])
|
||||
|
|
@ -191,7 +191,7 @@ func ParseTraceState(ts string) (TraceState, error) {
|
|||
for ts != "" {
|
||||
var memberStr string
|
||||
memberStr, ts, _ = strings.Cut(ts, listDelimiters)
|
||||
if len(memberStr) == 0 {
|
||||
if memberStr == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue