mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-01-26 03:52:03 +02:00
1eae91b3b0
This is a new transformation type that allows to describe a change where a metric is converted to several other metrics by eliminating an attribute. An example of such change that happened recently is this: https://github.com/open-telemetry/opentelemetry-specification/pull/2617 This PR implements specification change https://github.com/open-telemetry/opentelemetry-specification/pull/2653 This PR creates package v1.1 for the new functionality. The old package v1.0 remains unchanged.
Telemetry Schema Files
The schema
module contains packages that help to parse and validate
schema files.
Each major.minor
schema file format version is implemented as a separate package, with
the name of the package in the vmajor.minor
form.
To parse a schema file, first decide what file format version you want to parse,
then import the corresponding package and use the Parse
or ParseFile
functions
like this:
import schema "go.opentelemetry.io/otel/schema/v1.1"
// Load the schema from a file in v1.1.x file format.
func loadSchemaFromFile() error {
telSchema, err := schema.ParseFile("schema-file.yaml")
if err != nil {
return err
}
// Use telSchema struct here.
}
// Alternatively use schema.Parse to read the schema file from io.Reader.
func loadSchemaFromReader(r io.Reader) error {
telSchema, err := schema.Parse(r)
if err != nil {
return err
}
// Use telSchema struct here.
}