Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decoupled instrumentation feasibility #162

Open
1 of 5 tasks
heifner opened this issue May 9, 2023 · 1 comment · May be fixed by #156
Open
1 of 5 tasks

Decoupled instrumentation feasibility #162

heifner opened this issue May 9, 2023 · 1 comment · May be fixed by #156

Comments

@heifner
Copy link
Member

heifner commented May 9, 2023

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

  • Block producers
  • Exchanges
  • Developers
  • Token holders
  • Other (if selected, please specify below)

What is the problem/challenge?
Related to #151
Moved over from AntelopeIO/leap#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:

  • begin/end block
  • begin/end transaction
  • begin/end action
  • verify/reject authorization

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

  • write to "chain state"
  • read from "chain state"
  • write to console

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
Copy link
Collaborator

bhazzard commented Jun 7, 2023

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.

@bhazzard bhazzard added this to the Some Day... Maybe milestone Jun 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants