eosnetworkfoundation / product

A workspace for product management primarily for planning purposes
2 stars 3 forks source link

Decoupled instrumentation feasibility #162

Open heifner opened 1 year ago

heifner commented 1 year ago

What part of the community is encountering a problem/challenge? Select all relevant options.

What is the problem/challenge? Related to #151 Moved over from https://github.com/AntelopeIO/leap/issues/1047

Research what it would take to support instrumentation like DeepMind without it being directly integrated in the leap codebase.

Goal:

The primary output of this spike should be either:

  1. a process flow diagram of Block/Transaction/Action processing that includes explicit "hook" points sufficient to supply the current Deep mind implementation all of its required information. OR
  2. a ratrional argument that such a process would be as or more invasive than the existing code base.

Additional Thoughts:

There are some existing natural lifecycle hooks that are not currently explicit in the code base but may be usefully made explicit. Such as:

As well as some concepts that could be abstracted. Such as:

There is a hope that with minor restructure of the core execution loop we can reduce the total number of "hooks" necessary to implement deep instrumentation.

This research spike can suggest such restructuring and is not limited to the existing code paths.

This is part of a larger initiative to investigate extracting libraries which could process transactions and/or blocks in service of both leap and another executable. This may include abstracting chain state storage and dependencies which will expose potential "hooks" etc.

bhazzard commented 1 year ago

The reasoning behind the desire to explore this remains intact. However, we will table this indefinitely to focus on other priorities.

When we revisit this, we plan to explore augmenting traces as a potential alternative approach.