wakurtosis/README.md

1.9 KiB

Wakurtosis

Starting version for Waku network simulations (https://github.com/waku-org/pm/issues/2)

More info about Kurtosis: https://docs.kurtosis.com/

How to use:

Before using this repository note that:

  • You are using Kurtosis version 0.70.2. This is important, as they are working on it and changes can be huge depending on different versions. You can find all Kurtosis versions here.
  • The topology files that will be used by default are defined in config/topology_generated/. This topology is created with the gennet module.
  • Kurtosis can set up services in a parallel manner, defined in the config.json file (see below).
  • Only kurtosis and docker are needed to run this.

How to run

From the root of the repo run:

./build.sh

./run.sh <measurement_infra> [enclave_name] [config_file]

There are 4 different measurements: cadvisor, dstats, host-proc, container-proc. The other parameters are optional.

By default, the enclave name is wakurtosis and the config file is in config/config.json.

JSON main configuration file options

These are arguments that can be modified:

  • prng_seed: int. Seed to reproduce results.

  • enclave_name: string. Default: wakurtosis. Defines the name of the Kurtosis enclave being created.

  • topology_path: string. Topology information that will be read.

  • jobs: int. Defines how many services will be instantiated at the same time.

  • interconnect_nodes: It allows to skip the interconnection phase of the topology.

  • interconnection_batch: int. If nodes are being connected by a given topology, this tells kurtosis how many connections will try to set up in the same node at a time. Used to avoid timeouts if a node has a lot of connections.

  • Gennet module configuration

  • WLS module configuration