mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-21 07:56:26 +01:00
38 lines
970 B
Go
38 lines
970 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 emptyTraceID = TraceID([16]byte{})
|
|
|
|
// TraceID is a trace identifier.
|
|
type TraceID [16]byte
|
|
|
|
// NewTraceIDEmpty returns a new empty (all zero bytes) TraceID.
|
|
func NewTraceIDEmpty() TraceID {
|
|
return emptyTraceID
|
|
}
|
|
|
|
// String returns string representation of the TraceID.
|
|
//
|
|
// Important: Don't rely on this method to get a string identifier of TraceID.
|
|
// Use hex.EncodeToString explicitly instead.
|
|
// This method meant to implement Stringer interface for display purposes only.
|
|
func (ms TraceID) 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 TraceID) IsEmpty() bool {
|
|
return data.TraceID(ms).IsEmpty()
|
|
}
|