Skip to main content
OpenDC2 is no longer being developed

This page documents OpenDC2. OpenDC3 can still run OpenDC2 experiment files with opendc --legacy run, but new features are only added to OpenDC3. See the OpenDC3 documentation, or Migrating to OpenDC3.

Export model

An export model decides which output files OpenDC writes, which columns they have, and how often a sample is taken.

FieldTypeDefaultDescription
exportIntervalinteger300The time between two samples, in seconds.
printFrequencyinteger or null24Print a progress line every this many samples. null turns progress lines off.
filesToExportlist of stringsall filesThe files to write. Choose from host, task, powerSource, battery and service.
computeExportConfigcompute export configall columnsThe columns to write in each file.

Columns​

computeExportConfig has a list of column names per file. A file without a list gets all of its columns.

FieldAlways written
hostExportColumnstimestamp, timestamp_absolute, host_name, cluster_name
taskExportColumnstimestamp, timestamp_absolute, task_id, task_name
powerSourceExportColumnstimestamp, timestamp_absolute, source_name, cluster_name
batteryExportColumnstimestamp, timestamp_absolute, battery_name, cluster_name
serviceExportColumnstimestamp, timestamp_absolute

Column names are not case-sensitive. An unknown column name is ignored with an error message, and a list without any valid column name writes all columns.

Example​

"exportModels": [
{
"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"]
}
}
]

This takes a sample every hour, prints progress every week of simulated time, and writes only the host, task and service files, each with a few columns.