mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2024-12-12 10:04:29 +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.
34 lines
1010 B
Markdown
34 lines
1010 B
Markdown
# Telemetry Schema Files
|
|
|
|
The `schema` module contains packages that help to parse and validate
|
|
[schema files](https://github.com/open-telemetry/oteps/blob/main/text/0152-telemetry-schemas.md).
|
|
|
|
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:
|
|
|
|
```go
|
|
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.
|
|
}
|
|
```
|