| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- // Copyright The OpenTelemetry Authors
- // SPDX-License-Identifier: Apache-2.0
- package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
- // Attr is a key-value pair.
- type Attr struct {
- Key string `json:"key,omitempty"`
- Value Value `json:"value,omitempty"`
- }
- // String returns an Attr for a string value.
- func String(key, value string) Attr {
- return Attr{key, StringValue(value)}
- }
- // Int64 returns an Attr for an int64 value.
- func Int64(key string, value int64) Attr {
- return Attr{key, Int64Value(value)}
- }
- // Int returns an Attr for an int value.
- func Int(key string, value int) Attr {
- return Int64(key, int64(value))
- }
- // Float64 returns an Attr for a float64 value.
- func Float64(key string, value float64) Attr {
- return Attr{key, Float64Value(value)}
- }
- // Bool returns an Attr for a bool value.
- func Bool(key string, value bool) Attr {
- return Attr{key, BoolValue(value)}
- }
- // Bytes returns an Attr for a []byte value.
- // The passed slice must not be changed after it is passed.
- func Bytes(key string, value []byte) Attr {
- return Attr{key, BytesValue(value)}
- }
- // Slice returns an Attr for a []Value value.
- // The passed slice must not be changed after it is passed.
- func Slice(key string, value ...Value) Attr {
- return Attr{key, SliceValue(value...)}
- }
- // Map returns an Attr for a map value.
- // The passed slice must not be changed after it is passed.
- func Map(key string, value ...Attr) Attr {
- return Attr{key, MapValue(value...)}
- }
- // Equal returns if a is equal to b.
- func (a Attr) Equal(b Attr) bool {
- return a.Key == b.Key && a.Value.Equal(b.Value)
- }
|