feat: setup otlp prometheus exporter with correct invocation in node#1087
Conversation
Co-authored-by: Mikhail Zabaluev <mikhail.zabaluev@movementlabs.xyz>
Co-authored-by: Andy Golay <andygolay@gmail.com> Co-authored-by: musitdev <philippe.delrieu@free.fr> Co-authored-by: Mikhail Zabaluev <mikhail.zabaluev@movementlabs.xyz> Co-authored-by: Richard Melkonian <35300528+0xmovses@users.noreply.github.com> Co-authored-by: Icarus131 <anirudhprasad131@protonmail.com> Co-authored-by: primata <primata@movementlabs.xyz> Co-authored-by: Icarus131 <anirudhprasad131@gmail.com> Co-authored-by: Richard Melkonian <r.v.melkonian@gmail.com>
Co-authored-by: Andy Golay <andygolay@gmail.com> Co-authored-by: musitdev <philippe.delrieu@free.fr> Co-authored-by: Mikhail Zabaluev <mikhail.zabaluev@movementlabs.xyz> Co-authored-by: Richard Melkonian <35300528+0xmovses@users.noreply.github.com> Co-authored-by: Icarus131 <anirudhprasad131@protonmail.com> Co-authored-by: primata <primata@movementlabs.xyz> Co-authored-by: Icarus131 <anirudhprasad131@gmail.com> Co-authored-by: Richard Melkonian <r.v.melkonian@gmail.com> Co-authored-by: Radu Popa <radupopa21be@gmail.com>
Co-authored-by: Andy Golay <andygolay@gmail.com> Co-authored-by: musitdev <philippe.delrieu@free.fr> Co-authored-by: Mikhail Zabaluev <mikhail.zabaluev@movementlabs.xyz> Co-authored-by: Richard Melkonian <35300528+0xmovses@users.noreply.github.com> Co-authored-by: Icarus131 <anirudhprasad131@protonmail.com> Co-authored-by: primata <primata@movementlabs.xyz> Co-authored-by: Icarus131 <anirudhprasad131@gmail.com> Co-authored-by: Richard Melkonian <r.v.melkonian@gmail.com> Co-authored-by: Radu Popa <radupopa21be@gmail.com>
Co-authored-by: Liam Monninger <l.mak.monninger@gmail.com>
…#1075) Co-authored-by: Andy Golay <andygolay@gmail.com> Co-authored-by: musitdev <philippe.delrieu@free.fr> Co-authored-by: Mikhail Zabaluev <mikhail.zabaluev@movementlabs.xyz> Co-authored-by: Richard Melkonian <35300528+0xmovses@users.noreply.github.com> Co-authored-by: Icarus131 <anirudhprasad131@protonmail.com> Co-authored-by: primata <primata@movementlabs.xyz> Co-authored-by: Icarus131 <anirudhprasad131@gmail.com> Co-authored-by: Richard Melkonian <r.v.melkonian@gmail.com> Co-authored-by: Radu Popa <radupopa21be@gmail.com>
3560d0a to
c647978
Compare
…tive process using process-compose
|
Ok first, all the merge conflicts need to be resolved and merge main in to this branch, that will resolve the diff here. Thanks! |
760da1f to
bf2124e
Compare
0xmovses
left a comment
There was a problem hiding this comment.
Am I missing a local step for dev?
when running the cmd, prometheus process yields
bash: line 4: prometheus: command not found
cargo check --all-target gives some errors also:
error: cannot find macro `debug` in this scope
--> protocol-units/execution/maptos/opt-executor/src/executor/execution.rs:81:3
|
81 | debug!("Block tx execution: {:?}", tx_execution_results);
| ^^^^^
|
help: consider importing one of these items
|
1 + use aptos_logger::debug;
|
1 + use tracing::debug;
|
error[E0425]: cannot find function `aptos_test_root_address` in this scope
--> protocol-units/execution/maptos/opt-executor/src/executor/execution.rs:339:4
|
339 | aptos_test_root_address(),
| ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
|
help: consider importing one of these items
|
233 + use aptos_sdk::types::account_config::aptos_test_root_address;
|
233 + use aptos_types::account_config::aptos_test_root_address;
|
error[E0433]: failed to resolve: use of undeclared type `AccountKey`
--> protocol-units/execution/maptos/opt-executor/src/executor/execution.rs:340:4
|
340 | AccountKey::from_private_key(private_key),
| ^^^^^^^^^^ use of undeclared type `AccountKey`
|
help: consider importing this struct
|
233 + use aptos_sdk::types::AccountKey;
|
error[E0425]: cannot find function `aptos_test_root_address` in this scope
--> protocol-units/execution/maptos/opt-executor/src/executor/execution.rs:455:4
|
455 | aptos_test_root_address(),
| ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
|
help: consider importing one of these items
|
233 + use aptos_sdk::types::account_config::aptos_test_root_address;
|
233 + use aptos_types::account_config::aptos_test_root_address;
|
error[E0433]: failed to resolve: use of undeclared type `AccountKey`
--> protocol-units/execution/maptos/opt-executor/src/executor/execution.rs:456:4
|
456 | AccountKey::from_private_key(private_key),
| ^^^^^^^^^^ use of undeclared type `AccountKey`
|
help: consider importing this struct
|
233 + use aptos_sdk::types::AccountKey;
|
warning: unused import: `aptos_crypto::ValidCryptoMaterialStringExt`
--> protocol-units/execution/maptos/opt-executor/src/executor/execution.rs:238:6
|
238 | use aptos_crypto::ValidCryptoMaterialStringExt;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: the lint level is defined here
--> protocol-units/execution/maptos/opt-executor/src/lib.rs:4:8
|
4 | #[warn(unused_imports)]
| ^^^^^^^^^^^^^^
error: could not compile `maptos-opt-executor` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
Some errors have detailed explanations: E0425, E0433.
For more information about an error, try `rustc --explain E0425`.
warning: `maptos-opt-executor` (lib test) generated 1 warning
error: could not compile `maptos-opt-executor` (lib test) due to 5 previous errors; 1 warning emitte
| run: | | ||
| nix develop --command bash -c "just movement-full-node native build.setup.eth-local.celestia-local.test-ggp-gas-fee -t=false" | ||
|
|
||
| core-resource-signer: |
There was a problem hiding this comment.
Not sure why this test has been added, it runs test-ggp-gas-fee, but we're already running that elsewhere in this file.
| ports: | ||
| - "3000:3000" | ||
| volumes: | ||
| - ./grafana/provisioning:/etc/grafana/provisioning |
There was a problem hiding this comment.
@nicolaslpf will these values be the same in prod? Or do you imagine we will need some telelmetry.local.yml and a telemetry.production.yml?
bf2124e to
cb806d9
Compare
ganymedio
left a comment
There was a problem hiding this comment.
I was able to get some metrics

after about 10 - 15 minutes the process-compose stopped being responsive and then I started getting Error scraping target: Get "http://127.0.0.1:9464/metrics": dial tcp 127.0.0.1:9464: connect: connection refused again in the Prometheus targets page.
So it did work, but then crashed after a while. I'll defer to @0xmovses @musitdev @mzabaluev as to whether that's sufficient to merge this PR, or whether the process-compose reliability should be fixed more thoroughly first?
|
I have updated the command to be used to run this in the PR description. When run without the tests, it seems to work perfectly fine, without any of the crashing issues. |
| env: | ||
| CELESTIA_LOG_LEVEL: FATAL # adjust the log level while debugging | ||
| run: | | ||
| nix develop --command bash -c "just movement-full-node native build.setup.eth-local.celestia-local.test-ggp-gas-fee -t=false" |
There was a problem hiding this comment.
@Icarus131 I'm unclear on why this duplicate ggp test is added. Was it perhaps meant to be a CI check for the telemetry?
I wasn't sure how you're testing the docker-compose.telemetry.yml ... how does that work? Just general container tests? Or should there be a test for telemetry in CI?
ganymedio
left a comment
There was a problem hiding this comment.
The setup looks good; I've run Prometheus with the updated command and tried generating a few histograms; the service didn't crash for over 20 minutes while I was testing it.
Nice job @Icarus131
|
It's running all ok for me. I did a |
@0xmovses a prometheus session is spawned at |
|
Ok, trying agin. Thanks. |
|
Forget my last message, after some time, it loaded at :9091! 👍 |
0xmovses
left a comment
There was a problem hiding this comment.
We define ENV vars using this pattern here.
Could you use this pattern? Otherwise the implementation looks good.
|
Ah one conflict to resolve then this can merge in. |
| @@ -0,0 +1,26 @@ | |||
| version: "3" | |||
|
|
|||
| environment: | |||
There was a problem hiding this comment.
Previously we had a test for this as well. Is that somewhere in here? Is it added to?




Summary
RFCs: Link to RFC, Link to RFC, or$\emptyset$ .
Categories: any of
networks,util.Tracing crate for metrics with prometheus
Refer to issues Integrate Prometheus Exporter and add basic tracing #1126 and Providing metrics support through OTLP Prometheus Exporter #1099
Changelog
Modified existing tracing crate to support prometheus metrics thru OTLP. Created an exporter and an example invocation in the movement full node
Testing
Command used to run the prometheus exporter:
Before running, make sure prometheus is installed locally:
Outstanding issues