-
Notifications
You must be signed in to change notification settings - Fork 94
feat: update tracing crate to thin aptos-telemetry wrapper #1246
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
Conversation
Is this ready to go? |
Is this required for metrics to go out or an improvement. |
@0xmovses its a requirement |
yes it is ready to go but need to change the refs after we merge the aptos-core 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.
Looking good @0xIcarus just need to resolve conflicts.
@0xIcarus could you resolve these and we get it merged? Let's ship this. |
New conflicts have emerged due to #1138 being merged just now (this was expected and by design). After you resolve this new changes in main, we should be good to merge this. Then we can start testing out the next release, which will have metrics + da-sequencer (monza). |
@andygolay & @musitdev pending your approval for merge. |
@0xIcarus Cargo fmt Check is failing. Run cargo format at the root of the workspace (or your changed files) |
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.
Pull Request Overview
This PR refactors the tracing
crate into a thin wrapper around aptos-telemetry
, updates all services to use the new telemetry setup, and exposes/promotes metrics endpoints across local and Docker Compose workflows.
- Replace in-crate tracing setup with
aptos-telemetry
initialization in the standalonemovement-tracing
binary - Remove legacy
movement_tracing::init_*
calls from light-node and full-node binaries - Update Compose and Prometheus configurations to expose and scrape metrics on port 9464
Reviewed Changes
Copilot reviewed 8 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
util/tracing/src/main.rs | Added a standalone telemetry server binary with logger setup |
util/tracing/Cargo.toml | Swapped core tracing deps for forked aptos-telemetry crates; set default-run |
protocol-units/da/movement/protocol/light-node/src/main.rs | Removed old tracing subscriber initialization |
process-compose/movement-full-node/process-compose.yml | Exposed host port 9464 for metrics |
process-compose/movement-full-node/process-compose.telemetry.yml | Refactored telemetry service entry and env vars |
networks/movement/movement-full-node/src/main.rs | Removed legacy telemetry init from the movement-full-node binary |
docker/compose/movement-full-node/prometheus.yml | Added new scrape jobs for movement metrics endpoints |
docker/compose/movement-full-node/docker-compose.telemetry.yml | Updated telemetry service env vars and port mappings |
Comments suppressed due to low confidence (3)
protocol-units/da/movement/protocol/light-node/src/main.rs:9
- The tracing subscriber initialization was removed, so metrics and tracing spans will no longer be captured. Please reintroduce a call to initialize telemetry (e.g.,
movement_tracing::ensure_telemetry_initialized()
).
async fn main() -> Result<(), Box<dyn std::error::Error>> {
networks/movement/movement-full-node/src/main.rs:6
- Telemetry initialization was removed here, so the full-node binary will start without metrics. You should call the new wrapper's initialization function (e.g.,
ensure_telemetry_initialized()
) at startup.
#[tokio::main]
util/tracing/Cargo.toml:27
- The
warp
dependency (and other crates likehex
,rand
,ring
,clap
) are not referenced inmain.rs
. Consider removing unused dependencies to reduce build times and maintenance overhead.
warp = "0.3"
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.
I don't know how prometheus is working so I don't have much remarks about its integration. My only one, is I don't see where it is integrated in the node.
It is pulling metrics that are emmited from components using aptos-core directly |
Summary
util
Updated metrics for all components using aptos-core. The tracing crate now acts as a thin wrapper around aptos-telemetry.
Changelog
lib.rs
in thetracing
crate by callingaptos-telemetry
with the custom metrics changes that have been incorporated in our forkTesting
Run using this command:
nix develop --command bash -c "just movement-full-node native build.setup.eth-local.celestia-local.telemetry --keep-project"
Metrics should be exposed at
localhost:9464
Outstanding issues