File: metrics.go

package info (click to toggle)
golang-opentelemetry-otel 1.31.0-5
  • links: PTS, VCS
  • area: main
  • in suites: experimental, forky, sid
  • size: 11,844 kB
  • sloc: makefile: 237; sh: 51
file content (41 lines) | stat: -rw-r--r-- 1,757 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package ast // import "go.opentelemetry.io/otel/schema/v1.1/ast"

import (
	ast10 "go.opentelemetry.io/otel/schema/v1.0/ast"
	types10 "go.opentelemetry.io/otel/schema/v1.0/types"
	types11 "go.opentelemetry.io/otel/schema/v1.1/types"
)

// Metrics corresponds to a section representing a list of changes that happened
// to metrics schema in a particular version.
type Metrics struct {
	Changes []MetricsChange
}

// MetricsChange corresponds to a section representing metrics change.
type MetricsChange struct {
	RenameMetrics    map[types10.MetricName]types10.MetricName `yaml:"rename_metrics"`
	RenameAttributes *ast10.AttributeMapForMetrics             `yaml:"rename_attributes"`
	Split            *SplitMetric                              `yaml:"split"`
}

// SplitMetric  corresponds to a section representing a splitting of a metric
// into multiple metrics by eliminating an attribute.
// SplitMetrics is introduced in schema file format 1.1,
// see https://github.com/open-telemetry/opentelemetry-specification/pull/2653
type SplitMetric struct {
	// Name of the old metric to split.
	ApplyToMetric types10.MetricName `yaml:"apply_to_metric"`

	// Name of attribute in the old metric to use for splitting. The attribute will be
	// eliminated, the new metric will not have it.
	ByAttribute types11.AttributeName `yaml:"by_attribute"`

	// Names of new metrics to create, one for each possible value of attribute.
	// map of key/values. The keys are the new metric name starting from this version,
	// the values are old attribute value used in the previous version.
	MetricsFromAttributes map[types10.MetricName]types11.AttributeValue `yaml:"metrics_from_attributes"`
}