-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
[forge] custom profiles & add processor latency metrics #14924
Conversation
⏱️ 5h 25m total CI duration on this PR
🚨 2 jobs on the last run were significantly faster/slower than expected
|
samples.insert( | ||
LatencyBreakdownSlice::IndexerProcessorLatency, | ||
MetricSamples::new(indexer_processor_latency_samples), | ||
); |
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.
samples.insert( | |
LatencyBreakdownSlice::IndexerProcessorLatency, | |
MetricSamples::new(indexer_processor_latency_samples), | |
); | |
Remove these lines as they duplicate the insertion of `IndexerProcessorLatency` samples. This insertion has already been performed at lines 277-280. |
This duplication could lead to unexpected behavior or data inconsistencies. Consider removing one of the insertions to maintain a single, accurate representation of the IndexerProcessorLatency
metrics in the samples
collection.
Spotted by Graphite Reviewer
Is this helpful? React 👍 or 👎 to let us know.
2d2228e
to
cc13744
Compare
cc13744
to
c1f430d
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
c1f430d
to
1729917
Compare
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.
testsuite/forge-cli/src/main.rs
Outdated
@@ -2400,7 +2427,7 @@ fn indexer_test() -> ForgeConfig { | |||
( | |||
TransactionWorkload::new(TransactionTypeArg::TokenV2AmbassadorMint, 20000) | |||
.with_unique_senders(), | |||
(3200, 0.5, 0.5, 0.5), | |||
(2000, 0.5, 0.5, 0.5), |
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.
If I want to run an adhoc forge with only one of the workloads, would I need to create a PR commenting out the other workloads and run the adhoc from that PR?
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.
yea, or the better way is to create (in a separate PR) a testsuite for each that you want to run independently. So instead of using the indexer_test
suite maybe you have like indexer_{p2p, graffio, ...}
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.
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.
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.
✅ Forge suite
|
✅ Forge suite
|
✅ Forge suite
|
Description
Add indexer processor metrics to Forge. This does not include metrics from the indexer processors written with the processor SDK.
Also add support for providing a non-default forge deployer profile. By default tests use the
forge
profile, which is configured here: https://github.com/aptos-labs/internal-ops/blob/main/infra/cli/commands/forge/profiles.ts. For components outside ofaptos-core
like the indexer processors, it uses the build taggedmain
. However there are cases where we want to test experimental processors as well. In this case to keep the configuration easy to manage, we recommend creating a new test profile i.e.forge-indexer-sdk-test-metrics
(some concise descriptive name), which specifies an exact buildAfter this PR lands, devs can use the
FORGE_INDEXER_DEPLOYER_PROFILE
var in adhoc forge to trigger their tests with new profiles, which can include experimental builds of indexer processorsIn the future we might want to expose the entire deployer config to aptos-core too, and expose all test configuration in a config file rather than rust in
main.rs
of the forge-cli itself.Bonus:
How Has This Been Tested?
CI + workflow dispatch once it lands
Also spin up using the
create
command with a different profileminimal
:Key Areas to Review
Type of Change
Which Components or Systems Does This Change Impact?
Checklist