blob: 7129c239741323c9b722a72ba0e617b333edd989 [file] [log] [blame]
syntax = "proto2";
package cuttlefish;
import "common.proto";
// Wrapper for Cuttlefish Metrics log events.
// Next index: 22
message MetricsEvent {
// High level event types for this message. This is the broadest
// category identifier for MetricsEvent and should be used to indicate
// which other fields will be populated. Only used in field event_type.
// Next index: 6
enum EventType {
// An unspecified, unhandled event.
CUTTLEFISH_EVENT_TYPE_UNSPECIFIED = 0;
// The device experienced an error.
CUTTLEFISH_EVENT_TYPE_ERROR = 1;
// The event type is the time the VM instance is instantiated.
CUTTLEFISH_EVENT_TYPE_VM_INSTANTIATION = 2;
// The event type is the time the device boot process is started.
CUTTLEFISH_EVENT_TYPE_DEVICE_BOOT = 3;
// The event type is the time the device lock screen is available.
CUTTLEFISH_EVENT_TYPE_LOCK_SCREEN_AVAILABLE = 4;
// The event type is the time the virtual device was stopped.
CUTTLEFISH_EVENT_TYPE_VM_STOP = 5;
}
// Defines the OS that this log was sourced from.
// This may not be the same OS which uploaded the log event.
// Next index: 5
enum OsType {
// The log event was sourced from an unspecified os type.
CUTTLEFISH_OS_TYPE_UNSPECIFIED = 0;
// The log event was sourced from Linux x86 os type.
CUTTLEFISH_OS_TYPE_LINUX_X86 = 1;
// The log event was sourced from Linux x86_64 os type.
CUTTLEFISH_OS_TYPE_LINUX_X86_64 = 2;
// The log event was sourced from Linux aarch32 os type.
CUTTLEFISH_OS_TYPE_LINUX_AARCH32 = 3;
// The log event was sourced from Linux aarch64 os type.
CUTTLEFISH_OS_TYPE_LINUX_AARCH64 = 4;
}
// Defines the VMM that this log was sourced from.
// This may not be the same VMM which uploaded the log event.
// Next index: 3
enum VmmType {
// The log event was sourced from an unspecified vmm type.
CUTTLEFISH_VMM_TYPE_UNSPECIFIED = 0;
// The log event was sourced from a CrOS VM vmm type.
CUTTLEFISH_VMM_TYPE_CROSVM = 1;
// The log event was sourced from a QEMU vmm type.
CUTTLEFISH_VMM_TYPE_QEMU = 2;
}
// High level error types for this message. Defines the error
// the device received when it experienced an error. This field
// should only be present when event_type is ERROR.
// Next index: 1
enum ErrorType {
// An unspecified, unhandled error.
CUTTLEFISH_ERROR_TYPE_UNSPECIFIED = 0;
}
// Defines the type of device event contained in this message.
// This is the highest level identifier for MetricsEvent messages.
optional EventType event_type = 1;
// Defines the error the device received when it experienced an error.
// The field should only be present when event_type is ERROR.
optional ErrorType error_type = 2;
// Time the event occurred in milliseconds since Unix epoch.
optional Timestamp event_time_ms = 3;
// Elapsed time for the event in milliseconds.
optional Duration elapsed_time_ms = 4;
// The type of OS this log event originated from.
optional OsType os_type = 5;
// OS version for the host/guest operating system.
// Ex. Android version (9.x, 10.x, etc.) or `uname -r` output
optional string os_version = 6;
// Android guest API level
optional int32 api_level = 7;
// The type of VMM this log event originated from.
optional VmmType vmm_type = 8;
// The version of the VMM that's sending the log event.
optional string vmm_version = 9;
// The company that's sending the log event.
optional string company = 10;
// The allowlist of launch_cvd flags attached to the launch_cvd command
// associated with this instance
repeated string launch_cvd_flags = 11;
// Exists a -system_image_dir specified in launch_cvd
optional bool exists_system_image_spec = 12;
// Exists a -boot_image specified in launch_cvd
optional bool exists_boot_image_spec = 13;
// Exists a -bootloader specified in launch_cvd
optional bool exists_bootloader_spec = 14;
// Exists a -composite_disk specified in launch_cvd
optional bool exists_composite_disk_spec = 15;
// Exists a -data_image specified in launch_cvd
optional bool exists_data_image_spec = 16;
// Exists a -metadata_image specified in launch_cvd
optional bool exists_metadata_image_spec = 17;
// Exists a -misc_image specified in launch_cvd
optional bool exists_misc_image_spec = 18;
// Exists a -qemu_binary specified in launch_cvd
optional bool exists_qemu_binary_spec = 19;
// Exists a -super_image specified in launch_cvd
optional bool exists_super_image_spec = 20;
// Exists a -vendor_boot_image specified in launch_cvd
optional bool exists_vendor_boot_image_spec = 21;
}