draw a handy dependancy graph#1233
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1233 +/- ##
=======================================
Coverage 19.36% 19.36%
=======================================
Files 164 164
Lines 10811 10811
=======================================
Hits 2094 2094
Misses 8717 8717
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
| Branch | 1233/merge |
| Testbed | sv1 |
⚠️ WARNING: The following Measures do not have a Threshold. Without a Threshold, no Alerts will ever be generated!Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the--ci-only-thresholdsCLI flag.
Click to view all benchmark results
| Benchmark | Estimated Cycles | estimated cycles | Instructions | instructions | L1 Accesses | accesses | L2 Accesses | accesses | RAM Accesses | accesses |
|---|---|---|---|---|---|---|---|---|---|---|
| get_authorize | 📈 view plot | 8,421.00 | 📈 view plot | 3,689.00 | 📈 view plot | 5,156.00 | 📈 view plot | 9.00 | 📈 view plot | 92.00 |
| get_submit | 📈 view plot | 95,491.00 | 📈 view plot | 59,346.00 | 📈 view plot | 85,216.00 | 📈 view plot | 46.00 | 📈 view plot | 287.00 |
| get_subscribe | 📈 view plot | 7,914.00 | 📈 view plot | 2,765.00 | 📈 view plot | 3,844.00 | 📈 view plot | 16.00 | 📈 view plot | 114.00 |
| serialize_authorize | 📈 view plot | 12,256.00 | 📈 view plot | 5,266.00 | 📈 view plot | 7,321.00 | 📈 view plot | 14.00 | 📈 view plot | 139.00 |
| serialize_deserialize_authorize | 📈 view plot | 24,436.00 | 📈 view plot | 9,838.00 | 📈 view plot | 13,881.00 | 📈 view plot | 39.00 | 📈 view plot | 296.00 |
| serialize_deserialize_handle_authorize | 📈 view plot | 30,118.00 | 📈 view plot | 12,015.00 | 📈 view plot | 16,998.00 | 📈 view plot | 62.00 | 📈 view plot | 366.00 |
| serialize_deserialize_handle_submit | 📈 view plot | 126,419.00 | 📈 view plot | 73,200.00 | 📈 view plot | 104,909.00 | 📈 view plot | 109.00 | 📈 view plot | 599.00 |
| serialize_deserialize_handle_subscribe | 📈 view plot | 27,494.00 | 📈 view plot | 9,584.00 | 📈 view plot | 13,544.00 | 📈 view plot | 67.00 | 📈 view plot | 389.00 |
| serialize_deserialize_submit | 📈 view plot | 115,167.00 | 📈 view plot | 68,060.00 | 📈 view plot | 97,652.00 | 📈 view plot | 66.00 | 📈 view plot | 491.00 |
| serialize_deserialize_subscribe | 📈 view plot | 22,934.00 | 📈 view plot | 8,143.00 | 📈 view plot | 11,459.00 | 📈 view plot | 41.00 | 📈 view plot | 322.00 |
| serialize_submit | 📈 view plot | 99,880.00 | 📈 view plot | 61,408.00 | 📈 view plot | 88,075.00 | 📈 view plot | 51.00 | 📈 view plot | 330.00 |
| serialize_subscribe | 📈 view plot | 11,363.00 | 📈 view plot | 4,118.00 | 📈 view plot | 5,703.00 | 📈 view plot | 19.00 | 📈 view plot | 159.00 |
|
| Branch | 1233/merge |
| Testbed | sv2 |
⚠️ WARNING: The following Measure does not have a Threshold. Without a Threshold, no Alerts will ever be generated!Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the--ci-only-thresholdsCLI flag.
Click to view all benchmark results
| Benchmark | Latency | nanoseconds (ns) |
|---|---|---|
| client_sv2_handle_message_common | 📈 view plot | 45.20 |
| client_sv2_handle_message_mining | 📈 view plot | 72.70 |
| client_sv2_mining_message_submit_standard | 📈 view plot | 14.66 |
| client_sv2_mining_message_submit_standard_serialize | 📈 view plot | 260.78 |
| client_sv2_mining_message_submit_standard_serialize_deserialize | 📈 view plot | 586.47 |
| client_sv2_open_channel | 📈 view plot | 146.53 |
| client_sv2_open_channel_serialize | 📈 view plot | 283.50 |
| client_sv2_open_channel_serialize_deserialize | 📈 view plot | 370.05 |
| client_sv2_setup_connection | 📈 view plot | 162.80 |
| client_sv2_setup_connection_serialize | 📈 view plot | 496.39 |
| client_sv2_setup_connection_serialize_deserialize | 📈 view plot | 953.20 |
|
| Branch | 1233/merge |
| Testbed | sv2 |
⚠️ WARNING: The following Measures do not have a Threshold. Without a Threshold, no Alerts will ever be generated!Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the--ci-only-thresholdsCLI flag.
Click to view all benchmark results
| Benchmark | Estimated Cycles | estimated cycles | Instructions | instructions | L1 Accesses | accesses | L2 Accesses | accesses | RAM Accesses | accesses |
|---|---|---|---|---|---|---|---|---|---|---|
| client_sv2_handle_message_common | 📈 view plot | 2,095.00 | 📈 view plot | 473.00 | 📈 view plot | 735.00 | 📈 view plot | 6.00 | 📈 view plot | 38.00 |
| client_sv2_handle_message_mining | 📈 view plot | 8,208.00 | 📈 view plot | 2,137.00 | 📈 view plot | 3,158.00 | 📈 view plot | 37.00 | 📈 view plot | 139.00 |
| client_sv2_mining_message_submit_standard | 📈 view plot | 6,297.00 | 📈 view plot | 1,750.00 | 📈 view plot | 2,547.00 | 📈 view plot | 22.00 | 📈 view plot | 104.00 |
| client_sv2_mining_message_submit_standard_serialize | 📈 view plot | 14,648.00 | 📈 view plot | 4,694.00 | 📈 view plot | 6,758.00 | 📈 view plot | 45.00 | 📈 view plot | 219.00 |
| client_sv2_mining_message_submit_standard_serialize_deserialize | 📈 view plot | 27,472.00 | 📈 view plot | 10,585.00 | 📈 view plot | 15,402.00 | 📈 view plot | 83.00 | 📈 view plot | 333.00 |
| client_sv2_open_channel | 📈 view plot | 4,333.00 | 📈 view plot | 1,461.00 | 📈 view plot | 2,163.00 | 📈 view plot | 7.00 | 📈 view plot | 61.00 |
| client_sv2_open_channel_serialize | 📈 view plot | 13,940.00 | 📈 view plot | 5,064.00 | 📈 view plot | 7,330.00 | 📈 view plot | 34.00 | 📈 view plot | 184.00 |
| client_sv2_open_channel_serialize_deserialize | 📈 view plot | 22,575.00 | 📈 view plot | 8,027.00 | 📈 view plot | 11,675.00 | 📈 view plot | 80.00 | 📈 view plot | 300.00 |
| client_sv2_setup_connection | 📈 view plot | 4,669.00 | 📈 view plot | 1,502.00 | 📈 view plot | 2,279.00 | 📈 view plot | 9.00 | 📈 view plot | 67.00 |
| client_sv2_setup_connection_serialize | 📈 view plot | 16,098.00 | 📈 view plot | 5,963.00 | 📈 view plot | 8,668.00 | 📈 view plot | 37.00 | 📈 view plot | 207.00 |
| client_sv2_setup_connection_serialize_deserialize | 📈 view plot | 35,454.00 | 📈 view plot | 14,855.00 | 📈 view plot | 21,824.00 | 📈 view plot | 94.00 | 📈 view plot | 376.00 |
|
Thanks for working on this. |
It draws a dependencies graph with features propagation, for better understanding of the relations between crates : https://github.com/GPTechinno/stratum/blob/dep-graph/protocols/DEPENDENCIES.md |
|
@rrybarczyk, in this context, the dependency curve considers the individual flavors of our crates. For someone new to our protocol crates, they might appear as separate entities. For example, the |
nack since we are going to drop the one with serde eventually |
Does it make sense to have this dependency graph after we complete the refactor? |
|
Moving this PR to draft status, as it makes sense to have a final graph after protocols crates refactoring. |
|
@Georges760 Any plans to update this PR with new repo structure? |
I would have to study the changes since my first shot. But why not ! Is the architecture stabilized now ? |
No drastic changes in future comes to my mind, atleast regarding the dependencies. |
|
I splitted it into 3 levels for clarity. Wonder if removing the external crates wil make it even cleaner without removing usefull info... |
Levels make sense. Regarding the external crates, that’s fine, since people might be interested in understanding how our protocol crates depend on external ones. One suggestion: maybe we could represent dev dependencies using a different edge type. Everything else looks great! |
currently dev-deps are not represented at all, i fear it will bloat the graphs without real value added. |
to better undersatnding of the current protocol/v2/dependancies