feat(satp-hermes): improve session tracing
Is your feature request related to a problem? Please describe. As an operator, I want to have explicit separation between the following traces:
- One initial trace at startup time. This trace has the gateway initialization logic (and all submodules)
- One trace per session, entrypoint API1. Each trace should be independent and not be polluted by the trace in 1.
- Configuration traces: for admin endpoints, we should have separate traces that provide accountability for operators changing configs/calling admin endpoints during runtime
Furthermore, it is part of this ticket to create a ticket ID, for each request, that aims to be returned as part of an error message. For each trace/request, a ticket ID should be generated (uuid) and crossed with a trace ID. This can be done by doing one log entry with both the ticket id and trace id. Upon an error, a user may give the error id to the operator, and the trace id correlated, so that the error is later inspected.
@JJSantos22 could you provide an update for this issue?
@JJSantos22 could you provide an update for this issue?
Currently investigating and planning how to obtain the 3 different traces at the same time without mixing them.
@RafaelAPB Besides these 3 traces, is there any need for the rest of the other traces already implemented, or are they just polluting the existing database? For example, by running a transaction from the monitoring test, we have a root trace defined for the SATPGateway constructor method, but it can be removed if deemed not necessary.
some nitpicks @JJSantos22 :
- please change the service to "satp-hermes-gateway";
- one trace for the startup of the gateway is enough (you may merge the traces startup with constructor).
- please change name of the tracing entrypoint from BLODispatcher#X to API1#API_ENDPOINT_NAME, for readibility