summaryrefslogtreecommitdiff
path: root/site/docs/documentation/Input/ExportModel.md
blob: 12e7eba2da1d09ce420488d15a82977c026b7d23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
During simulation, OpenDC exports data to files (see [Output](/docs/documentation/Output.md)).
The user can define what and how data is exported using the `exportModels` parameter in the experiment file.

## ExportModel



| Variable            | Type                                    | Required? | Default   | Description                                                                                                                                                   |
|---------------------|-----------------------------------------|-----------|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| exportInterval      | Int64                                   | no        | 300       | The duration between two exports in seconds                                                                                                                   |
| filesToExport       | Int64                                   | no        | 24        | How often OpenDC prints an update during simulation.                                                                                                          |  |
| computeExportConfig | [ComputeExportConfig](#checkpointmodel) | no        | Default   | The features that should be exported during the simulation                                                                                                    |
| filesToExport       | List[string]                            | no        | all files | List of the files that should be exported during simulation. The elements should be picked from the set ("host", "task", "powerSource", "battery", "service") |



### ComputeExportConfig
The ComputeExportConfig defines which features should be exported during the simulation.
Several features will always be exported, regardless of the configuration.
When not provided, all features are exported.


| Variable                 | Type         | Required? | Base                                                                   | Default      | Description                                                           |
|--------------------------|--------------|-----------|------------------------------------------------------------------------|--------------|-----------------------------------------------------------------------|
| hostExportColumns        | List[String] | no        | name <br/> cluster_name <br/> timestamp <br/> timestamp_absolute <br/> | All features | The features that should be exported to the host output file.         |
| taskExportColumns        | List[String] | no        | task_id <br/> task_name <br/> timestamp <br/> timestamp_absolute <br/> | All features | The features that should be exported to the task output file.         |
| powerSourceExportColumns | List[String] | no        | name <br/> cluster_name <br/> timestamp <br/> timestamp_absolute <br/> | All features | The features that should be exported to the power source output file. |
| batteryExportColumns     | List[String] | no        | name <br/> cluster_name <br/> timestamp <br/> timestamp_absolute <br/> | All features | The features that should be exported to the battery output file.      |
| serviceExportColumns     | List[String] | no        | timestamp <br/> timestamp_absolute <br/>                               | All features | The features that should be exported to the service output file.      |

### Example

```json
{
    "exportInterval": 3600,
    "printFrequency": 168,
    "filesToExport": ["host", "task", "service"],
    "computeExportConfig": {
        "hostExportColumns": ["power_draw", "energy_usage", "cpu_usage", "cpu_utilization"],
        "taskExportColumns": ["submission_time", "schedule_time", "finish_time", "task_state"],
        "serviceExportColumns": ["tasks_total", "tasks_pending", "tasks_active", "tasks_completed", "tasks_terminated", "hosts_up"]
    }
}
```
In this example: 
- the simulation will export data every hour (3600 seconds).
- The simulation will print an update every 168 seconds.
- Only the host, task and service files will be exported.
- Only a selection of features are exported for each file.