otelgo.opentelemetry.io/otel/sdk/resource Index | Files

package resource

import "go.opentelemetry.io/otel/sdk/resource"

Package resource provides functionality for resource, which capture identifying information about the entities for which signals are exported.

Index

Types

type Resource

type Resource struct {
	// contains filtered or unexported fields
}

Resource describes an entity about which identifying information and metadata is exposed. Resource is an immutable object, equivalent to a map from key to unique value.

Resources should be passed and stored as pointers (`*resource.Resource`). The `nil` value is equivalent to an empty Resource.

func Empty

func Empty() *Resource

Empty returns an instance of Resource with no attributes. It is equivalent to a `nil` Resource.

func Merge

func Merge(a, b *Resource) *Resource

Merge creates a new resource by combining resource a and b.

If there are common keys between resource a and b, then the value from resource a is preserved.

func New

func New(kvs ...kv.KeyValue) *Resource

Key creates a resource from a set of attributes. If there are duplicate keys present in the list of attributes, then the last value found for the key is preserved.

func (*Resource) Attributes

func (r *Resource) Attributes() []kv.KeyValue

Attributes returns a copy of attributes from the resource in a sorted order. To avoid allocating a new slice, use an iterator.

func (*Resource) Encoded

func (r *Resource) Encoded(enc label.Encoder) string

Encoded returns an encoded representation of the resource by applying a label encoder. The result is cached by the underlying label set.

func (*Resource) Equal

func (r *Resource) Equal(eq *Resource) bool

Equal returns true when a Resource is equivalent to this Resource.

func (*Resource) Equivalent

func (r *Resource) Equivalent() label.Distinct

Equivalent returns an object that can be compared for equality between two resources. This value is suitable for use as a key in a map.

func (*Resource) Iter

func (r *Resource) Iter() label.Iterator

Iter returns an interator of the Resource attributes. This is ideal to use if you do not want a copy of the attributes.

func (*Resource) LabelSet

func (r *Resource) LabelSet() *label.Set

LabelSet returns the equivalent *label.Set.

func (*Resource) Len

func (r *Resource) Len() int

Len returns the number of unique key-values in this Resource.

func (*Resource) MarshalJSON

func (r *Resource) MarshalJSON() ([]byte, error)

MarshalJSON encodes labels as a JSON list of { "Key": "...", "Value": ... } pairs in order sorted by key.

func (*Resource) String

func (r *Resource) String() string

String implements the Stringer interface and provides a human-readable form of the resource.

Avoid using this representation as the key in a map of resources, use Equivalent() as the key instead.

Source Files

resource.go

Version
v0.6.0
Published
May 21, 2020
Platform
linux/amd64
Imports
2 packages
Last checked
59 minutes ago

Tools for package owners.