otlp: Changelog¶
All notable changes to the charmlibs.interfaces.otlp library will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.0]¶
Added¶
Initial release of charmlibs.interfaces.otlp
OtlpRequirerfor consuming OTLP endpoints from a provider relationOtlpProviderfor publishing OTLP endpoints to requirer relationsOtlpEndpointpydantic model representing a single OTLP endpoint (protocol, URL, telemetries); used to communicate the required information for a server offering an OTLP API endpointSupport for filtering endpoints by protocol (
http,grpc) and telemetry type (logs,metrics,traces)gRPCis favoured overHTTPwhen multiple endpoints are availableSupport for publishing LogQL and PromQL rules via
OtlpRequirer.publish()LZMA+base64 compression of rules in the requirer databag to avoid Juju databag size limits
OtlpProvider.rules()for fetching rules from all requirer relations with injected Juju topology and validationGeneric aggregator rules automatically included in every requirer’s published rule set
Python 3.10+ compatibility
[0.2.0]¶
Updated¶
Replace the requirer’s rule path interface with an interface accepting an object containing rules
Generic PromQL alert rules for requirer charms that are of the aggregator or application type
[0.3.0]¶
Added¶
Added an
insecurefield to the OtlpEndpoint(s) in the databag to communicate TLS, required for some gRPC applications
[0.4.0]¶
Updated¶
OtlpProvider.rulesnow returns a mapping of relation ID to a RuleStore object
[0.5.0]¶
Updated¶
Separated the package into 2 private modules: _otlp and _rules
Enable user-defined rule labels