cacti icon indicating copy to clipboard operation
cacti copied to clipboard

feat(satp-hermes): improve session tracing

Open RafaelAPB opened this issue 4 months ago • 4 comments

Is your feature request related to a problem? Please describe. As an operator, I want to have explicit separation between the following traces:

  1. One initial trace at startup time. This trace has the gateway initialization logic (and all submodules)
  2. One trace per session, entrypoint API1. Each trace should be independent and not be polluted by the trace in 1.
  3. 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.

RafaelAPB avatar Oct 06 '25 16:10 RafaelAPB

@JJSantos22 could you provide an update for this issue?

RafaelAPB avatar Oct 18 '25 17:10 RafaelAPB

@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.

JJSantos22 avatar Oct 21 '25 14:10 JJSantos22

@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.

Image

JJSantos22 avatar Oct 26 '25 10:10 JJSantos22

some nitpicks @JJSantos22 :

  1. please change the service to "satp-hermes-gateway";
  2. one trace for the startup of the gateway is enough (you may merge the traces startup with constructor).
  3. please change name of the tracing entrypoint from BLODispatcher#X to API1#API_ENDPOINT_NAME, for readibility

RafaelAPB avatar Oct 27 '25 00:10 RafaelAPB