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

Etcd observability #1884

Merged
merged 3 commits into from
Mar 12, 2025
Merged

Etcd observability #1884

merged 3 commits into from
Mar 12, 2025

Conversation

ch1bo
Copy link
Member

@ch1bo ch1bo commented Mar 10, 2025

A few first changes to help debugging connectivity issues we saw in course of #1879.

Note that changing the msg key is not a (major) breaking change as watching is done using the msg prefix and the port parsing in matchVersion is defensively done. The version check is bound to change anyways now (not do it on each message!)


  • CHANGELOG update not needed
  • Documentation update not needed
  • Haddocks updated
  • No new TODOs introduced

@ch1bo ch1bo requested a review from a team March 10, 2025 14:34
Copy link

github-actions bot commented Mar 10, 2025

Transaction cost differences

Script summary

Name Size (Bytes)
νInitial -
νCommit -
νHead -
μHead -
νDeposit -

Init transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
40 - - - -

Commit transaction costs

UTxO Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
54 - - - -

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 - - - - -
2 - - - - -
3 - - - - -
4 - - - - -
5 - - - - -
6 - - - - -
7 - - - - -
8 - - - - -

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - +0.39 +0.09 -
5 - $${\color{green}-0.39}$$ $${\color{green}-0.09}$$ -
10 - $${\color{green}-0.39}$$ $${\color{green}-0.09}$$ $${\color{green}-0.01}$$
37 - - - -

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
40 - - - -

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
34 - - - -

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
27 - - - -

FanOut transaction costs

UTxO, Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
(0, 10) - - - - -
(1, 10) - - - - -
(5, 10) - - - - -
(10, 10) - - - - -
(20, 10) - - - - -
(37, 10) - - - - -

Copy link

github-actions bot commented Mar 10, 2025

Transaction costs

Sizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using arbitrary values and results are not fully deterministic and comparable to previous runs.

Metadata
Generated at 2025-03-12 08:16:13.694194755 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial c8a101a5c8ac4816b0dceb59ce31fc2258e387de828f02961d2f2045 2652
νCommit 61458bc2f297fff3cc5df6ac7ab57cefd87763b0b7bd722146a1035c 685
νHead 0e35115a2c7c13c68ecd8d74e4987c04d4539e337643be20bb3274bd 14756
μHead 57166715eadb8d3135964325c016eea546c21e1c0aae974ca67df9a5* 5541
νDeposit ae01dade3a9c346d5c93ae3ce339412b90a0b8f83f94ec6baa24e30c 1102
  • The minting policy hash is only usable for comparison. As the script is parameterized, the actual script is unique per head.

Init transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 6091 11.23 3.50 0.53
2 6292 13.65 4.25 0.57
3 6496 15.28 4.73 0.59
5 6895 19.98 6.17 0.66
10 7903 31.27 9.64 0.82
40 13936 98.39 30.22 1.78

Commit transaction costs

This uses ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 561 2.44 1.16 0.20
2 743 3.38 1.73 0.22
3 922 4.36 2.33 0.24
5 1280 6.41 3.60 0.28
10 2178 12.13 7.25 0.40
54 10063 98.61 68.52 1.88

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 529 26.44 7.58 0.44
2 114 636 35.89 10.22 0.54
3 171 747 41.99 12.08 0.61
4 226 858 53.01 15.10 0.73
5 282 969 65.41 18.42 0.85
6 338 1081 78.81 22.05 0.99
7 393 1192 76.23 21.91 0.98
8 449 1303 87.01 24.85 1.09
9 504 1414 95.54 27.28 1.18

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 1809 25.03 8.22 0.49
2 1886 26.06 9.10 0.51
3 2021 27.24 10.17 0.53
5 2383 32.56 13.28 0.61
10 3186 43.40 20.13 0.79
38 7216 96.95 55.94 1.65

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 632 23.95 7.61 0.43
2 697 23.80 8.20 0.43
3 868 26.37 9.58 0.47
5 1263 32.39 12.60 0.56
10 2031 42.22 18.61 0.71
36 5654 88.72 48.76 1.47

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 653 30.91 9.67 0.50
2 839 31.02 10.45 0.51
3 924 34.67 12.15 0.56
5 1317 37.77 14.71 0.62
10 1931 46.14 20.50 0.76
33 5566 96.90 52.60 1.56

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 699 35.95 11.01 0.55
2 806 38.11 12.31 0.58
3 941 40.20 13.61 0.61
5 1222 44.63 16.26 0.68
10 2082 58.26 24.08 0.89
27 4418 96.34 47.09 1.46

Abort transaction costs

There is some variation due to the random mixture of initial and already committed outputs.

Parties Tx size % max Mem % max CPU Min fee ₳
1 5996 28.33 9.34 0.71
2 6094 37.52 12.35 0.81
3 6276 48.04 15.87 0.93
4 6339 56.27 18.52 1.02
5 6447 62.90 20.69 1.09
6 6590 72.69 23.91 1.20
7 6701 80.00 26.36 1.28
8 6870 88.55 29.21 1.38

FanOut transaction costs

Involves spending head output and burning head tokens. Uses ada-only UTXO for better comparability.

Parties UTxO UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
10 0 0 6091 19.66 6.46 0.62
10 1 57 6125 22.25 7.45 0.65
10 5 285 6261 30.51 10.66 0.75
10 10 566 6427 41.88 15.03 0.88
10 20 1140 6771 63.18 23.30 1.13
10 30 1708 7112 82.65 30.94 1.35
10 37 2109 7352 99.40 37.34 1.55

End-to-end benchmark results

This page is intended to collect the latest end-to-end benchmark results produced by Hydra's continuous integration (CI) system from the latest master code.

Please note that these results are approximate as they are currently produced from limited cloud VMs and not controlled hardware. Rather than focusing on the absolute results, the emphasis should be on relative results, such as how the timings for a scenario evolve as the code changes.

Generated at 2025-03-12 08:19:05.504601118 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 4.521342626
P99 7.419525419999985ms
P95 5.3432980500000005ms
P50 4.317292999999999ms
Number of Invalid txs 0

Memory data

Time Used Free
2025-03-12 08:17:49.60498565 UTC 904M 6216M
2025-03-12 08:17:54.60504581 UTC 1017M 6049M
2025-03-12 08:17:59.605021312 UTC 1017M 6049M
2025-03-12 08:18:04.60499977 UTC 1018M 6048M
2025-03-12 08:18:09.605063035 UTC 1022M 6044M
2025-03-12 08:18:14.604945285 UTC 1023M 6042M

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 29.534880531
P99 42.98605344999999ms
P95 38.80685214999999ms
P50 28.4910645ms
Number of Invalid txs 0

Memory data

Time Used Free
2025-03-12 08:18:28.495717173 UTC 922M 6152M
2025-03-12 08:18:33.499929584 UTC 1194M 5876M
2025-03-12 08:18:38.496905774 UTC 1252M 5756M
2025-03-12 08:18:43.495728484 UTC 1257M 5704M
2025-03-12 08:18:48.495774051 UTC 1261M 5700M
2025-03-12 08:18:53.495755731 UTC 1262M 5698M
2025-03-12 08:18:58.495818908 UTC 1267M 5692M
2025-03-12 08:19:03.495737843 UTC 1271M 5688M

@ch1bo ch1bo force-pushed the etcd-observability branch from 0e5ede6 to 2f8673c Compare March 10, 2025 14:50
@noonio noonio marked this pull request as draft March 10, 2025 15:49
@ch1bo ch1bo marked this pull request as ready for review March 11, 2025 13:33
@ch1bo ch1bo force-pushed the etcd-observability branch from c6e118b to ef390c7 Compare March 12, 2025 08:12
ch1bo added 3 commits March 12, 2025 09:12
This should help us debug why the connectivity check stop after some
time.
Separating keys is not needed, but this makes debugging easier.
This may be okay if the remote just shut down, lets log it at least.
@ch1bo ch1bo force-pushed the etcd-observability branch from ef390c7 to db2f4b0 Compare March 12, 2025 08:12
@ch1bo ch1bo enabled auto-merge March 12, 2025 08:14
@ch1bo ch1bo added this pull request to the merge queue Mar 12, 2025
Merged via the queue into master with commit c5a9b8f Mar 12, 2025
20 checks passed
@ch1bo ch1bo deleted the etcd-observability branch March 12, 2025 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done ✔
Development

Successfully merging this pull request may close these issues.

3 participants