mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-26 20:30:10 +01:00
37 lines
950 B
Go
37 lines
950 B
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package pcommon // import "go.opentelemetry.io/collector/pdata/pcommon"
|
|
import (
|
|
"encoding/hex"
|
|
|
|
"go.opentelemetry.io/collector/pdata/internal/data"
|
|
)
|
|
|
|
var emptySpanID = SpanID([8]byte{})
|
|
|
|
// SpanID is span identifier.
|
|
type SpanID [8]byte
|
|
|
|
// NewSpanIDEmpty returns a new empty (all zero bytes) SpanID.
|
|
func NewSpanIDEmpty() SpanID {
|
|
return emptySpanID
|
|
}
|
|
|
|
// String returns string representation of the SpanID.
|
|
//
|
|
// Important: Don't rely on this method to get a string identifier of SpanID,
|
|
// Use hex.EncodeToString explicitly instead.
|
|
// This method meant to implement Stringer interface for display purposes only.
|
|
func (ms SpanID) String() string {
|
|
if ms.IsEmpty() {
|
|
return ""
|
|
}
|
|
return hex.EncodeToString(ms[:])
|
|
}
|
|
|
|
// IsEmpty returns true if id doesn't contain at least one non-zero byte.
|
|
func (ms SpanID) IsEmpty() bool {
|
|
return data.SpanID(ms).IsEmpty()
|
|
}
|