Getting Performance Metrics

I would like to gain insight in how Libra currently scales in terms of number of Validator nodes. Currently the project provide performance metrics via Terraform but it seems to be entangled with Amazon Web services (AWS). My question is: Can I get performance metrics with Terraform from my local docker network? I create my network via the following commands:

docker/validator-dynamic/run.sh
docker/mint/run.sh libra_mint:latest 172.18.0.10 8000 info
cargo run -p cli --bin cli ā€“ -a 172.18.0.10 -p 8000 -f 172.18.0.2:8000

And if this is not (yet) possible then what would be the best approach for getting performance metrics such as:

Transaction finality time
Transaction throughput

When enabling the metrics in the metrics_config.rs file the nodes do create a metrics file in the folder: ā€œ/opt/libra/data/common/metrics/ā€. Is there currently a script that parses this file into readable metrics?

3 Likes

Dear Jenifer hi,
I expect the guys at Calibra would best answers this questions on transaction finality et la

In the mean while if you trace any other out of place sequences it would be in order.

2 Likes

Hi @jeanpierre92

Thank you for your question.
We currently do not have any script to parse metrics output file

We are mostly focusing on performance metrics in real network conditions, which requires setting up each validator on dedicated machines on AWS(or other cloud provider).

However, I think your request is reasonable, and getting some numbers in local environment can be useful. We will add this capability at some point, I created github issue to track this - https://github.com/libra/libra/issues/3115.

Note that even when we implement this, performance numbers that you get from local docker setup will probably be very different from numbers that same test will show on full AWS setup

2 Likes

Hi @andrey

Thank you for your quick reply and explanation.
Currently I am logging the relevant moments in the Block-chain myself in order to gain performance metrics. With the already existing metrics logger this makes it easier for me to find out where to log. Furthermore I am interested in why the local docker setup metrics will differ from the full AWS setup and by approximately how much?

Thanks!

1 Like

Hi @jeanpierre92

I am not sure which setup do you use to run docker locally and which hardware you use.

For getting performance metrics we setup one AWS machine per validator and use linux + docker.
If you use single machine to setup all validators, they might compete for resources and therefore work slower.

If you are using something different then linux as host system, such setup can also impose some penalties. For example if you have macos + docker desktop, docker would run in virtual machine with limited resources(for example docker desktop by default limits number of CPU cores available for virtual machine where docker runs)

3 Likes

@andrey Which docker image do you use? Iā€™m trying to run a private network with different validators on different machines on Azure

We are using validator-dynamic docker image: https://github.com/libra/libra/tree/master/docker/validator-dynamic

Thanks for your reply, can you share an exemple of configuration passed to the docker image?