Profiler: improve Opentelemetry traces for multiple nodes
What
Both !16040 (merged) and !16148 (merged) implement support for tracing operations and consistent tracing across workers. This MR adds the missing bits to witness operations between nodes.
Why
Without these simple changes, if multiple nodes are used they are undistinguishable.
How
The change is simple:
- When a node initializes the Opentelemetry profiler, it uses its peer id as a service name. As such, two nodes will automatically be distinguished in the trace.
- A node receiving an operation goes through the
Arrivedrequest, as such the MR add a trace on this specific request otherwise it will be undistinguishable.
Manually testing the MR
Testing is no different from !16040 (merged) but start two nodes instead of a single one, and witness the change:

As you can see, both nodes appear with a different name (and color) but still under the same trace. The second node receives an operation and the prevalidator traces it starting from the Arrived request.
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Pierrick Couderc