[AIAB-01] Configure the Telemetry

In this section you will configure how Akamas collects metrics related to the renaissance system. Metrics are required both to define your optimization goal (e.g.: minimize the renaissance.response_time metric) and analyze the optimization results.

A Telemetry Provider specifies how to collect these metrics from a source, such as a monitoring platform (e.g. Prometheus or Dynatrace), a test tool (eg. Neoload or Loadrunner) or a simple CSV file. Akamas ships several out-of-the-box Telemetry Providers.

For each specific source, an instance of the corresponding Telemetry Provider needs to be defined at the system level.

Create a CSV telemetry instance

The output of the Renaissance benchmark suite is a CSV report file once the benchmark completes, which includes the benchmark execution time, CPU, and memory usage. Therefore, you will now create a CSV telemetry instance.

The file tel_csv.yaml provides the following definition:

provider: CSV File

config:
  protocol: scp
  address: benchmark
  username: akamas
  authType: password
  auth: akamas
  remoteFilePattern: renaissance-parsed.csv
  componentColumn: component
  timestampColumn: TS
  timestampFormat: yyyy-MM-dd HH:mm:ss zzz

metrics:
- metric: response_time
  datasourceMetric: duration_ns
- metric: cpu_used
  datasourceMetric: cpu_used
- metric: mem_used
  datasourceMetric: mem_used

Create the telemetry instance as follows:

akamas create telemetry-instance tel_csv.yaml renaissance

You can verify your new telemetry instance under the corresponding tab within the UI:

You can always list all telemetry instances in a system and verify that they have been correctly created:

akamas list telemetry-instances renaissance

So far you have defined how the application to be optimized looks like in terms of Akamas system and components, and the telemetry required to gather the relevant metrics. Your next step is to create a workflow, that is defining how to run optimization experiments.

Last updated