Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable service graph processor #77

Merged
merged 7 commits into from
Dec 13, 2024
Merged

Enable service graph processor #77

merged 7 commits into from
Dec 13, 2024

Conversation

PietroPasotti
Copy link
Contributor

it works

image

but the loki/prom datasource UIDs are hardcoded in the coordinator charm.

Reason for that is ATM we have no way to determine the datasource UIDs for 'other' datsources than ourselves.
We likely need a new relation interface or a clever solution.

@PietroPasotti
Copy link
Contributor Author

TODO:

  • add a 'datasource_uid' field for grafana to tell the datasource provider what its DS UID is
  • add the "datasource_uid" field to the remote_write interface so that prometheus/mimir can forward to Tempo "here's my DS UID" - add the "datasource_uid" field to the loki_push_api interface so that loki can forward to Tempo "here's my DS UID"
  • add the "datasource_uid" field to the tracing interface so that tempo can forward to whoever needs it in the future "here's my DS UID"

@PietroPasotti
Copy link
Contributor Author

PietroPasotti commented Nov 21, 2024

update: we're propagating the datasource UIDs to the sources themselves as planned, but instead of sending the uids through remote_write and loki_push_api, we're adding a new grafana_source_correlate interface that we can use to relate loki and prom to tempo (and in the future if needed, loki and prom to one another.

@michaeldmitry
Copy link
Contributor

michaeldmitry commented Dec 11, 2024

Testing Instructions

  1. deploy Tempo HA
  2. deploy grafana-k8s
  3. deploy prometheus-k8s
  4. juju integrate tempo grafana:grafana-source
  5. juju integrate prometheus grafana:grafana-source
  6. juju integrate tempo prometheus:receive-remote-write
  7. juju integrate tempo prometheus:send-datasource
  8. login to grafana UI
  9. go to sources -> Tempo -> service graphs, you should see the service graph enabled and at least 2 nodes shown in the graph

TODO

@michaeldmitry michaeldmitry changed the title [WIP] draft service graph processor Enable service graph processor Dec 11, 2024
Copy link
Contributor Author

@PietroPasotti PietroPasotti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's looking good, a little bit of polishing here and there and then it's good to go

src/charm.py Outdated Show resolved Hide resolved
src/charm.py Show resolved Hide resolved
src/charm.py Outdated Show resolved Hide resolved
src/charm.py Outdated Show resolved Hide resolved
src/charm.py Outdated Show resolved Hide resolved
src/charm.py Outdated Show resolved Hide resolved
src/charm.py Show resolved Hide resolved
src/charm.py Outdated Show resolved Hide resolved
tests/scenario/test_datasources.py Outdated Show resolved Hide resolved
tests/scenario/test_datasources.py Outdated Show resolved Hide resolved
@PietroPasotti
Copy link
Contributor Author

@michaeldmitry FYI I can't approve it because I'm the owner of the PR technically

@michaeldmitry michaeldmitry merged commit 994d813 into main Dec 13, 2024
14 checks passed
@michaeldmitry michaeldmitry deleted the enable-service-graph branch December 13, 2024 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants