-
Notifications
You must be signed in to change notification settings - Fork 111
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
Add a metrics label for HTTP "Referer" header or the full Request URL #669
Comments
Thanks @DimitriosNaikopoulos, this is a really good idea. I have couple of thoughts and questions.
|
Hey @grcevski 👋
|
OK, great. There's a PR open for adding docs for the new feature #675. This is only with the main branch for now, but hopefully we'll make a release soon. |
|
Hey all 👋
Feature / Idea
Could we have the HTTP "Referer" header or the full Request URL (including both the DNS and the path) as a label in the metrics that Beyla exports?
I was thinking if this information was available (even as raw information) we could have our own transformation rule in Prometheus to only keep the parts that we want. Then we could just keep the DNS so we can identify which internal service name or even external DNS the request used to access a specific service.
This could be hidden behind a feature flag since not everyone may want this functionality especially because this could significantly increase metric cardinality in Prometheus.
This feature could be refined even further if we do not want the whole Request URL but just the DNS since there are already labels that can report the request
path
Example
We have a request in a k8s cluster from
serviceA
innamespaceA
toserviceB
innamespaceB
. The request URL of such a request will look something likeserviceB.namespaceB:1234/path/to/action
. Since the request was initiated fromserviceA
Beyla already decorates the metrics with the appropriate k8s labels for that server request. By also having a label with information like the previous URL (or even only the DNS) we could create graphs that show information about service-to-service communications and not just general incoming/outgoing graphs for a single service with no ability to check if outgoing request toserviceB
is what is causing latency issues.This ticket is inspired by metrics generated from different service mesh that include information about the destination and source service as labels for the Prometheus metrics
The text was updated successfully, but these errors were encountered: