helium / blockchain-core

Apache License 2.0
213 stars 85 forks source link

telemetry events around block and txn process #1374

Closed jeffgrunewald closed 2 years ago

jeffgrunewald commented 2 years ago

Introduce additional instrumentation metrics into the blockchain core library related to transaction validation and block absorption, state channel opening and closing, snapshot generation and loading, and the transaction manager process's cache size and processing times

xandkar commented 2 years ago

Not necessarily this time, but later it would be nice to abstract most of these telemetry calls. The duration one could also be wrapped in a macro which automatically inserts current module and function names. Maybe something like:

-define(APPLY_TIMED(F)
    blockchain_metrics:apply_timed(F, ?MODULE, ?FUNCTION_NAME)
).

blockchain_metrics:apply_timed would manage the starting and subtracting time dance.

and, blockchain_metrics could probably encapsulate handling the cause of the annoying flood of warning messages during unit test runs.