-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Per subsystem CPU usage tracking #4239
Per subsystem CPU usage tracking #4239
Conversation
Signed-off-by: Andrei Sandu <[email protected]>
* initilize SubsystemContext name field. * Add subsystem name in TaskKind::launch_task() Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
* initilize SubsystemContext name field. * Add subsystem name in TaskKind::launch_task() Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
…/per_subsystem_task_metrics
…tytech/polkadot into sandreim/per_subsystem_task_metrics Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
The code makes sense to me, but I would prefer more consistent casing: we're using PascalCase for Jobs, snake_case for subsystems/groups and kebab-case for task names. It would be nice to settle on one :) |
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
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.
A few nits, generally looks good! The naming still needs a final resolution regarding the right casing :)
Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
…/per_subsystem_task_metrics Signed-off-by: Andrei Sandu <[email protected]>
Signed-off-by: Andrei Sandu <[email protected]>
- remove JobTrait::Subsystem - fix tests Signed-off-by: Andrei Sandu <[email protected]>
// Generate subsystem name based on overseer field name. | ||
let mut subsystem_string = String::from(stringify!(#subsystem_name)); | ||
// Convert owned `snake case` string to a `kebab case` static str. | ||
let subsystem_static_str = Box::leak(subsystem_string.replace("_", "-").into_boxed_str()); |
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.
not a fan of this, but seems correct
Companion update failed: CommandFailed { cmd: "Command { std: "cargo" "update" "-v" "-p" "pallet-democracy:4.0.0-dev" "-p" "sc-service:0.10.0-dev" "-p" "sc-client-api:4.0.0-dev" "-p" "pallet-bags-list:4.0.0-dev" "-p" "beefy-gadget-rpc:4.0.0-dev" "-p" "beefy-gadget:4.0.0-dev" "-p" "sp-staking:4.0.0-dev" "-p" "pallet-transaction-payment-rpc:4.0.0-dev" "-p" "sp-trie:4.0.0-dev" "-p" "sc-consensus:0.10.0-dev" "-p" "pallet-mmr-primitives:4.0.0-dev" "-p" "pallet-im-online:4.0.0-dev" "-p" "pallet-proxy:4.0.0-dev" "-p" "sp-runtime-interface-proc-macro:4.0.0-dev" "-p" "sc-consensus-slots:0.10.0-dev" "-p" "sp-api:4.0.0-dev" "-p" "pallet-grandpa:4.0.0-dev" "-p" "pallet-beefy:4.0.0-dev" "-p" "pallet-gilt:4.0.0-dev" "-p" "pallet-sudo:4.0.0-dev" "-p" "sp-application-crypto:4.0.0-dev" "-p" "sp-keyring:4.0.0-dev" "-p" "sp-runtime:4.0.0-dev" "-p" "sp-wasm-interface:4.0.0-dev" "-p" "pallet-election-provider-multi-phase:4.0.0-dev" "-p" "pallet-transaction-payment-rpc-runtime-api:4.0.0-dev" "-p" "sc-basic-authorship:0.10.0-dev" "-p" "sp-core-hashing:4.0.0-dev" "-p" "pallet-beefy-mmr:4.0.0-dev" "-p" "sc-rpc:4.0.0-dev" "-p" "sp-state-machine:0.10.0-dev" "-p" "sc-consensus-babe-rpc:0.10.0-dev" "-p" "beefy-primitives:4.0.0-dev" "-p" "pallet-session:4.0.0-dev" "-p" "pallet-bounties:4.0.0-dev" "-p" "pallet-assets:4.0.0-dev" "-p" "sp-version:4.0.0-dev" "-p" "sc-consensus-babe:0.10.0-dev" "-p" "sc-transaction-pool:4.0.0-dev" "-p" "sp-finality-grandpa:4.0.0-dev" "-p" "sp-maybe-compressed-blob:4.1.0-dev" "-p" "sc-network:0.10.0-dev" "-p" "frame-benchmarking:4.0.0-dev" "-p" "sp-core-hashing-proc-macro:4.0.0-dev" "-p" "sp-storage:4.0.0-dev" "-p" "sp-offchain:4.0.0-dev" "-p" "sc-state-db:0.10.0-dev" "-p" "sp-authority-discovery:4.0.0-dev" "-p" "sc-cli:0.10.0-dev" "-p" "pallet-collective:4.0.0-dev" "-p" "sc-telemetry:4.0.0-dev" "-p" "sc-utils:4.0.0-dev" "-p" "sp-runtime-interface:4.0.0-dev" "-p" "pallet-society:4.0.0-dev" "-p" "substrate-build-script-utils:3.0.0" "-p" "sp-debug-derive:4.0.0-dev" "-p" "sc-client-db:0.10.0-dev" "-p" "sp-rpc:4.0.0-dev" "-p" "pallet-indices:4.0.0-dev" "-p" "frame-system-rpc-runtime-api:4.0.0-dev" "-p" "pallet-mmr:4.0.0-dev" "-p" "sc-peerset:4.0.0-dev" "-p" "frame-support-procedural-tools-derive:3.0.0" "-p" "pallet-utility:4.0.0-dev" "-p" "sp-consensus:0.10.0-dev" "-p" "sp-panic-handler:4.0.0-dev" "-p" "sp-transaction-storage-proof:4.0.0-dev" "-p" "frame-benchmarking-cli:4.0.0-dev" "-p" "sp-tracing:4.0.0-dev" "-p" "try-runtime-cli:0.10.0-dev" "-p" "sc-consensus-manual-seal:0.10.0-dev" "-p" "substrate-wasm-builder:5.0.0-dev" "-p" "sc-tracing:4.0.0-dev" "-p" "frame-support-test:3.0.0" "-p" "sp-io:4.0.0-dev" "-p" "sp-serializer:4.0.0-dev" "-p" "pallet-staking-reward-curve:4.0.0-dev" "-p" "sp-api-proc-macro:4.0.0-dev" "-p" "sp-version-proc-macro:4.0.0-dev" "-p" "sc-network-gossip:0.10.0-dev" "-p" "pallet-transaction-payment:4.0.0-dev" "-p" "frame-support-procedural-tools:4.0.0-dev" "-p" "pallet-mmr-rpc:3.0.0" "-p" "frame-support-procedural:4.0.0-dev" "-p" "frame-support-test-pallet:4.0.0-dev" "-p" "sc-keystore:4.0.0-dev" "-p" "sc-tracing-proc-macro:4.0.0-dev" "-p" "sp-npos-elections:4.0.0-dev" "-p" "pallet-offences-benchmarking:4.0.0-dev" "-p" "sc-block-builder:0.10.0-dev" "-p" "sc-authority-discovery:0.10.0-dev" "-p" "sp-authorship:4.0.0-dev" "-p" "sp-npos-elections-solution-type:4.0.0-dev" "-p" "sc-allocator:4.1.0-dev" "-p" "frame-support:4.0.0-dev" "-p" "pallet-tips:4.0.0-dev" "-p" "frame-executive:4.0.0-dev" "-p" "sc-rpc-server:4.0.0-dev" "-p" "sp-block-builder:4.0.0-dev" "-p" "generate-bags:4.0.0-dev" "-p" "substrate-frame-rpc-system:4.0.0-dev" "-p" "frame-election-provider-support:4.0.0-dev" "-p" "sc-executor:0.10.0-dev" "-p" "sc-finality-grandpa-rpc:0.10.0-dev" "-p" "sp-externalities:0.10.0-dev" "-p" "sp-consensus-slots:0.10.0-dev" "-p" "substrate-test-utils-derive:0.10.0-dev" "-p" "pallet-staking-reward-fn:4.0.0-dev" "-p" "sc-transaction-pool-api:4.0.0-dev" "-p" "pallet-offences:4.0.0-dev" "-p" "sp-consensus-babe:0.10.0-dev" "-p" "sc-informant:0.10.0-dev" "-p" "pallet-treasury:4.0.0-dev" "-p" "sp-timestamp:4.0.0-dev" "-p" "sp-transaction-pool:4.0.0-dev" "-p" "sc-executor-common:0.10.0-dev" "-p" "beefy-merkle-tree:4.0.0-dev" "-p" "frame-system:4.0.0-dev" "-p" "sp-inherents:4.0.0-dev" "-p" "sp-session:4.0.0-dev" "-p" "sp-database:4.0.0-dev" "-p" "sc-light:4.0.0-dev" "-p" "substrate-test-utils:4.0.0-dev" "-p" "pallet-identity:4.0.0-dev" "-p" "pallet-elections-phragmen:5.0.0-dev" "-p" "pallet-membership:4.0.0-dev" "-p" "pallet-nicks:4.0.0-dev" "-p" "pallet-scheduler:4.0.0-dev" "-p" "pallet-authority-discovery:4.0.0-dev" "-p" "pallet-bags-list-remote-tests:4.0.0-dev" "-p" "pallet-staking:4.0.0-dev" "-p" "sc-chain-spec:4.0.0-dev" "-p" "sc-consensus-uncles:0.10.0-dev" "-p" "sc-executor-wasmi:0.10.0-dev" "-p" "sc-executor-wasmtime:0.10.0-dev" "-p" "pallet-session-benchmarking:4.0.0-dev" "-p" "sc-proposer-metrics:0.10.0-dev" "-p" "sp-arithmetic:4.0.0-dev" "-p" "sp-std:4.0.0-dev" "-p" "frame-system-benchmarking:4.0.0-dev" "-p" "remote-externalities:0.10.0-dev" "-p" "sp-blockchain:4.0.0-dev" "-p" "pallet-babe:4.0.0-dev" "-p" "pallet-authorship:4.0.0-dev" "-p" "pallet-balances:4.0.0-dev" "-p" "frame-try-runtime:0.10.0-dev" "-p" "pallet-timestamp:4.0.0-dev" "-p" "sc-offchain:4.0.0-dev" "-p" "sc-rpc-api:0.10.0-dev" "-p" "sc-finality-grandpa:0.10.0-dev" "-p" "test-runner:0.9.0" "-p" "substrate-test-client:2.0.1" "-p" "substrate-prometheus-endpoint:0.10.0-dev" "-p" "sp-keystore:0.10.0-dev" "-p" "sp-tasks:4.0.0-dev" "-p" "pallet-vesting:4.0.0-dev" "-p" "sp-core:4.0.0-dev" "-p" "pallet-recovery:4.0.0-dev" "-p" "sp-consensus-vrf:0.10.0-dev" "-p" "sc-sync-state-rpc:0.10.0-dev" "-p" "sc-consensus-epochs:0.10.0-dev" "-p" "fork-tree:3.0.0" "-p" "sc-chain-spec-derive:4.0.0-dev" "-p" "pallet-multisig:4.0.0-dev", kill_on_drop: false }", status_code: Some(101), err: " Updating git repository |
* master: CI: chore (#3957) Companion – Update jsonrpsee to 0.4.1 (#4256) Add more XCM tracing (#4211) Update dependencies for latest substrate master (#4258) Bump mick-jaeger from 0.1.4 to 0.1.6 (#4249) Bump dlmalloc from 0.2.2 to 0.2.3 (#4250) Bump libc from 0.2.106 to 0.2.107 (#4235) Bump paste from 1.0.5 to 1.0.6 (#4244) Bump serde_json from 1.0.68 to 1.0.69 (#4236)
bot merge |
Waiting for commit status. |
Merge cancelled due to error. Error: Checks failed for 9cc4620 |
bot merge |
* master: (71 commits) Remove light client companion (#4191) Enable full use of pallet-bags-list in westend and kusama runtimes (#4195) collator-protocol: do not connect to the next group (#4261) Per subsystem CPU usage tracking (#4239) CI: chore (#3957) Companion – Update jsonrpsee to 0.4.1 (#4256) Add more XCM tracing (#4211) Update dependencies for latest substrate master (#4258) Bump mick-jaeger from 0.1.4 to 0.1.6 (#4249) Bump dlmalloc from 0.2.2 to 0.2.3 (#4250) Bump libc from 0.2.106 to 0.2.107 (#4235) Bump paste from 1.0.5 to 1.0.6 (#4244) Bump serde_json from 1.0.68 to 1.0.69 (#4236) Update `wasmtime` and related dependencies (companion for Substrate#10149) (#4210) update cargo lock to unbreak dep of a dep (#4245) Increase maximum chunk size to adjust for small networks. (#4220) availability recovery type name clarifications (#4203) Update `bridge/` codeowners (#4222) fix(staking miner): use `StorageKey` in getStorage (#4231) Change path for the tests to master (#4223) ...
* SubsystemContext: add subsystem name str Signed-off-by: Andrei Sandu <[email protected]> * Overseer builder proc macro changes * initilize SubsystemContext name field. * Add subsystem name in TaskKind::launch_task() Signed-off-by: Andrei Sandu <[email protected]> * Update ToOverseer enum Signed-off-by: Andrei Sandu <[email protected]> * Assign subsystem names to orphan tasks Signed-off-by: Andrei Sandu <[email protected]> * cargo fmt Signed-off-by: Andrei Sandu <[email protected]> * SubsystemContext: add subsystem name str Signed-off-by: Andrei Sandu <[email protected]> * Overseer builder proc macro changes * initilize SubsystemContext name field. * Add subsystem name in TaskKind::launch_task() Signed-off-by: Andrei Sandu <[email protected]> * Update ToOverseer enum Signed-off-by: Andrei Sandu <[email protected]> * Assign subsystem names to orphan tasks Signed-off-by: Andrei Sandu <[email protected]> * cargo fmt Signed-off-by: Andrei Sandu <[email protected]> * Rebase changes for new spawn() group param Signed-off-by: Andrei Sandu <[email protected]> * Add subsystem constat in JobTrait Signed-off-by: Andrei Sandu <[email protected]> * Add subsystem string Signed-off-by: Andrei Sandu <[email protected]> * Fix tests Signed-off-by: Andrei Sandu <[email protected]> * Fix spawn() calls Signed-off-by: Andrei Sandu <[email protected]> * cargo fmt Signed-off-by: Andrei Sandu <[email protected]> * Fix Signed-off-by: Andrei Sandu <[email protected]> * Fix tests Signed-off-by: Andrei Sandu <[email protected]> * fix Signed-off-by: Andrei Sandu <[email protected]> * Fix more tests Signed-off-by: Andrei Sandu <[email protected]> * Address PR review feedback #1 Signed-off-by: Andrei Sandu <[email protected]> * Address PR review round 2 Signed-off-by: Andrei Sandu <[email protected]> * Fixes - remove JobTrait::Subsystem - fix tests Signed-off-by: Andrei Sandu <[email protected]> * update Cargo.lock Co-authored-by: Andronik Ordian <[email protected]>
Partially implement #4198
Sets
task_group
label of task metrics to allow aggregation based on subsystem. Most of the tasks spawned in the Polkadot codebase will now have an appropriate name and group, but Substrate tasks don't set the group.I view this as a good starting point that we can iterate on to consistently group tasks in future PRs.
Substrate changes: paritytech/substrate#10196
skip check-dependent-cumulus