Telemetry Query Language Contexts
The Telemetry Query Language uses Contexts to bridge the gap between a Path and an underlying data model.
A Context must provide a struct that implements tql.TransformContext
. A context must also define a PathExpressionParser
and a EnumParser
.
A Context's PathExpressionParser
is what the TQL will use to interpret a Path. For the data model being represented, it should be able to handle any incoming path and return a GetSetter
that will be able to accurately interact with the path's corresponding field. It should return an error if the Path is not known. The GetSetter
functions will use the Context's implementation of tql.TransformContext
to interact with the correct item(s) during processing.
A Context's EnumParser
is what the TQL will use to interpret an Enum Symbol. For the data model being represented, it should be able to handle any incoming Enum Symbol and return the appropriate Enum value. It should return an error if the Enum Symbol is not known.
Context implementations for Traces, Metrics, and Logs are provided by this module. It is recommended to use these contexts when using the TQL to interact with OpenTelemetry traces, metrics, and logs.