canonical / canonical/operator

ops[logging]? enabling more telemetry for charms

Open
#2,438 8 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.