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

[Indexer-grpc] Add profiling support. #12034

Merged
merged 1 commit into from
Feb 20, 2024
Merged

[Indexer-grpc] Add profiling support. #12034

merged 1 commit into from
Feb 20, 2024

Conversation

grao1991
Copy link
Contributor

@grao1991 grao1991 commented Feb 15, 2024

Description

host:port/profilez will start returning cpu profiling result.

Current use duration = 10s, frequency = 99Hz, format = flamegraph, will try to make it configurable in the future.

Test Plan

Copy link

trunk-io bot commented Feb 15, 2024

⏱️ 17h 1m total CI duration on this PR
Job Cumulative Duration Recent Runs
rust-unit-tests 7h 50m 🟩🟩🟩 (+2 more)
windows-build 1h 47m 🟥🟥🟩🟩🟩 (+1 more)
rust-smoke-tests 1h 33m 🟩🟩🟩
execution-performance / single-node-performance 1h 5m 🟩🟩🟩
forge-compat-test / forge 57m 🟩🟥🟥🟥🟩
rust-images / rust-all 45m 🟩🟩🟩
forge-e2e-test / forge 42m 🟩🟩🟩
rust-lints 36m 🟩🟩🟩🟩 (+1 more)
cli-e2e-tests / run-cli-tests 27m 🟥🟥🟥
run-tests-main-branch 24m 🟥🟥🟥🟥🟥
check 21m 🟩🟩🟩🟩 (+1 more)
general-lints 13m 🟩🟩🟩🟩 (+1 more)
check-dynamic-deps 12m 🟩🟩🟩🟩🟩 (+1 more)
node-api-compatibility-tests / node-api-compatibility-tests 3m 🟩🟩🟩
semgrep/ci 2m 🟩🟩🟩🟩🟩 (+1 more)
file_change_determinator 1m 🟩🟩🟩🟩🟩 (+1 more)
file_change_determinator 1m 🟩🟩🟩🟩🟩 (+1 more)
execution-performance / file_change_determinator 35s 🟩🟩🟩
file_change_determinator 30s 🟩🟩🟩
permission-check 17s 🟩🟩🟩🟩🟩 (+1 more)
permission-check 14s 🟩🟩🟩🟩🟩 (+1 more)
permission-check 13s 🟩🟩🟩
permission-check 12s 🟩🟩🟩🟩🟩 (+1 more)
permission-check 12s 🟩🟩🟩🟩🟩 (+1 more)
determine-docker-build-metadata 9s 🟩🟩🟩

🚨 4 jobs on the last run were significantly faster/slower than expected

Job Duration vs 7d avg Delta
windows-build 27m 19m +41%
rust-images / rust-all 17m 13m +37%
forge-compat-test / forge 17m 13m +25%
rust-unit-tests 38m 31m +22%

settingsfeedbackdocs ⋅ learn more about trunk.io

@grao1991 grao1991 enabled auto-merge (squash) February 15, 2024 18:20
@grao1991 grao1991 disabled auto-merge February 15, 2024 18:21

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

Copy link
Contributor

@CapCap CapCap left a comment

Choose a reason for hiding this comment

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

Thank you!

@rtso
Copy link
Contributor

rtso commented Feb 16, 2024

Thank you for adding this @grao1991 !! Any chance we could get the profile for the processors too (in aptos-indexer-processors repo)?

@grao1991 grao1991 enabled auto-merge (squash) February 17, 2024 05:01
@grao1991
Copy link
Contributor Author

Thank you for adding this @grao1991 !! Any chance we could get the profile for the processors too (in aptos-indexer-processors repo)?

Thank you for adding this @grao1991 !! Any chance we could get the profile for the processors too (in aptos-indexer-processors repo)?

Maybe later, or you can do it :)

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

Copy link
Contributor

✅ Forge suite realistic_env_max_load success on a4ce24654947087a3644d098a03ba391a587a89c

two traffics test: inner traffic : committed: 7259 txn/s, latency: 5273 ms, (p50: 4800 ms, p90: 6600 ms, p99: 13200 ms), latency samples: 3135980
two traffics test : committed: 100 txn/s, latency: 2168 ms, (p50: 2100 ms, p90: 2500 ms, p99: 2800 ms), latency samples: 1840
Latency breakdown for phase 0: ["QsBatchToPos: max: 0.300, avg: 0.216", "QsPosToProposal: max: 0.232, avg: 0.179", "ConsensusProposalToOrdered: max: 0.593, avg: 0.541", "ConsensusOrderedToCommit: max: 0.485, avg: 0.459", "ConsensusProposalToCommit: max: 1.033, avg: 1.000"]
Max round gap was 2 [limit 4] at version 1484149. Max no progress secs was 9.236018 [limit 15] at version 1484149.
Test Ok

Copy link
Contributor

✅ Forge suite compat success on aptos-node-v1.9.5 ==> a4ce24654947087a3644d098a03ba391a587a89c

Compatibility test results for aptos-node-v1.9.5 ==> a4ce24654947087a3644d098a03ba391a587a89c (PR)
1. Check liveness of validators at old version: aptos-node-v1.9.5
compatibility::simple-validator-upgrade::liveness-check : committed: 5820 txn/s, latency: 4757 ms, (p50: 4800 ms, p90: 7200 ms, p99: 8100 ms), latency samples: 244460
2. Upgrading first Validator to new version: a4ce24654947087a3644d098a03ba391a587a89c
compatibility::simple-validator-upgrade::single-validator-upgrade : committed: 626 txn/s, submitted: 650 txn/s, expired: 23 txn/s, latency: 37537 ms, (p50: 42100 ms, p90: 59000 ms, p99: 60500 ms), latency samples: 54542
3. Upgrading rest of first batch to new version: a4ce24654947087a3644d098a03ba391a587a89c
compatibility::simple-validator-upgrade::half-validator-upgrade : committed: 211 txn/s, submitted: 606 txn/s, expired: 395 txn/s, latency: 49203 ms, (p50: 44900 ms, p90: 57500 ms, p99: 60500 ms), latency samples: 13936
4. upgrading second batch to new version: a4ce24654947087a3644d098a03ba391a587a89c
compatibility::simple-validator-upgrade::rest-validator-upgrade : committed: 2057 txn/s, latency: 13507 ms, (p50: 14500 ms, p90: 16300 ms, p99: 20600 ms), latency samples: 102860
5. check swarm health
Compatibility test for aptos-node-v1.9.5 ==> a4ce24654947087a3644d098a03ba391a587a89c passed
Test Ok

@grao1991 grao1991 merged commit 6b3219e into main Feb 20, 2024
41 of 42 checks passed
@grao1991 grao1991 deleted the grao_profiling branch February 20, 2024 21:50
zjma added a commit that referenced this pull request Feb 22, 2024
* Fix `iss`-related bug in Groth16 path & refactor (#12017)

Co-authored-by: Oliver <[email protected]>

* [aptosvm] Simplify VM flows (#11888)

* Duplicated logic for creating the gas meter for view functions has been removed.
* Duplicated logic for calculating gas used for view functions has been removed.
* There was unreachable code in failure transaction cleanup, where the discarded
status has been returned immediately, but then re-checked again. The first check
is shifted inside.
* No more default transaction metadata.
* Scripts are now validated consistently.
* Simplifies transaction execution function signature to avoid `Option<String>`.
* Removes duplicated features from `AptosVM` and keeps them in `MoveVMExt`.
* Fixes a bug when script hash was not computed for `RunOnAbort`.

Related tests are moved  to `move-e2e-tests`.

* [Compiler V2] Critical edge elimination (#11894)

Implement a pass to eliminate critical edges by splitting them with empty blocks

* [consensus configs] reduce sending block size from 2500 to 1900 (#12091)

### Description

The block output limit is no longer hit with p2p txns.

### Test Plan

Forge `realistic_env_max_load` TPS improves.

* [Indexer-grpc] Add profiling support. (#12034)

* Minor aggregator cleanup (#12013)

* Minor aggregator cleanup

* Addressing PR comments

* [move] rotate_authentication_key_call should not modify OriginatingAddress (#12108)

Co-authored-by: Alin Tomescu <[email protected]>

* [Data Streaming Service] Add dynamic prefetching support

* [Data Streaming Service] Add dynamic prefetching unit tests.

* [Data Streaming Service] Update existing integration tests.

* [State Sync] Add backpressure to fast sync receiver.

* Update perf baseline for gas charging coverage improvements (reducing throughput) (#12124)

* Reduce latency of cloning network sender using Arc pointers (#12103)

* Avoid cloning network sender using Arc pointers

* Removing a clone

* 100 node sweep test

* Removing a few clone operations

* reset forge test

* Removing some clones

* Removing clones

* adopt AIP-61 terminology for consistency (#12123)

adopt AIP-61 terminology for consistency

* [Consensus] Remove non-decoupled execution and refactor for cleaner interfaces (#12104)

* fix jwk key logging (#12090)

* remove spurious error lines (#12137)

* randomness #1: types update from randomnet (#12106)

* types update from randomnet

* update

* lint

* lint

* All validators broadcast commit vote messages (#12059)

* All validators broadcast commit messages

* Forge testing

* Increase timeout for forge

* test forge realistic_env_workload_sweep_test

* run realistic_env_workload_sweep_test

* run realistic_env_workload_sweep_test

* run sweep test

* increase forge runner duration

* forge testing

* Letting the proposer also broadcast commit decision for backward compatibility

* removing forge changes

* Added a TODO

* [vm] Resource access control: runtime engine (#10544)

* [vm] Resource access control: runtime engine

Implements the runtime engine for resource access control:

- a representation of access control specifiers in `loaded_data::runtime_access_specifiers`.
- a loader for access specifiers in `runtime::loader::access_specifier_loader`.
- a new stateful object representing the access control logic in `runtime::access_control`.
- finally the use of the `AccessControlState` in `runtime::interpreter`.

* Addressing reviewer comments.

* Addressing reviewer comments.

* typo: PTLA -> PTAL

* Rebasing: adjusting to upstream changes

* Rebasing

* ObjectCodeDeployment API cleanup update (#12133)

* ObjectCodeDeployment API cleanup update (#12141)

* [Compiler-v2] porting more V1 unit tests to V2 (#12085)

* update tests

* fix bug

* fix-12116

* fix missing space

* add expected got

* remove live-var tests

* fix had_erros

* fix

* Enable the max object nesting check (#12129)

* Resolved the warning for unused variable (#12157)

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* Squashed commit of the following:

commit a50ffec
Author: Zhoujun Ma <[email protected]>
Date:   Thu Feb 22 21:10:12 2024 +0000

    lint

commit 388350f
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 13:04:28 2024 -0800

    update

commit 76f7eca
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:56:04 2024 -0800

    update

commit a663542
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:54:18 2024 -0800

    update

commit b439449
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:34:14 2024 -0800

    update

commit 3378ceb
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:17:06 2024 -0800

    update

commit 6cd6685
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:15:05 2024 -0800

    update

commit 6d89f37
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:13:51 2024 -0800

    update

commit 980f257
Author: zhoujun.ma <[email protected]>
Date:   Thu Feb 22 12:12:04 2024 -0800

    update

commit 16e9349
Author: Zhoujun Ma <[email protected]>
Date:   Thu Feb 22 18:25:08 2024 +0000

    lint

---------

Co-authored-by: Alin Tomescu <[email protected]>
Co-authored-by: Oliver <[email protected]>
Co-authored-by: George Mitenkov <[email protected]>
Co-authored-by: Zekun Wang <[email protected]>
Co-authored-by: Brian (Sunghoon) Cho <[email protected]>
Co-authored-by: Guoteng Rao <[email protected]>
Co-authored-by: Satya Vusirikala <[email protected]>
Co-authored-by: David Wolinsky <[email protected]>
Co-authored-by: Josh Lind <[email protected]>
Co-authored-by: igor-aptos <[email protected]>
Co-authored-by: Sital Kedia <[email protected]>
Co-authored-by: Wolfgang Grieskamp <[email protected]>
Co-authored-by: Teng Zhang <[email protected]>
Co-authored-by: Junkil Park <[email protected]>
@grao1991 grao1991 restored the grao_profiling branch March 13, 2024 17:17
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.

4 participants