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

Handle correlation IDs #96

Closed
callumforrester opened this issue Feb 17, 2023 · 9 comments
Closed

Handle correlation IDs #96

callumforrester opened this issue Feb 17, 2023 · 9 comments
Labels
enhancement New feature or request rest api Potential REST API changes

Comments

@callumforrester
Copy link
Contributor

Requests may come in with correlation IDs. If they do not, we should generate them.

@callumforrester callumforrester added the enhancement New feature or request label Feb 20, 2023
@callumforrester callumforrester added this to the Logging milestone Feb 24, 2023
@keithralphs keithralphs added the rest api Potential REST API changes label May 15, 2023
@callumforrester
Copy link
Contributor Author

@keithralphs or @DiamondJoseph is this issue still relevant or is there a telemetry issue to supersede it?

@keithralphs
Copy link
Contributor

I think the telemetry stuff will encompass this, though there may be some nuance as to how exactly we want to do it, so I would keep this here for now until we've fully worked that out. My plan is to get Joe to apply Otel to his newly subprocessed BlueAPI so we'll prorbably address it then.

@callumforrester callumforrester removed this from the Logging milestone Apr 26, 2024
@stan-dot
Copy link
Contributor

what is the further use of this correlation? the term implies some other related data structure but it is not clear what that is

@DiamondJoseph
Copy link
Contributor

https://playbook.microsoft.com/code-with-engineering/observability/correlation-id/

This should be injected automatically at the gateway to the services, propagate through all involved services and be part of standard logging. The observability platform will use it for metrics, but also of use for trouble shooting.

@stan-dot
Copy link
Contributor

stan-dot commented May 20, 2024

Isn't it better if we just always add it ourselves, at the first injection - such as the first blueapi request?

why would we ever rely on the user to generate them? @callumforrester

I think we get this for free with using pydantic models

@DiamondJoseph
Copy link
Contributor

"the gateway to the services" is "us" and is the entrypoint to the system for a user request.

@DiamondJoseph
Copy link
Contributor

Ah see what you mean.

Requests may come in with correlation IDs. If they do not, we should generate them.

Requests will eventually come from a service gateway that will inject the correlation id, which should then be propagated through outward requests/emitted documents. For now, since the gateway is still being created, if the request has one (e.g. it's been generated in GDA to trace/debug requests from that client) we propagate it, else we create it.

@stan-dot
Copy link
Contributor

"the gateway to the services" is "us"
there is no 'us' in the system diagram

there is blueapi, keycloak, runengine, idk

@callumforrester
Copy link
Contributor Author

Now done by @keithralphs tracing changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request rest api Potential REST API changes
Projects
None yet
Development

No branches or pull requests

4 participants