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

Allow altering messages exchanged by roles in test env #1228

Merged

Conversation

jbesraa
Copy link
Contributor

@jbesraa jbesraa commented Oct 18, 2024

resolves #1227

Copy link

codecov bot commented Oct 18, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 19.63%. Comparing base (e650561) to head (bd27d9b).
Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1228      +/-   ##
==========================================
+ Coverage   19.30%   19.63%   +0.33%     
==========================================
  Files         164      153      -11     
  Lines       10849    10029     -820     
==========================================
- Hits         2094     1969     -125     
+ Misses       8755     8060     -695     
Flag Coverage Δ
binary_codec_sv2-coverage 0.00% <ø> (ø)
binary_serde_sv2-coverage 3.65% <ø> (ø)
binary_sv2-coverage 5.46% <ø> (ø)
bip32_derivation-coverage 0.00% <ø> (ø)
buffer_sv2-coverage 25.02% <ø> (ø)
codec_sv2-coverage 0.01% <ø> (ø)
common_messages_sv2-coverage 0.13% <ø> (ø)
const_sv2-coverage 0.00% <ø> (ø)
error_handling-coverage 0.00% <ø> (ø)
framing_sv2-coverage 0.29% <ø> (ø)
jd_client-coverage 0.00% <ø> (ø)
jd_server-coverage 7.79% <ø> (ø)
job_declaration_sv2-coverage 0.00% <ø> (ø)
key-utils-coverage 2.39% <ø> (ø)
mining-coverage 2.51% <ø> (ø)
mining_device-coverage 0.00% <ø> (ø)
mining_proxy_sv2-coverage 0.70% <ø> (ø)
noise_sv2-coverage 4.35% <ø> (ø)
pool_sv2-coverage 1.38% <ø> (ø)
protocols 24.72% <ø> (ø)
roles 3.64% <ø> (-2.92%) ⬇️
roles_logic_sv2-coverage 8.06% <ø> (ø)
sv2_ffi-coverage 0.00% <ø> (ø)
template_distribution_sv2-coverage 0.00% <ø> (ø)
translator_sv2-coverage ?
utils 25.13% <ø> (ø)
v1-coverage 2.47% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.


🚨 Try these New Features:

Copy link
Contributor

🐰 Bencher Report

Branch1228/merge
Testbedsv1

⚠️ 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-thresholds CLI flag.

Click to view all benchmark results
BenchmarkLatencynanoseconds (ns)
client-submit-serialize📈 view plot
⚠️ NO THRESHOLD
6,540.80
client-submit-serialize-deserialize📈 view plot
⚠️ NO THRESHOLD
7,579.40
client-submit-serialize-deserialize-handle/client-submit-serialize-deserialize-handle📈 view plot
⚠️ NO THRESHOLD
8,181.50
client-sv1-authorize-serialize-deserialize-handle/client-sv1-authorize-serialize-deserialize-handle📈 view plot
⚠️ NO THRESHOLD
932.93
client-sv1-authorize-serialize-deserialize/client-sv1-authorize-serialize-deserialize📈 view plot
⚠️ NO THRESHOLD
724.19
client-sv1-authorize-serialize/client-sv1-authorize-serialize📈 view plot
⚠️ NO THRESHOLD
253.31
client-sv1-get-authorize/client-sv1-get-authorize📈 view plot
⚠️ NO THRESHOLD
155.98
client-sv1-get-submit📈 view plot
⚠️ NO THRESHOLD
6,358.60
client-sv1-get-subscribe/client-sv1-get-subscribe📈 view plot
⚠️ NO THRESHOLD
273.47
client-sv1-subscribe-serialize-deserialize-handle/client-sv1-subscribe-serialize-deserialize-handle📈 view plot
⚠️ NO THRESHOLD
771.18
client-sv1-subscribe-serialize-deserialize/client-sv1-subscribe-serialize-deserialize📈 view plot
⚠️ NO THRESHOLD
634.92
client-sv1-subscribe-serialize/client-sv1-subscribe-serialize📈 view plot
⚠️ NO THRESHOLD
206.43
🐰 View full continuous benchmarking report in Bencher

Copy link
Contributor

🐰 Bencher Report

Branch1228/merge
Testbedsv2

⚠️ 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-thresholds CLI flag.

Click to view all benchmark results
BenchmarkEstimated Cyclesestimated cyclesInstructionsinstructionsL1 AccessesaccessesL2 AccessesaccessesRAM Accessesaccesses
client_sv2_handle_message_common📈 view plot
⚠️ NO THRESHOLD
2,083.00📈 view plot
⚠️ NO THRESHOLD
473.00📈 view plot
⚠️ NO THRESHOLD
738.00📈 view plot
⚠️ NO THRESHOLD
3.00📈 view plot
⚠️ NO THRESHOLD
38.00
client_sv2_handle_message_mining📈 view plot
⚠️ NO THRESHOLD
8,208.00📈 view plot
⚠️ NO THRESHOLD
2,137.00📈 view plot
⚠️ NO THRESHOLD
3,158.00📈 view plot
⚠️ NO THRESHOLD
37.00📈 view plot
⚠️ NO THRESHOLD
139.00
client_sv2_mining_message_submit_standard📈 view plot
⚠️ NO THRESHOLD
6,281.00📈 view plot
⚠️ NO THRESHOLD
1,750.00📈 view plot
⚠️ NO THRESHOLD
2,551.00📈 view plot
⚠️ NO THRESHOLD
18.00📈 view plot
⚠️ NO THRESHOLD
104.00
client_sv2_mining_message_submit_standard_serialize📈 view plot
⚠️ NO THRESHOLD
14,628.00📈 view plot
⚠️ NO THRESHOLD
4,694.00📈 view plot
⚠️ NO THRESHOLD
6,763.00📈 view plot
⚠️ NO THRESHOLD
40.00📈 view plot
⚠️ NO THRESHOLD
219.00
client_sv2_mining_message_submit_standard_serialize_deserialize📈 view plot
⚠️ NO THRESHOLD
27,460.00📈 view plot
⚠️ NO THRESHOLD
10,585.00📈 view plot
⚠️ NO THRESHOLD
15,405.00📈 view plot
⚠️ NO THRESHOLD
80.00📈 view plot
⚠️ NO THRESHOLD
333.00
client_sv2_open_channel📈 view plot
⚠️ NO THRESHOLD
4,387.00📈 view plot
⚠️ NO THRESHOLD
1,461.00📈 view plot
⚠️ NO THRESHOLD
2,157.00📈 view plot
⚠️ NO THRESHOLD
12.00📈 view plot
⚠️ NO THRESHOLD
62.00
client_sv2_open_channel_serialize📈 view plot
⚠️ NO THRESHOLD
13,944.00📈 view plot
⚠️ NO THRESHOLD
5,064.00📈 view plot
⚠️ NO THRESHOLD
7,329.00📈 view plot
⚠️ NO THRESHOLD
35.00📈 view plot
⚠️ NO THRESHOLD
184.00
client_sv2_open_channel_serialize_deserialize📈 view plot
⚠️ NO THRESHOLD
22,699.00📈 view plot
⚠️ NO THRESHOLD
8,027.00📈 view plot
⚠️ NO THRESHOLD
11,674.00📈 view plot
⚠️ NO THRESHOLD
77.00📈 view plot
⚠️ NO THRESHOLD
304.00
client_sv2_setup_connection📈 view plot
⚠️ NO THRESHOLD
4,681.00📈 view plot
⚠️ NO THRESHOLD
1,502.00📈 view plot
⚠️ NO THRESHOLD
2,276.00📈 view plot
⚠️ NO THRESHOLD
12.00📈 view plot
⚠️ NO THRESHOLD
67.00
client_sv2_setup_connection_serialize📈 view plot
⚠️ NO THRESHOLD
16,106.00📈 view plot
⚠️ NO THRESHOLD
5,963.00📈 view plot
⚠️ NO THRESHOLD
8,666.00📈 view plot
⚠️ NO THRESHOLD
39.00📈 view plot
⚠️ NO THRESHOLD
207.00
client_sv2_setup_connection_serialize_deserialize📈 view plot
⚠️ NO THRESHOLD
35,496.00📈 view plot
⚠️ NO THRESHOLD
14,855.00📈 view plot
⚠️ NO THRESHOLD
21,821.00📈 view plot
⚠️ NO THRESHOLD
96.00📈 view plot
⚠️ NO THRESHOLD
377.00
🐰 View full continuous benchmarking report in Bencher

Copy link
Contributor

🐰 Bencher Report

Branch1228/merge
Testbedsv2

⚠️ 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-thresholds CLI flag.

Click to view all benchmark results
BenchmarkLatencynanoseconds (ns)
client_sv2_handle_message_common📈 view plot
⚠️ NO THRESHOLD
44.91
client_sv2_handle_message_mining📈 view plot
⚠️ NO THRESHOLD
73.14
client_sv2_mining_message_submit_standard📈 view plot
⚠️ NO THRESHOLD
14.65
client_sv2_mining_message_submit_standard_serialize📈 view plot
⚠️ NO THRESHOLD
267.73
client_sv2_mining_message_submit_standard_serialize_deserialize📈 view plot
⚠️ NO THRESHOLD
592.70
client_sv2_open_channel📈 view plot
⚠️ NO THRESHOLD
147.54
client_sv2_open_channel_serialize📈 view plot
⚠️ NO THRESHOLD
285.45
client_sv2_open_channel_serialize_deserialize📈 view plot
⚠️ NO THRESHOLD
376.01
client_sv2_setup_connection📈 view plot
⚠️ NO THRESHOLD
160.54
client_sv2_setup_connection_serialize📈 view plot
⚠️ NO THRESHOLD
456.92
client_sv2_setup_connection_serialize_deserialize📈 view plot
⚠️ NO THRESHOLD
978.28
🐰 View full continuous benchmarking report in Bencher

Copy link
Contributor

🐰 Bencher Report

Branch1228/merge
Testbedsv1

⚠️ 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-thresholds CLI flag.

Click to view all benchmark results
BenchmarkEstimated Cyclesestimated cyclesInstructionsinstructionsL1 AccessesaccessesL2 AccessesaccessesRAM Accessesaccesses
get_authorize📈 view plot
⚠️ NO THRESHOLD
8,515.00📈 view plot
⚠️ NO THRESHOLD
3,772.00📈 view plot
⚠️ NO THRESHOLD
5,295.00📈 view plot
⚠️ NO THRESHOLD
7.00📈 view plot
⚠️ NO THRESHOLD
91.00
get_submit📈 view plot
⚠️ NO THRESHOLD
95,430.00📈 view plot
⚠️ NO THRESHOLD
59,522.00📈 view plot
⚠️ NO THRESHOLD
85,510.00📈 view plot
⚠️ NO THRESHOLD
45.00📈 view plot
⚠️ NO THRESHOLD
277.00
get_subscribe📈 view plot
⚠️ NO THRESHOLD
8,034.00📈 view plot
⚠️ NO THRESHOLD
2,848.00📈 view plot
⚠️ NO THRESHOLD
3,984.00📈 view plot
⚠️ NO THRESHOLD
12.00📈 view plot
⚠️ NO THRESHOLD
114.00
serialize_authorize📈 view plot
⚠️ NO THRESHOLD
12,298.00📈 view plot
⚠️ NO THRESHOLD
5,343.00📈 view plot
⚠️ NO THRESHOLD
7,458.00📈 view plot
⚠️ NO THRESHOLD
9.00📈 view plot
⚠️ NO THRESHOLD
137.00
serialize_deserialize_authorize📈 view plot
⚠️ NO THRESHOLD
24,897.00📈 view plot
⚠️ NO THRESHOLD
9,920.00📈 view plot
⚠️ NO THRESHOLD
14,017.00📈 view plot
⚠️ NO THRESHOLD
34.00📈 view plot
⚠️ NO THRESHOLD
306.00
serialize_deserialize_handle_authorize📈 view plot
⚠️ NO THRESHOLD
30,435.00📈 view plot
⚠️ NO THRESHOLD
12,097.00📈 view plot
⚠️ NO THRESHOLD
17,140.00📈 view plot
⚠️ NO THRESHOLD
55.00📈 view plot
⚠️ NO THRESHOLD
372.00
serialize_deserialize_handle_submit📈 view plot
⚠️ NO THRESHOLD
126,589.00📈 view plot
⚠️ NO THRESHOLD
73,363.00📈 view plot
⚠️ NO THRESHOLD
105,189.00📈 view plot
⚠️ NO THRESHOLD
115.00📈 view plot
⚠️ NO THRESHOLD
595.00
serialize_deserialize_handle_subscribe📈 view plot
⚠️ NO THRESHOLD
28,017.00📈 view plot
⚠️ NO THRESHOLD
9,666.00📈 view plot
⚠️ NO THRESHOLD
13,677.00📈 view plot
⚠️ NO THRESHOLD
61.00📈 view plot
⚠️ NO THRESHOLD
401.00
serialize_deserialize_submit📈 view plot
⚠️ NO THRESHOLD
115,479.00📈 view plot
⚠️ NO THRESHOLD
68,223.00📈 view plot
⚠️ NO THRESHOLD
97,934.00📈 view plot
⚠️ NO THRESHOLD
65.00📈 view plot
⚠️ NO THRESHOLD
492.00
serialize_deserialize_subscribe📈 view plot
⚠️ NO THRESHOLD
23,439.00📈 view plot
⚠️ NO THRESHOLD
8,225.00📈 view plot
⚠️ NO THRESHOLD
11,589.00📈 view plot
⚠️ NO THRESHOLD
39.00📈 view plot
⚠️ NO THRESHOLD
333.00
serialize_submit📈 view plot
⚠️ NO THRESHOLD
99,827.00📈 view plot
⚠️ NO THRESHOLD
61,566.00📈 view plot
⚠️ NO THRESHOLD
88,352.00📈 view plot
⚠️ NO THRESHOLD
48.00📈 view plot
⚠️ NO THRESHOLD
321.00
serialize_subscribe📈 view plot
⚠️ NO THRESHOLD
11,375.00📈 view plot
⚠️ NO THRESHOLD
4,195.00📈 view plot
⚠️ NO THRESHOLD
5,840.00📈 view plot
⚠️ NO THRESHOLD
15.00📈 view plot
⚠️ NO THRESHOLD
156.00
🐰 View full continuous benchmarking report in Bencher

@jbesraa jbesraa force-pushed the 2024-10-18-allow-sniffer-to-alter-msgs branch from 961caa7 to bf97853 Compare October 31, 2024 07:42
@plebhash
Copy link
Collaborator

after discussing with @jbesraa on the call today, we will potentially pivot this approach towards adding a new primitive (aside to the Sniffer) that is simplified and just "mocks" a dummy role, essentially expecting predefined messages and also responding with predefined messages

@plebhash
Copy link
Collaborator

plebhash commented Oct 31, 2024

(let's assume this new primitive will be called Mock, final name could be changed later)

Mock is created in a way that it has some predefined stack of pair messages, where each pair has:

  • some expected message
  • response to the expected message

this stack is represented as a Vec<(AnyMessage, AnyMessage)>


as discussed in the call, here's a dummy test (pseudocode) that could be used to drive the development of this new primitive, at least from a conceptual perspective

the scenario here is:

  • Mock is created to mimic a TP
  • Sniffer is placed between Pool and Mock
  • Pool sends SetupConnection upstream
    • Sniffer logs SetupConnection into its messages_from_downstream queue
    • Mock is already expecting a SetupConnection
  • Mock replies with SetupConnection.Error
    • Sniffer logs SetupConnection.Error into messages_from_upstream
    • Pool receives SetupConnection.Error
#[tokio::test]
async fn test_tp_mock_setup_connection_error() {
    let mock_tp_addr = common::get_available_address();
    let sniffer_addr = common::get_available_address();
    let pool_addr = common::get_available_address();

    let mock_tp_expected_setup_connection = ...
    let mock_tp_response_setup_connection_error = ...

    let mock_tp_message_pair = (mock_tp_expected_setup_connection, mock_tp_response_setup_connection_error);

    // this is a very simple test where we only have one pair
    // but the generic case could have multiple pairs
    // the order of each (expected, response) pair within the Vec is also important
    let mock_tp_message_pair_vec = vec![mock_tp_message_pair];

    let mut mock = common::start_mock(mock_tp_addr, mock_tp_message_pair_vec).await;

    let sniffer = common::start_sniffer(sniffer_addr, mock_tp_addr).await;
    let pool = common::start_pool(Some(pool_addr), Some(sniffer_addr)).await;

    assert_common_message!(&sniffer.next_downstream_message(), SetupConnection);

    // this specific assertion is essentially proving that mock_tp is behaving as expected
    assert_common_message!(&sniffer.next_upstream_message(), SetupConnectionError);

   // here it could be interesting to assert the internal state of pool after receiveing SetupConnectionError
   // but essentially this is somewhat outside of the scope of this PR, since we just want to add a new primitive to the IT framework and not necessarily improve testing around the pool role implementation
   // if this assertion proves too challenging, it can be left for some future work
}

@jbesraa jbesraa force-pushed the 2024-10-18-allow-sniffer-to-alter-msgs branch from bf97853 to f52863f Compare November 18, 2024 09:44
@jbesraa jbesraa marked this pull request as ready for review November 18, 2024 09:44
@jbesraa
Copy link
Contributor Author

jbesraa commented Nov 18, 2024

@plebhash This is ready for review

Copy link
Contributor

github-actions bot commented Nov 18, 2024

🐰 Bencher Report

Branch2024-10-18-allow-sniffer-to-alter-msgs
Testbedsv2
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Upper Boundary
nanoseconds (ns)
(Limit %)
client_sv2_handle_message_common📈 view plot
🚷 view threshold
44.22
(-0.76%)
46.80
(94.47%)
client_sv2_handle_message_mining📈 view plot
🚷 view threshold
74.67
(-0.60%)
83.08
(89.88%)
client_sv2_mining_message_submit_standard📈 view plot
🚷 view threshold
14.65
(-0.13%)
14.81
(98.90%)
client_sv2_mining_message_submit_standard_serialize📈 view plot
🚷 view threshold
273.89
(+2.96%)
317.12
(86.37%)
client_sv2_mining_message_submit_standard_serialize_deserialize📈 view plot
🚷 view threshold
601.83
(-0.53%)
720.48
(83.53%)
client_sv2_open_channel📈 view plot
🚷 view threshold
167.11
(+10.20%)
191.76
(87.15%)
client_sv2_open_channel_serialize📈 view plot
🚷 view threshold
283.45
(-0.34%)
309.93
(91.45%)
client_sv2_open_channel_serialize_deserialize📈 view plot
🚷 view threshold
399.95
(+5.49%)
418.85
(95.49%)
client_sv2_setup_connection📈 view plot
🚷 view threshold
164.43
(+2.12%)
174.31
(94.33%)
client_sv2_setup_connection_serialize📈 view plot
🚷 view threshold
474.70
(+1.94%)
542.07
(87.57%)
client_sv2_setup_connection_serialize_deserialize📈 view plot
🚷 view threshold
990.61
(+1.53%)
1,050.97
(94.26%)
🐰 View full continuous benchmarking report in Bencher

Copy link
Contributor

github-actions bot commented Nov 18, 2024

🐰 Bencher Report

Branch2024-10-18-allow-sniffer-to-alter-msgs
Testbedsv1
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Upper Boundary
nanoseconds (ns)
(Limit %)
client-submit-serialize📈 view plot
🚷 view threshold
6,796.90
(+0.87%)
7,132.34
(95.30%)
client-submit-serialize-deserialize📈 view plot
🚷 view threshold
7,632.80
(-0.24%)
7,930.01
(96.25%)
client-submit-serialize-deserialize-handle/client-submit-serialize-deserialize-handle📈 view plot
🚷 view threshold
8,272.90
(+0.76%)
8,545.25
(96.81%)
client-sv1-authorize-serialize-deserialize-handle/client-sv1-authorize-serialize-deserialize-handle📈 view plot
🚷 view threshold
857.94
(-1.63%)
934.91
(91.77%)
client-sv1-authorize-serialize-deserialize/client-sv1-authorize-serialize-deserialize📈 view plot
🚷 view threshold
662.15
(-1.33%)
711.07
(93.12%)
client-sv1-authorize-serialize/client-sv1-authorize-serialize📈 view plot
🚷 view threshold
249.68
(+0.38%)
261.12
(95.62%)
client-sv1-get-authorize/client-sv1-get-authorize📈 view plot
🚷 view threshold
156.17
(-0.73%)
163.32
(95.62%)
client-sv1-get-submit📈 view plot
🚷 view threshold
6,594.20
(+0.94%)
7,176.06
(91.89%)
client-sv1-get-subscribe/client-sv1-get-subscribe📈 view plot
🚷 view threshold
290.34
(+3.45%)
311.70
(93.15%)
client-sv1-subscribe-serialize-deserialize-handle/client-sv1-subscribe-serialize-deserialize-handle📈 view plot
🚷 view threshold
728.48
(-1.02%)
800.39
(91.02%)
client-sv1-subscribe-serialize-deserialize/client-sv1-subscribe-serialize-deserialize📈 view plot
🚷 view threshold
594.19
(-0.54%)
642.84
(92.43%)
client-sv1-subscribe-serialize/client-sv1-subscribe-serialize📈 view plot
🚷 view threshold
207.24
(+0.38%)
221.54
(93.54%)
🐰 View full continuous benchmarking report in Bencher

Copy link
Contributor

github-actions bot commented Nov 18, 2024

🐰 Bencher Report

Branch2024-10-18-allow-sniffer-to-alter-msgs
Testbedsv2
Click to view all benchmark results
BenchmarkEstimated CyclesBenchmark Result
estimated cycles
(Result Δ%)
Upper Boundary
estimated cycles
(Limit %)
InstructionsBenchmark Result
instructions
(Result Δ%)
Upper Boundary
instructions
(Limit %)
L1 AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
L2 AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
RAM AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
client_sv2_handle_message_common📈 view plot
🚷 view threshold
2,099.00
(+0.21%)
2,207.71
(95.08%)
📈 view plot
🚷 view threshold
473.00
(-0.07%)
488.51
(96.82%)
📈 view plot
🚷 view threshold
734.00
(-0.27%)
757.26
(96.93%)
📈 view plot
🚷 view threshold
7.00
(+30.42%)
13.84
(50.60%)
📈 view plot
🚷 view threshold
38.00
(-0.14%)
41.19
(92.25%)
client_sv2_handle_message_mining📈 view plot
🚷 view threshold
8,200.00
(-0.04%)
8,282.29
(99.01%)
📈 view plot
🚷 view threshold
2,137.00
(-0.03%)
2,143.08
(99.72%)
📈 view plot
🚷 view threshold
3,160.00
(-0.03%)
3,170.57
(99.67%)
📈 view plot
🚷 view threshold
35.00
(-1.39%)
41.94
(83.46%)
📈 view plot
🚷 view threshold
139.00
(+0.01%)
140.82
(98.71%)
client_sv2_mining_message_submit_standard📈 view plot
🚷 view threshold
6,323.00
(+0.68%)
6,394.82
(98.88%)
📈 view plot
🚷 view threshold
1,750.00
(-0.05%)
1,766.87
(99.05%)
📈 view plot
🚷 view threshold
2,548.00
(-0.22%)
2,575.62
(98.93%)
📈 view plot
🚷 view threshold
20.00
(+18.35%)
24.33
(82.21%)
📈 view plot
🚷 view threshold
105.00
(+0.91%)
107.22
(97.93%)
client_sv2_mining_message_submit_standard_serialize📈 view plot
🚷 view threshold
14,720.00
(-0.05%)
14,953.30
(98.44%)
📈 view plot
🚷 view threshold
4,694.00
(-0.02%)
4,710.87
(99.64%)
📈 view plot
🚷 view threshold
6,755.00
(-0.06%)
6,781.80
(99.60%)
📈 view plot
🚷 view threshold
46.00
(+5.96%)
52.92
(86.93%)
📈 view plot
🚷 view threshold
221.00
(-0.22%)
227.44
(97.17%)
client_sv2_mining_message_submit_standard_serialize_deserialize📈 view plot
🚷 view threshold
27,806.00
(+0.98%)
27,819.68
(99.95%)
📈 view plot
🚷 view threshold
10,645.00
(+0.58%)
10,654.37
(99.91%)
📈 view plot
🚷 view threshold
15,506.00
(+0.68%)
15,515.58
(99.94%)
📈 view plot
🚷 view threshold
87.00
(+6.97%)
89.64
(97.05%)
📈 view plot
🚷 view threshold
339.00
(+1.16%)
341.79
(99.18%)
client_sv2_open_channel📈 view plot
🚷 view threshold
4,413.00
(+0.44%)
4,594.83
(96.04%)
📈 view plot
🚷 view threshold
1,461.00
(-0.02%)
1,476.51
(98.95%)
📈 view plot
🚷 view threshold
2,158.00
(-0.09%)
2,184.18
(98.80%)
📈 view plot
🚷 view threshold
10.00
(+13.37%)
17.07
(58.58%)
📈 view plot
🚷 view threshold
63.00
(+0.70%)
67.95
(92.71%)
client_sv2_open_channel_serialize📈 view plot
🚷 view threshold
14,020.00
(-0.22%)
14,401.30
(97.35%)
📈 view plot
🚷 view threshold
5,064.00
(-0.01%)
5,079.51
(99.69%)
📈 view plot
🚷 view threshold
7,325.00
(-0.02%)
7,351.62
(99.64%)
📈 view plot
🚷 view threshold
37.00
(+5.62%)
43.08
(85.89%)
📈 view plot
🚷 view threshold
186.00
(-0.60%)
197.23
(94.31%)
client_sv2_open_channel_serialize_deserialize📈 view plot
🚷 view threshold
22,884.00
(+0.97%)
22,915.54
(99.86%)
📈 view plot
🚷 view threshold
8,040.00
(+0.23%)
8,073.25
(99.59%)
📈 view plot
🚷 view threshold
11,689.00
(+0.16%)
11,750.82
(99.47%)
📈 view plot
🚷 view threshold
83.00
(+11.57%)
85.32
(97.28%)
📈 view plot
🚷 view threshold
308.00
(+1.49%)
311.29
(98.94%)
client_sv2_setup_connection📈 view plot
🚷 view threshold
4,689.00
(+0.09%)
4,774.28
(98.21%)
📈 view plot
🚷 view threshold
1,502.00
(-0.02%)
1,517.51
(98.98%)
📈 view plot
🚷 view threshold
2,274.00
(-0.20%)
2,299.20
(98.90%)
📈 view plot
🚷 view threshold
14.00
(+46.64%)
16.60
(84.33%)
📈 view plot
🚷 view threshold
67.00
(-0.57%)
69.79
(96.01%)
client_sv2_setup_connection_serialize📈 view plot
🚷 view threshold
16,152.00
(-0.10%)
16,443.09
(98.23%)
📈 view plot
🚷 view threshold
5,963.00
(-0.01%)
5,978.51
(99.74%)
📈 view plot
🚷 view threshold
8,662.00
(-0.02%)
8,691.37
(99.66%)
📈 view plot
🚷 view threshold
42.00
(+5.54%)
52.81
(79.53%)
📈 view plot
🚷 view threshold
208.00
(-0.34%)
215.89
(96.34%)
client_sv2_setup_connection_serialize_deserialize📈 view plot
🚷 view threshold
35,760.00
(+0.58%)
35,767.21
(99.98%)
📈 view plot
🚷 view threshold
14,888.00
(+0.25%)
14,909.61
(99.86%)
📈 view plot
🚷 view threshold
21,880.00
(+0.29%)
21,922.94
(99.80%)
📈 view plot
🚷 view threshold
95.00
(+3.01%)
111.51
(85.20%)
📈 view plot
🚷 view threshold
383.00
(+0.98%)
384.75
(99.55%)
🐰 View full continuous benchmarking report in Bencher

Copy link
Contributor

github-actions bot commented Nov 18, 2024

🐰 Bencher Report

Branch2024-10-18-allow-sniffer-to-alter-msgs
Testbedsv1
Click to view all benchmark results
BenchmarkEstimated CyclesBenchmark Result
estimated cycles
(Result Δ%)
Upper Boundary
estimated cycles
(Limit %)
InstructionsBenchmark Result
instructions
(Result Δ%)
Upper Boundary
instructions
(Limit %)
L1 AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
L2 AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
RAM AccessesBenchmark Result
accesses
(Result Δ%)
Upper Boundary
accesses
(Limit %)
get_authorize📈 view plot
🚷 view threshold
8,324.00
(-1.68%)
8,731.08
(95.34%)
📈 view plot
🚷 view threshold
3,671.00
(-2.10%)
3,854.85
(95.23%)
📈 view plot
🚷 view threshold
5,124.00
(-2.54%)
5,422.02
(94.50%)
📈 view plot
🚷 view threshold
10.00
(+38.38%)
13.11
(76.30%)
📈 view plot
🚷 view threshold
90.00
(-0.70%)
95.15
(94.59%)
get_submit📈 view plot
🚷 view threshold
95,214.00
(-0.23%)
95,892.88
(99.29%)
📈 view plot
🚷 view threshold
59,271.00
(-0.32%)
59,679.25
(99.32%)
📈 view plot
🚷 view threshold
85,094.00
(-0.36%)
85,752.78
(99.23%)
📈 view plot
🚷 view threshold
43.00
(-4.11%)
63.61
(67.59%)
📈 view plot
🚷 view threshold
283.00
(+1.02%)
289.23
(97.85%)
get_subscribe📈 view plot
🚷 view threshold
7,879.00
(-1.80%)
8,274.54
(95.22%)
📈 view plot
🚷 view threshold
2,766.00
(-2.45%)
2,935.76
(94.22%)
📈 view plot
🚷 view threshold
3,844.00
(-2.99%)
4,116.80
(93.37%)
📈 view plot
🚷 view threshold
16.00
(+33.42%)
20.77
(77.02%)
📈 view plot
🚷 view threshold
113.00
(-1.14%)
118.53
(95.34%)
serialize_authorize📈 view plot
🚷 view threshold
12,063.00
(-1.79%)
12,566.28
(95.99%)
📈 view plot
🚷 view threshold
5,248.00
(-1.38%)
5,422.49
(96.78%)
📈 view plot
🚷 view threshold
7,298.00
(-1.65%)
7,580.41
(96.27%)
📈 view plot
🚷 view threshold
8.00
(-12.40%)
16.30
(49.07%)
📈 view plot
🚷 view threshold
135.00
(-1.90%)
142.64
(94.64%)
serialize_deserialize_authorize📈 view plot
🚷 view threshold
24,508.00
(-0.74%)
25,229.39
(97.14%)
📈 view plot
🚷 view threshold
9,794.00
(-0.99%)
10,031.10
(97.64%)
📈 view plot
🚷 view threshold
13,803.00
(-1.16%)
14,181.14
(97.33%)
📈 view plot
🚷 view threshold
34.00
(-1.83%)
43.57
(78.04%)
📈 view plot
🚷 view threshold
301.00
(-0.16%)
315.18
(95.50%)
serialize_deserialize_handle_authorize📈 view plot
🚷 view threshold
30,273.00
(-0.17%)
30,752.86
(98.44%)
📈 view plot
🚷 view threshold
11,997.00
(-0.71%)
12,200.68
(98.33%)
📈 view plot
🚷 view threshold
16,963.00
(-0.86%)
17,287.99
(98.12%)
📈 view plot
🚷 view threshold
58.00
(+4.42%)
67.36
(86.10%)
📈 view plot
🚷 view threshold
372.00
(+0.64%)
381.66
(97.47%)
serialize_deserialize_handle_submit📈 view plot
🚷 view threshold
126,306.00
(-0.13%)
126,895.71
(99.54%)
📈 view plot
🚷 view threshold
73,117.00
(-0.23%)
73,507.35
(99.47%)
📈 view plot
🚷 view threshold
104,761.00
(-0.29%)
105,431.18
(99.36%)
📈 view plot
🚷 view threshold
116.00
(+8.37%)
133.08
(87.17%)
📈 view plot
🚷 view threshold
599.00
(+0.44%)
605.14
(98.99%)
serialize_deserialize_handle_subscribe📈 view plot
🚷 view threshold
27,833.00
(-0.02%)
28,605.35
(97.30%)
📈 view plot
🚷 view threshold
9,585.00
(-0.67%)
9,749.78
(98.31%)
📈 view plot
🚷 view threshold
13,533.00
(-0.85%)
13,802.70
(98.05%)
📈 view plot
🚷 view threshold
67.00
(+5.55%)
75.98
(88.18%)
📈 view plot
🚷 view threshold
399.00
(+0.66%)
416.85
(95.72%)
serialize_deserialize_submit📈 view plot
🚷 view threshold
114,907.00
(-0.29%)
115,802.29
(99.23%)
📈 view plot
🚷 view threshold
67,894.00
(-0.31%)
68,392.66
(99.27%)
📈 view plot
🚷 view threshold
97,372.00
(-0.37%)
98,218.23
(99.14%)
📈 view plot
🚷 view threshold
63.00
(+0.46%)
78.22
(80.54%)
📈 view plot
🚷 view threshold
492.00
(+0.15%)
498.40
(98.71%)
serialize_deserialize_subscribe📈 view plot
🚷 view threshold
23,112.00
(-0.64%)
23,992.63
(96.33%)
📈 view plot
🚷 view threshold
8,137.00
(-0.83%)
8,305.30
(97.97%)
📈 view plot
🚷 view threshold
11,442.00
(-1.00%)
11,708.53
(97.72%)
📈 view plot
🚷 view threshold
38.00
(+2.03%)
44.41
(85.58%)
📈 view plot
🚷 view threshold
328.00
(-0.32%)
347.86
(94.29%)
serialize_submit📈 view plot
🚷 view threshold
99,561.00
(-0.29%)
100,299.82
(99.26%)
📈 view plot
🚷 view threshold
61,333.00
(-0.28%)
61,712.99
(99.38%)
📈 view plot
🚷 view threshold
87,956.00
(-0.33%)
88,587.05
(99.29%)
📈 view plot
🚷 view threshold
46.00
(-1.64%)
64.44
(71.39%)
📈 view plot
🚷 view threshold
325.00
(+0.08%)
333.71
(97.39%)
serialize_subscribe📈 view plot
🚷 view threshold
11,248.00
(-1.37%)
11,676.82
(96.33%)
📈 view plot
🚷 view threshold
4,119.00
(-1.53%)
4,279.14
(96.26%)
📈 view plot
🚷 view threshold
5,708.00
(-1.92%)
5,969.77
(95.62%)
📈 view plot
🚷 view threshold
16.00
(+24.12%)
20.87
(76.66%)
📈 view plot
🚷 view threshold
156.00
(-1.09%)
163.20
(95.59%)
🐰 View full continuous benchmarking report in Bencher

@@ -15,7 +15,7 @@ async fn success_pool_template_provider_connection() {
let tp_addr = common::get_available_address();
let pool_addr = common::get_available_address();
let _tp = common::start_template_provider(tp_addr.port()).await;
let sniffer = common::start_sniffer(sniffer_addr, tp_addr).await;
let sniffer = common::start_sniffer(sniffer_addr, tp_addr, None).await;
Copy link
Collaborator

@plebhash plebhash Nov 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should add a new intercept_pool_template_provider_connection to make sure the new Sniffer feature behaves as expected

ideally with 2 Sniffers:

  • one intercepts SetupConnection.Success and replaces with SetupConnection.Error
  • one asserts SetupConnection.Error

@jbesraa jbesraa force-pushed the 2024-10-18-allow-sniffer-to-alter-msgs branch from f52863f to 3985667 Compare November 20, 2024 08:48
..Add new `InterceptMessage` property to allow the sniffer to mutate a
message before it sent to downstream/upstream.
@jbesraa jbesraa force-pushed the 2024-10-18-allow-sniffer-to-alter-msgs branch from 3985667 to bd27d9b Compare November 21, 2024 10:38
@plebhash plebhash merged commit 67a3f00 into stratum-mining:main Nov 21, 2024
38 checks passed
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 this pull request may close these issues.

Add functionality to response to a role with alterd message in integration tests
2 participants