|
| 1 | +postgresql: |
| 2 | + host: localhost |
| 3 | + user: postgres |
| 4 | + dbname: green-coding |
| 5 | + password: test1234 |
| 6 | + port: 9573 |
| 7 | + retry_timeout: 300 # Total time to retry database connections on outage/failure (5 minutes) |
| 8 | + |
| 9 | +redis: |
| 10 | + host: localhost |
| 11 | + port: 6379 |
| 12 | + |
| 13 | +security: |
| 14 | + # Used to encrypt secrets before storing them in the database. Keep this stable; |
| 15 | + # changing it makes previously encrypted DB values unreadable. If these are empty |
| 16 | + # no encryption is used. |
| 17 | + encryption_public_key_file: null |
| 18 | + encryption_private_key_file: null |
| 19 | + |
| 20 | +smtp: |
| 21 | + server: SMTP_SERVER |
| 22 | + sender: SMTP_SENDER |
| 23 | + port: SMTP_PORT |
| 24 | + password: SMTP_AUTH_PW |
| 25 | + user: SMTP_AUTH_USER |
| 26 | + |
| 27 | +admin: |
| 28 | + # This address will get an email, for notifications in the system like an added job through the interface |
| 29 | + notification_email: False |
| 30 | + # Takes a file path to log all the errors to it. This is disabled if False |
| 31 | + error_file: False |
| 32 | + # Sends an error notification also via email. This is disabled if False |
| 33 | + error_email: False |
| 34 | + # This email will always get a copy of email sent which is not already the receipient, even for user-only mails like the "Your report is ready" mail. |
| 35 | + email_bcc: False |
| 36 | + |
| 37 | + |
| 38 | +cluster: |
| 39 | + api_url: http://api.green-coding.internal:9142 |
| 40 | + metrics_url: http://metrics.green-coding.internal:9142 |
| 41 | + cors_allowed_origins: |
| 42 | + - http://api.green-coding.internal:9142 |
| 43 | + - http://metrics.green-coding.internal:9142 |
| 44 | + client: |
| 45 | + sleep_time_no_job: 300 |
| 46 | + jobs_processing: "random" |
| 47 | + update_os_packages: True |
| 48 | + shutdown_on_job_no: suspend |
| 49 | + # These two parameters have only effect in cluster mode. When using CLI they will be set via flags --docker-prune and --full-docker-prune only |
| 50 | + docker_prune: False |
| 51 | + full_docker_prune: True |
| 52 | + # define a workload to check cluster noise floor |
| 53 | + time_between_control_workload_validations: 21600 |
| 54 | + send_control_workload_status_mail: False |
| 55 | + control_workload: |
| 56 | + name: "Measurement control Workload" |
| 57 | + uri: "https://github.com/green-coding-solutions/measurement-control-workload" |
| 58 | + filename: "usage_scenario.yml" |
| 59 | + branch: "event-bound" |
| 60 | + comparison_window: 5 |
| 61 | + phase: "004_[RUNTIME]" |
| 62 | + metrics: |
| 63 | + psu_energy_ac_mcp_machine: |
| 64 | + threshold: 0.01 # 1% |
| 65 | + type: stddev_rel |
| 66 | + psu_power_ac_mcp_machine: |
| 67 | + threshold: 0.01 # 1% |
| 68 | + type: stddev_rel |
| 69 | + cpu_power_rapl_msr_component: |
| 70 | + threshold: 0.01 # 1% |
| 71 | + type: stddev_rel |
| 72 | + cpu_energy_rapl_msr_component: |
| 73 | + threshold: 0.01 # 1% |
| 74 | + type: stddev_rel |
| 75 | + psu_carbon_ac_mcp_machine: |
| 76 | + threshold: 0.01 # 1% |
| 77 | + type: stddev_rel |
| 78 | + network_total_cgroup_container: |
| 79 | + threshold: 10000 # 10 kB |
| 80 | + type: stddev |
| 81 | + phase_time_syscall_system: |
| 82 | + threshold: 0.01 # 1% |
| 83 | + type: stddev_rel |
| 84 | + |
| 85 | + |
| 86 | +machine: |
| 87 | + id: 1 |
| 88 | + description: "Development machine for testing" |
| 89 | + base_temperature_value: False |
| 90 | + base_temperature_chip: False |
| 91 | + base_temperature_feature: False |
| 92 | + |
| 93 | + # Reservations guarantee that GMT always cpu time to execute metric providers and system does not OOM |
| 94 | + # Not recommended to alter this in development, but when running on a cluster it should be set |
| 95 | + # host_reserved_cpus must always be >= 1 or GMT will fail |
| 96 | + host_reserved_cpus: 1 |
| 97 | + host_reserved_memory: 0 |
| 98 | + |
| 99 | +measurement: |
| 100 | + full_docker_prune_whitelist: |
| 101 | + - martizih/kaniko:slim |
| 102 | + metric_providers: |
| 103 | + # Please select the needed providers according to the working ones on your system |
| 104 | + # More info https://docs.green-coding.io/docs/measuring/metric-providers |
| 105 | + # Please activate and deactivate any provider in this list by uncommenting it. |
| 106 | + # Keep in mind that some reporters need separate installation steps to be found @ |
| 107 | + # https://docs.green-coding.io/docs/installation/installation-overview/ |
| 108 | + # You can ignore any line that starts with #--- |
| 109 | + #--- Architecture - Linux Only |
| 110 | + linux: |
| 111 | + #--- Always-On - We recommend these providers to be always enabled |
| 112 | + cpu_utilization_procfs_system: |
| 113 | + sampling_rate: 99 |
| 114 | + #--- CGroupV2 - Turn these on if you have CGroupsV2 working on your machine |
| 115 | + cpu_utilization_cgroup_container: |
| 116 | + sampling_rate: 99 |
| 117 | + memory_used_cgroup_container: |
| 118 | + sampling_rate: 99 |
| 119 | + network_io_cgroup_container: |
| 120 | + sampling_rate: 99 |
| 121 | + disk_io_cgroup_container: |
| 122 | + sampling_rate: 99 |
| 123 | + #--- RAPL - Only enable these if you have RAPL enabled on your machine |
| 124 | +# cpu_energy_rapl_msr_component: |
| 125 | +# sampling_rate: 99 |
| 126 | +# memory_energy_rapl_msr_component: |
| 127 | +# sampling_rate: 99 |
| 128 | + #--- Machine Energy - These providers need special hardware / lab equipment to work |
| 129 | +# psu_energy_ac_gude_machine: |
| 130 | +# sampling_rate: 99 |
| 131 | +# psu_energy_ac_powerspy2_machine: |
| 132 | +# sampling_rate: 250 |
| 133 | +# psu_energy_ac_mcp_machine: |
| 134 | +# sampling_rate: 99 |
| 135 | +# psu_energy_ac_ipmi_machine: |
| 136 | +# sampling_rate: 99 |
| 137 | +# psu_energy_dc_rapl_msr_machine: |
| 138 | +# sampling_rate: 99 |
| 139 | + #--- GPU - Only enable these if you have GPUs with power measurement enabled in your machine |
| 140 | +# gpu_energy_nvidia_nvml_component: |
| 141 | +# sampling_rate: 99 |
| 142 | + #--- Sensors - these providers need the lm-sensors package installed |
| 143 | +# lmsensors_temperature_component: |
| 144 | +# sampling_rate: 99 |
| 145 | + # Please change these values according to the names in '$ sensors' |
| 146 | +# chips: ['thinkpad-isa-0000', 'coretemp-isa-0000'] |
| 147 | +# features: ['CPU', 'Package id 0', 'Core 0', 'Core 1', 'Core 2', 'Core 3'] |
| 148 | +# lmsensors_fan_component: |
| 149 | +# sampling_rate: 99 |
| 150 | + # Please change these values according to the names in '$ sensors' |
| 151 | +# chips: ['thinkpad-isa-0000'] |
| 152 | +# features: ['fan1', 'fan2'] |
| 153 | + #--- Debug - These providers should only be needed for debugging and introspection purposes |
| 154 | +# cpu_throttling_msr_component: |
| 155 | +# sampling_rate: 99 |
| 156 | +# cpu_frequency_msr_core: |
| 157 | +# sampling_rate: 99 |
| 158 | +# base_ghz: 2.4 # Set to the nominal (non-turbo) base clock of your Intel CPU in GHz |
| 159 | +# cpu_time_cgroup_container: |
| 160 | +# sampling_rate: 99 |
| 161 | +# cpu_time_cgroup_system: |
| 162 | +# sampling_rate: 99 |
| 163 | +# cpu_time_procfs_system: |
| 164 | +# sampling_rate: 99 |
| 165 | +# disk_io_procfs_system: |
| 166 | +# sampling_rate: 99 |
| 167 | +# network_io_procfs_system: |
| 168 | +# sampling_rate: 99 |
| 169 | +# remove_virtual_interfaces: True |
| 170 | +# disk_used_statvfs_system: |
| 171 | +# sampling_rate: 99 |
| 172 | +# memory_used_procfs_system: |
| 173 | +# sampling_rate: 99 |
| 174 | + #--- Cgroup system monitoring - These providers can be used to monitor background processes |
| 175 | +# cpu_utilization_cgroup_system: |
| 176 | +# sampling_rate: 99 |
| 177 | +# cgroups: |
| 178 | +# "org.gnome.Shell@wayland.service": |
| 179 | +# name: "Window Manager incl. X11" |
| 180 | +# "session-2.scope": |
| 181 | +# name: "GNOME Desktop" |
| 182 | +# memory_used_cgroup_system: |
| 183 | +# sampling_rate: 99 |
| 184 | +# cgroups: |
| 185 | +# "org.gnome.Shell@wayland.service": |
| 186 | +# name: "Window Manager incl. X11" |
| 187 | +# "session-2.scope": |
| 188 | +# name: "GNOME Desktop" |
| 189 | +# disk_io_cgroup_system: |
| 190 | +# sampling_rate: 99 |
| 191 | +# cgroups: |
| 192 | +# "org.gnome.Shell@wayland.service": |
| 193 | +# name: "Window Manager incl. X11" |
| 194 | +# "session-2.scope": |
| 195 | +# name: "GNOME Desktop" |
| 196 | +# network_io_cgroup_system: |
| 197 | +# sampling_rate: 99 |
| 198 | +# cgroups: |
| 199 | +# "org.gnome.Shell@wayland.service": |
| 200 | +# name: "Window Manager incl. X11" |
| 201 | +# "session-2.scope": |
| 202 | +# name: "GNOME Desktop" |
| 203 | + |
| 204 | + #--- Architecture - MacOS |
| 205 | + macos: |
| 206 | + #--- MacOS: On Mac you only need this provider. Please remove all others! |
| 207 | + powermetrics: |
| 208 | + sampling_rate: 499 # If you set this value too low powermetrics will not be able to accommodate the timing. We recommend no lower than 199 ms |
| 209 | + cpu_utilization_mach_system: |
| 210 | + sampling_rate: 99 |
| 211 | + #--- Architecture - Windows |
| 212 | + #--- Windows: Python runs natively, Docker Desktop runs Linux containers. |
| 213 | + windows: |
| 214 | + #--- RAPL - Requires the ScaphandreDrv kernel driver to be installed and running. |
| 215 | + cpu_energy_rapl_scaphandre_component: |
| 216 | + sampling_rate: 99 |
| 217 | + # Optionally disable individual RAPL domains (cpu_package, cpu_cores, cpu_gpu, dram, psys) |
| 218 | + # domains: |
| 219 | + # cpu_gpu: False |
| 220 | + # dram: False |
| 221 | + cpu_utilization_windows_system: |
| 222 | + sampling_rate: 99 |
| 223 | + #--- Architecture - Common |
| 224 | + common: |
| 225 | +# network_connections_proxy_container: |
| 226 | +## host_ip: 192.168.1.2 # This only needs to be enabled if automatic detection fails |
| 227 | + |
| 228 | + #--- Model based - These providers estimate rather than measure. Helpful where measuring is not possible, like in VMs |
| 229 | +# psu_energy_ac_sdia_machine: |
| 230 | + #-- This is a default configuration. Please change this to your system! |
| 231 | +# CPUChips: 1 |
| 232 | +# TDP: 65 |
| 233 | +# psu_energy_ac_xgboost_machine: |
| 234 | + #-- This is a default configuration. Please change this to your system! |
| 235 | +# CPUChips: 1 |
| 236 | +# HW_CPUFreq: 3200 |
| 237 | +# CPUCores: 4 |
| 238 | +# CPUThreads: 4 |
| 239 | +# TDP: 65 |
| 240 | +######### The value for memory must be in GB not in GiB |
| 241 | +# HW_MemAmountGB: 16 |
| 242 | +# Hardware_Availability_Year: 2011 |
| 243 | +######### vhost_ratio is the virtualization degree of the machine. For Bare Metal this is 1. For 1 out of 4 VMs this would be 0.25 etc. |
| 244 | +# VHost_Ratio: 1 |
| 245 | +# |
| 246 | +###### DEBUG |
| 247 | +# network_connections_tcpdump_system: |
| 248 | +# split_ports: True |
| 249 | +#--- END |
| 250 | + |
| 251 | + |
| 252 | +sci: |
| 253 | + # https://github.com/Green-Software-Foundation/sci/blob/main/Software_Carbon_Intensity/Software_Carbon_Intensity_Specification.md |
| 254 | + |
| 255 | + # The values specific to the machine will be set here. The values that are specific to the |
| 256 | + # software, like R (functional unit), will be set in the usage_scenario.yml |
| 257 | + |
| 258 | + # EL Expected Lifespan; the anticipated time that the equipment will be installed. Value is in years |
| 259 | + # The number 3.5 comes from a typical developer machine (Pro Laptop - https://dataviz.boavizta.org/terminalimpact) |
| 260 | + EL: 4 |
| 261 | + # RS Resource-share; the share of the total available resources of the hardware reserved for use by the software. |
| 262 | + # This ratio is typically 1 with the Green Metrics Tool unless you use a custom distributed orchestrator |
| 263 | + RS: 1 |
| 264 | + # TE Total Embodied Emissions; the sum of Life Cycle Assessment (LCA) emissions for all hardware components. |
| 265 | + # Value is in gCO2eq |
| 266 | + # The value has to be identified from vendor datasheets. Here are some example sources: |
| 267 | + # https://dataviz.boavizta.org/manufacturerdata |
| 268 | + # https://tco.exploresurface.com/sustainability/calculator |
| 269 | + # https://www.delltechnologies.com/asset/en-us/products/servers/technical-support/Full_LCA_Dell_R740.pdf |
| 270 | + # The default is the value for a developer machine (Pro Laptop - https://dataviz.boavizta.org/terminalimpact) |
| 271 | + TE: 181000 |
| 272 | + # I is the Carbon Intensity at the location of this machine |
| 273 | + # The value can either be a number in gCO2e/kWh or a carbon intensity provider that fetches this number dynamically |
| 274 | + # https://docs.green-coding.io/docs/measuring/carbon-intensity-providers/carbon-intensity-providers-overview/ (TODO) |
| 275 | + # For fixed world-wide values get the number from https://ember-climate.org/insights/research/global-electricity-review-2025/ |
| 276 | + # The number worldwide for 2024 is 473 |
| 277 | + # The number 334 that comes as default is for Germany from 2024 and comes from https://app.electricitymaps.com/zone/DE/all/yearly |
| 278 | + I: 334 |
| 279 | + # N is not technically part of the SCI, but we keep the value here for better clustering. |
| 280 | + # N is the network energy intensity per transferred data. It transforms values like GB to kWh |
| 281 | + # See https://www.green-coding.io/co2-formulas/ for details |
| 282 | + N: 0.04106063 |
| 283 | + |
| 284 | +#optimization: |
| 285 | +# ignore: |
| 286 | +# - example_optimization_test |
| 287 | + |
| 288 | +# In order to get the carbon intensity we use electricity maps which requires a token. |
| 289 | +# You can get this under https://api-portal.electricitymaps.com/ |
| 290 | +# This is a free service please note that you need to pay if you want to use this commercially! |
| 291 | +#electricity_maps_token: '123' |
| 292 | + |
| 293 | +# Modules API / Frontend |
| 294 | +# GMT can selectively activate some API and frontend components. This is asked in the install process and should NOT |
| 295 | +# only be changed here as files in different locations are changed too. Please re-run the install process. |
| 296 | +activate_scenario_runner: True |
| 297 | +activate_eco_ci: True |
| 298 | +activate_power_hog: True |
| 299 | +activate_carbon_db: True |
| 300 | +activate_ai: False |
| 301 | + |
| 302 | +# GMT can activate additional enterprise only functionality |
| 303 | +# If you have a subscription insert your token here |
| 304 | +ee_token: False |
0 commit comments