canonical / canonical/operator
ops[logging]? enabling more telemetry for charms
- Dominant language
- Python
- Stars
- 267
- Forks
- 136
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 28
Description
Hi there!
We have a [little-used but useful](https://github.com/canonical/loki-k8s-operator/blob/main/lib/charms/loki_k8s/v0/charm_logging.py) tiny charm lib that accomplishes a very similar task to what used to be `charm_tracing`, now `ops[tracing]`.
The time has come to think about v2 for that lib, and we're thinking we could go two ways with it:
- make it a charmtech-charmlib
- make it into `ops[logging]`
The API surface is tiny (it basically is a python logging module exporter with a few labels injected on top, and utils for hooking it up with a loki-push-api endpoint). We could truly go either way but I think it'd make more sense to keep all 'charm telemetry' concerns close together in ops.
A separate, equally important conversation we should have is: is this a stopgap solution until the juju controller grows its own tracing/logging/profiling(we don't have a `charm_profiling` lib yet but I've been thinking about it!) exporters and capability to gather charm telemetry from the units? (which we might not be too far from!)
Why this matters: juju model owners might not coincide with controller-model-owners, so maybe we still need to offer model admins the possibility to choose where to send their charm telemetry instead of just sending everything to the controller.
Contributor guide
Assessment
This issue has not been assessed yet.