Cloud Trace Format

Version: 0.3

Date: November 1, 2019

Major Changes

We adapted the trace format from the last version, so that the new format can be used for both virtual machine and bare-metal instances.

Anonymization Techniques

(No change from the last version)

For confidentiality reasons, we have anonymized certain fields in the traces. Different anonymization methods were applied to different fields.

Hashed: We applied keyed cryptographic hash to the fields INSTANCE_UUID, INSTANCE_NAME, USER_ID, PROJECT_ID and HOST_NAME (PHYSICAL). The same key and hashed method were applied to the HOST_NAME (PHYSICAL) fields in both tables, so the two tables can reference each other.

Ordered: This technique is applied to RACK field in the machine events table. The list of observed unique RACK values is sorted. Then, we assigned sequential numbers starting with 0 to the items of the RACK list, and the observed values are mapped onto these numbers.

Time and Timestamps

(No change from the last version)

For instance events, we provided two times — the event start time and the event finish time, but for machine events, we only provide one time — the event time. We present all time fields in two ways. The actual time in UTC and the time difference in seconds between the actual time and the trace period start time. For the event times that were before the trace period start time, we marked the time difference field -1.

Data Tables

Machine Events

File Name: machine_events.csv

Trace Field NameDatabase FieldsDescription
EVENT_TIMEvm: nova.compute_nodes.created_at, nova.compute_nodes.updated_at, nova.compute_nodes.deleted_at, nova.services.updated_at bare-metal: ironic.nodes.created_at, blazar.computehosts.updated_at, blazar.computehost_extra_capabilities.created_at, blazar.computehost_extra_capabilities.updated_atThe time when the event happened in UTC.
EVENT_TIME_SECN/AThe time difference in seconds between the EVENT_TIME and the trace epoch time.
HOST_NAME (PHYSICAL)vm: nova.compute_nodes.host bare-metal: ironic.nodes.uuidName/ID of the physical machine. Reference the instance events table using this field.
EVENTN/ACREATE, UPDATE, DELETE, DISABLE, ENABLE
PROPERTIESvm: compute_nodes.vcpus, compute_nodes.memory_mb, compute_nodes.local_gb bare-metal: blazar.computehost_extra_capabilities.capability_name, blazar.computehost_extra_capabilities.capability_valueThe properties of the machine. (JSON formatted field.)

Instance Events

File Name: instance_events.csv

Trace Field NameNova Database FieldsDescription
INSTANCE_UUIDinstances.uuidThe unique id for each instance created by OpenStack.
EVENTinstance_actions_events.eventThe event corresponds to the type of action performed on an OpenStack instance.
START_TIMEinstance_actions_events.start_timeThe time when a related event started executing.
START_SECN/AThe time difference, in seconds, between the START_TIME and the trace epoch time.
FINISH_TIMEinstance_actions_events.finish_timeThe time when a related event completed.
FINISH_SECN/AThe time difference, in seconds, between the FINISH_TIME and the trace epoch time.
EVENT_DURATIONN/AThe time difference between START_TIME and FINISH_TIME.
RESULTinstance_actions_events.resultStatus of each action event. If the result is not success or null, then this action event was not successfully.
INSTANCE_NAMEinstances.hostnameThe name provided by the user while creating the instance. This name is not unique. Many instances can have the same instance name.
USER_IDinstances.user_idThe user identifier of the account from which the instance was created.
PROJECT_IDinstances.project_idThe project identifier of the account from which the instance was created.
HOST_NAME (PHYSICAL)instances.hostName/ID of the physical computer hosting the instance. Reference the machine events table using this field.
PROPERTIESvm: instances.memory_mb, instances.root_gb, instances.vcpus bare-metal: N/AThe properties of the instance. (JSON formatted field.)

Version: 0.2

Date: December 17, 2018

Major Changes

Along with the instance events table, a new machine events table is added to the cloud traces. Each machine (physical host) is described by one or more records in the machine events table.

Anonymization Techniques

For confidentiality reasons, we have anonymized certain fields in the traces. Different anonymization methods were applied to different fields.

Hashed: We applied keyed cryptographic hash to the fields INSTANCE_UUID, INSTANCE_NAME, USER_ID, PROJECT_ID and HOST_NAME (PHYSICAL). The same key and hashed method were applied to the HOST_NAME (PHYSICAL) fields in both tables, so the two tables can reference each other.

Ordered: This technique is applied to RACK field in the machine events table. The list of observed unique RACK values is sorted. Then, we assigned sequential numbers starting with 0 to the items of the RACK list, and the observed values are mapped onto these numbers.

Time and Timestamps

For instance events, we provided two times — the event start time and the event finish time, but for machine events, we only provide one time — the event time. We present all time fields in two ways. The actual time in UTC and the time difference in seconds between the actual time and the trace period start time. For the event times that were before the trace period start time, we marked the time difference field -1.

Data Tables

Machine Events

File Name: machine_events.csv

Trace Field NameNova Database FieldsDescription
EVENT_TIMEcompute_nodes.created_at, compute_nodes.updated_at, compute_nodes.deleted_at, services.updated_atThe time when the event happened in UTC.
EVENT_TIME_SECN/AThe time difference in seconds between the EVENT_TIME and the trace period start time.
HOST_NAME (PHYSICAL)compute_nodes.hostName of the physical machine hosting the KVM instance. Reference the instance events table using this field.
RACKN/AThe rack number which the machine belongs to. Extracted from the host name.
EVENTN/ACREATE, UPDATE, DELETE, DISABLE, ENABLE
VCPU_CAPACITYcompute_nodes.vcpusThe available number of virtual CPUs.
MEMORY_CAPACITY_MBcompute_nodes.memory_mbThe available memory in MB.
DISK_CAPACITY_GBcompute_nodes.local_gbThe available disk in GB.

Instance Events

File Name: instance_events.csv

Trace Field NameNova Database FieldsDescription
INSTANCE_UUIDinstances.uuidThe unique id for each KVM instance created by OpenStack.
EVENTinstance_actions_events.eventThe event corresponds to the type of action performed on an OpenStack instance.
START_TIMEinstance_actions_events.start_timeThe time when a related event started executing.
START_SECN/AThe time difference, in seconds, between the START_TIME and the trace period start time.
FINISH_TIMEinstance_actions_events.finish_timeThe time when a related event completed.
FINISH_SECN/AThe time difference, in seconds, between the FINISH_TIME and the trace period start time.
EVENT_DURATIONN/AThe time difference between START_TIME and FINISH_TIME.
RESULTinstance_actions_events.resultStatus of each action event. If the result is not success or null, then this action event was not successfully.
MEMORY_MBinstances.memory_mbAmount of RAM assigned to an instance at creation.
DISK_GBinstances.root_gbAmount of disk assigned to an instance at creation.
VCPUSinstances.vcpusThe number of virtual CPUs assigned to an instance at creation.
INSTANCE_NAMEinstances.hostnameThe name provided by the user while creating the VM. This name is not unique. Many instances can have the same instance name.
USER_IDinstances.user_idThe user identifier of the account from which the VM was created.
PROJECT_IDinstances.project_idThe project identifier of the account from which the VM was created.
HOST_NAME (PHYSICAL)instances.hostName of the physical computer hosting the KVM instance. Reference the machine events table using this field.

Version: 0.1

Date: July 31, 2017

Trace Field NameNova Database Fields
INSTANCE_UUIDinstances.uuid
EVENTinstance_actions_events.event
START_TIMEinstance_actions_events.start_time
START_SECderived from START_TIME
FINISH_TIMEinstance_actions_events.finish_time
FINISH_SECderived from FINISH_TIME
EVENT_DURATIONderived from START_TIME and FINISH_TIME
RESULTinstance_actions_events.result
MEMORY_MBinstances.memory_mb
DISK_GBinstances.root_gb
VCPUSinstances.vcpus
INSTANCE_NAMEinstances.hostname
USER_IDinstances.user_id
PROJECT_IDinstances.project_id
HOST_NAME (PHYSICAL)instances.host

Field Descriptions