[go: up one dir, main page]

EVM Node: Add Opentelemetry tracing to Evm_state.execute function

Part of L2-2

What

This commit integrates OpenTelemetry tracing into the execute function found in etherlink/bin_node/lib_dev/evm_state.ml. The execute function is now wrapped with Octez_telemetry.Trace.with_tzresult, using "Evm_state" as the service name and "execute" as the span name for clear identification of the trace.

Why

The primary motivation for this change is to significantly enhance the observability of the EVM execution process within the Etherlink node. By adding tracing to this critical function, we can gain deeper insights into its performance characteristics, identify potential bottlenecks, and better understand the overall flow of EVM state computations. This will greatly aid in debugging and performance tuning efforts.

How

The tracing is implemented by adding a single line of code at the beginning of the execute function. The Octez_telemetry.Trace.with_tzresult call ensures that the entire execution duration of the function is captured as an OpenTelemetry span, providing structured telemetry data for analysis in distributed tracing systems.

Manually testing the MR

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.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by Thomas Letan

Merge request reports

Loading