Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 50 additions & 8 deletions content/en/docs/measuring/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ date: 2022-06-20T08:48:45+00:00
weight: 825
---

## Config.yml
Configurations in the GMT happen at two central places.

The file based [config.yml](#configyml) and the Dashboard based [User Settings](#user-settings)

## config.yml

The `config.yml` configures some global measurement settings that are used when
executing the `runner.py` directly or through cron / cluster-client mode.
Expand Down Expand Up @@ -69,8 +73,6 @@ measurement:
pre-test-sleep: 5
idle-duration: 5
baseline-duration: 5
flow-process-duration: 1800 # half hour
total-duration: 3600 # one hour
post-test-sleep: 5
phase-transition-time: 1
boot:
Expand All @@ -97,13 +99,13 @@ admin:

The `postgresql`, `smtp` and `cluster` key were already discussed in the [installation →]({{< relref "/docs/installation/installation-linux" >}}) part.

## machine
### machine
If you run locally nothing needs to be configured here. But if you run a *cluster* you must set the base temperature values for the accuracy control to work

Please see [cluster installation →]({{< relref "/docs/cluster/installation" >}}) and [accuracy control →]({{< relref "/docs/cluster/accuracy-control" >}})


## cluster
### cluster

Only the following three variables are important for a local installation:

Expand All @@ -114,13 +116,12 @@ Only the following three variables are important for a local installation:
For the rest please see [installation →]({{< relref "/docs/cluster/installation" >}})


## measurement
### measurement

- `system_check_threshold` **[integer]: Level at which an exception will be raised for system checks. The lower the more restrictive system checks are. We recommend *3* for development and *2* for cluster setups. *1* only for debugging.
- `pre-test-sleep` **[integer]**: Seconds to idle containers after orchestrating but before start of measurement
- `post-test-sleep` **[integer]**: Seconds to idle containers after measurement
- `flow-process-duration` **[integer]**: Max. duration in seconds for how long one flow should take. Timeout-Exception is thrown if exceeded.
- `total-duration` **[integer]**: Max. duration in seconds for how long the whole benchmark may take. Including building containers, baseline, idle, runtime and removal phases.
benchmark may take. Including building containers, baseline, idle, runtime and removal phases.
- `idle-duration` **[integer]**: Duration in seconds for the idle phase
- `baseline-duration` **[integer]**: Duration in seconds for the baseline phase
- `phase-transition-time` **[integer]**: Seconds to idle between phases
Expand Down Expand Up @@ -153,3 +154,44 @@ email behaviour if configured
- `notification_email_bcc` **[str|bool]**: This email will always get a copy of every notification email sent, even for user-only mails like the "Your report is ready" mail.
- `error_file` **[str|bool]**: Takes a file path to log all the errors to it. This is disabled if False
- `error_email` **[str|bool]**: Sends an error notification also via email. This is disabled if False


## optimization
Here you can ignore certain optimizations to not run.

All possible optimizations are found in the `/optimization_providers` folder of the GMT.

To disable for instance the *container_build_time* optimization you could set:
```yml
optimization:
ignore:
- container_build_time
```

## sci

Please see for details: [SCI →]({{< relref "sci" >}}).

## electricity_maps_token

If you are using [Eco CI](https://www.green-coding.io/products/eco-ci) or [Carbon DB](https://www.green-coding.io/products/eco-ci) you need to configure Electricitymaps with a valid API token to get carbon intensity data.

The value is a string.

Example:
```yml
electricity_maps_token: 'MY_TOKEN'
```

## User Settings

Settings that are specifc to a user and apply to all machines that you are measuring on equally are to be configured via the Dashboard.
For local installations these are to be found under [https://metrics.green-coding.internal:9142/settings.html](https://metrics.green-coding.internal:9142/settings.html). If you use our [Hosted Service](https://metrics.green-coding.io/) you find it at [https://metrics.green-coding.io/settings.html](https://metrics.green-coding.io/settings.html)

- `disabled_metric_providers` **[list]**: Providers to disable in CamelCase format.
+ Example: *NetworkConnectionsProxyContainerProvider*
- `flow-process-duration` **[integer]**: Max. duration in seconds for how long one flow should take. Timeout-Exception is thrown if exceeded.
- `total-duration` **[integer]**: Max. duration in seconds for how long the whole run is allowed to take


<center><img style="width: 300px;" src="/img/dashboard-settings.webp" alt="Dashboard Setings for GMT Measurements"></center>
8 changes: 8 additions & 0 deletions content/en/docs/measuring/sci.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,14 @@ from official databases like:
- [https://tco.exploresurface.com/sustainability/calculator](https://tco.exploresurface.com/sustainability/calculator)
- [https://www.delltechnologies.com/asset/en-us/products/servers/technical-support/Full_LCA_Dell_R740.pdf](https://www.delltechnologies.com/asset/en-us/products/servers/technical-support/Full_LCA_Dell_R740.pdf)

Example:
```yml
sci:
EL: 4 # means 4 years of usage
RS: 1 # means we use 1/1 = 100% of the machine. Bare metal. No virtualization
TE: 181000 # Example value for a laptop taken from https://dataviz.boavizta.org/terminalimpact. Value is in g
I: 436 # The number 436 that comes as default is for Germany from 2022. Value in gCO2e/kWh
```

## Display

Expand Down
Binary file added static/img/dashboard-settings.webp
Binary file not shown.