-
Notifications
You must be signed in to change notification settings - Fork 13
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
[iota-analytics-indexer] Add README.md #4470
Conversation
c6b09cf
to
687df7d
Compare
687df7d
to
9e109b0
Compare
Had a first quick read:
|
- Added more info about SnowFlake and BigQuery - Expanded a bit the comparison with iota-indexer - Added more info about schemas for exported data
@kodemartin Pushed changes that are addressing those remarks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good @tomxey ! Left a few optional suggestions.
Also note that the diagram does not look very clear on dark mode (there are some hatch lines overlapping with text for example).
|
||
Those metrics are computed by a separate analytical worker instance of the indexer, but it uses the main DB as the main indexer instance. | ||
|
||
It seems that some of the values stored in main indexer tables by iota-indexer's `fullnode_sync_worker` are only stored there for analytical purposes (move calls, tx recipients) and could potentially be not processed/stored if not for analytical reasons. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Phrasing
It seems that some of the values stored in main indexer tables by iota-indexer's `fullnode_sync_worker` are only stored there for analytical purposes (move calls, tx recipients) and could potentially be not processed/stored if not for analytical reasons. | |
It seems that some of the values stored in main indexer tables by iota-indexer's `fullnode_sync_worker` are only stored there for analytical purposes (move calls, tx recipients) and could potentially be excluded from further processing if it were not for analytical reasons. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
|
||
The `iota-analytics-indexer` is not computing any analytical metrics directly. | ||
It is only exporting data for further processing via external tools (BigQuery/SnowFlake). | ||
Functionality from `iota-indexer` that is not required to serve user JSON RPC/GraphQL requests could potentially be moved away from `iota-indexer` and served by some other tool based on data exported by the `iota-analytics-indexer`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Phrasing (if I get it right)
Functionality from `iota-indexer` that is not required to serve user JSON RPC/GraphQL requests could potentially be moved away from `iota-indexer` and served by some other tool based on data exported by the `iota-analytics-indexer`. | |
On this premise, the functionality in `iota-indexer` that is currently used for extracting analytics (and thus unrelated to the JSON-RPC/GraphQL service) could be moved out and delegated to another tool that processes data exported by `iota-analytics-indexer`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
The `iota-analytics-indexer` is not computing any analytical metrics directly. | ||
It is only exporting data for further processing via external tools (BigQuery/SnowFlake). | ||
Functionality from `iota-indexer` that is not required to serve user JSON RPC/GraphQL requests could potentially be moved away from `iota-indexer` and served by some other tool based on data exported by the `iota-analytics-indexer`. | ||
The sync logic in `iota-indexer` could be simplified a bit then to store only data that is needed to serve user requests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit:
The sync logic in `iota-indexer` could be simplified a bit then to store only data that is needed to serve user requests. | |
Then the sync logic in `iota-indexer` could be simplified as well to store only data that is needed for the purposes of the RPC APIs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
- TRANSACTION | ||
|
||
|
||
> Note: The following rust structs currently do not have DB schemas prepared: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: For further emphasis (see also GH alerts)
> Note: The following rust structs currently do not have DB schemas prepared: | |
> [!NOTE] | |
> The following rust structs currently do not have DB schemas prepared: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the tip. Done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM ✨
@kodemartin Changed styling of the diagram. Now it should be readable both in dark and light modes. |
* Add README.md * Fixing review remarks: - Added more info about SnowFlake and BigQuery - Expanded a bit the comparison with iota-indexer - Added more info about schemas for exported data * Fix review remarks about README contents * Applied automatic dprint format * Use standard mermaid diagram theme * Style diagram to look better in both dark and light modes
Description of change
Add README.md for iota-analytics-indexer
Links to any relevant issues
#3976
Type of change
Choose a type of change, and delete any options that are not relevant.
How the change has been tested
N.A.
Change checklist
Tick the boxes that are relevant to your changes, and delete any items that are not.