374 lines
12 KiB
Protocol Buffer
374 lines
12 KiB
Protocol Buffer
|
|
// Copyright 2014 The Chromium Authors
|
|||
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|||
|
|
// found in the LICENSE file.
|
|||
|
|
|
|||
|
|
syntax = "proto2";
|
|||
|
|
|
|||
|
|
option optimize_for = LITE_RUNTIME;
|
|||
|
|
option java_package = "org.chromium.components.metrics";
|
|||
|
|
|
|||
|
|
option java_outer_classname = "CastLogsProtos";
|
|||
|
|
|
|||
|
|
package metrics; // Cast-enabled device specific log data included in ChromeUserMetricsExtension.
|
|||
|
|
|
|||
|
|
// Next tag: 9
|
|||
|
|
message CastLogsProto {
|
|||
|
|
// Cast specific device information.
|
|||
|
|
// Next tag: 7
|
|||
|
|
message CastDeviceInfo {
|
|||
|
|
// The product type of Cast device sent from Cast-enabled devices.
|
|||
|
|
// Next tag: 13
|
|||
|
|
enum CastProductType {
|
|||
|
|
CAST_PRODUCT_TYPE_UNKNOWN = 0;
|
|||
|
|
CAST_PRODUCT_TYPE_CHROMECAST = 1;
|
|||
|
|
CAST_PRODUCT_TYPE_TV = 2;
|
|||
|
|
CAST_PRODUCT_TYPE_AUDIO = 3;
|
|||
|
|
CAST_PRODUCT_TYPE_ANDROID_TV = 4;
|
|||
|
|
CAST_PRODUCT_TYPE_ASSISTANT = 5;
|
|||
|
|
CAST_PRODUCT_TYPE_ANDROID_THINGS = 6;
|
|||
|
|
CAST_PRODUCT_TYPE_CHROME_OS = 7;
|
|||
|
|
CAST_PRODUCT_TYPE_FUCHSIA_OS = 8;
|
|||
|
|
CAST_PRODUCT_TYPE_LITE = 9;
|
|||
|
|
CAST_PRODUCT_TYPE_CORE = 10;
|
|||
|
|
CAST_PRODUCT_TYPE_11 = 11;
|
|||
|
|
CAST_PRODUCT_TYPE_ANDROID_AUTOMOTIVE = 12;
|
|||
|
|
}
|
|||
|
|
optional CastProductType type = 1;
|
|||
|
|
|
|||
|
|
// The hardware revision of each product.
|
|||
|
|
optional string hardware_revision = 2;
|
|||
|
|
|
|||
|
|
// The manufacturer of Cast device, this value is empty when the device
|
|||
|
|
// is manufactured by Google.
|
|||
|
|
optional string manufacturer = 3;
|
|||
|
|
|
|||
|
|
// The model of the Cast device.
|
|||
|
|
optional string model = 4;
|
|||
|
|
|
|||
|
|
// The serial number.
|
|||
|
|
optional string serial_number = 5;
|
|||
|
|
|
|||
|
|
// Hardware information stored in factory partition.
|
|||
|
|
// Next Tag: 12
|
|||
|
|
message HardwareInfo {
|
|||
|
|
optional string color = 1;
|
|||
|
|
|
|||
|
|
optional string mic = 2;
|
|||
|
|
|
|||
|
|
optional string memory = 3;
|
|||
|
|
|
|||
|
|
optional string nand = 4;
|
|||
|
|
|
|||
|
|
optional string mfg_date = 5;
|
|||
|
|
|
|||
|
|
optional string build_name = 6;
|
|||
|
|
|
|||
|
|
optional string config = 7;
|
|||
|
|
|
|||
|
|
optional string emmc = 8;
|
|||
|
|
|
|||
|
|
optional string display = 9;
|
|||
|
|
|
|||
|
|
optional string amp = 10;
|
|||
|
|
|
|||
|
|
optional string board_name = 11;
|
|||
|
|
}
|
|||
|
|
optional HardwareInfo hardware_info = 6;
|
|||
|
|
}
|
|||
|
|
// The device sends this information at least once per day.
|
|||
|
|
optional CastDeviceInfo cast_device_info = 1;
|
|||
|
|
|
|||
|
|
// Information about Cast V2 API connection between sender application and
|
|||
|
|
// Cast-enabled device.
|
|||
|
|
// Next tag: 4
|
|||
|
|
message CastConnectionInfo {
|
|||
|
|
optional fixed32 transport_connection_id = 1;
|
|||
|
|
|
|||
|
|
optional fixed32 virtual_connection_id = 2;
|
|||
|
|
|
|||
|
|
// This message describes a detail sender device and sdk.
|
|||
|
|
// Next tag: 10
|
|||
|
|
message SenderInfo {
|
|||
|
|
// The identifier for the sender device, that is pseudonymous and can be
|
|||
|
|
// reset. This id has no link to a specific user or device.
|
|||
|
|
optional fixed64 sender_device_id = 1;
|
|||
|
|
|
|||
|
|
// SDK type the sender application was using.
|
|||
|
|
// Next tag: 3
|
|||
|
|
enum SDKType {
|
|||
|
|
SDK_UNKNOWN = 0;
|
|||
|
|
|
|||
|
|
// Native SDK type,
|
|||
|
|
// E.G. Android sdk, iOS sdk.
|
|||
|
|
SDK_NATIVE = 1;
|
|||
|
|
|
|||
|
|
// SDK via Chrome extension.
|
|||
|
|
SDK_CHROME_EXTENSION = 2;
|
|||
|
|
}
|
|||
|
|
optional SDKType sdk_type = 2;
|
|||
|
|
|
|||
|
|
// Version of sender sdk/extension used to connection. The format varies
|
|||
|
|
// by each platform.
|
|||
|
|
optional string version = 3;
|
|||
|
|
|
|||
|
|
// Chrome browser version where the Chrome extension running.
|
|||
|
|
// Only Chrome extension sends this information.
|
|||
|
|
optional string chrome_browser_version = 4;
|
|||
|
|
|
|||
|
|
// Platform of sender device.
|
|||
|
|
// Next tag: 8
|
|||
|
|
enum Platform {
|
|||
|
|
// Any platform other then cases below.
|
|||
|
|
PLATFORM_OTHER = 0;
|
|||
|
|
|
|||
|
|
PLATFORM_ANDROID = 1;
|
|||
|
|
PLATFORM_IOS = 2;
|
|||
|
|
PLATFORM_WINDOWS = 3;
|
|||
|
|
PLATFORM_OSX = 4;
|
|||
|
|
PLATFORM_CHROMEOS = 5;
|
|||
|
|
PLATFORM_LINUX = 6;
|
|||
|
|
|
|||
|
|
// The sender is Cast device - including itself.
|
|||
|
|
PLATFORM_CAST = 7;
|
|||
|
|
}
|
|||
|
|
optional Platform platform = 5;
|
|||
|
|
|
|||
|
|
// Sender device system version.
|
|||
|
|
optional string system_version = 6;
|
|||
|
|
|
|||
|
|
// What type of connection type used to establish between sender and
|
|||
|
|
// receiver.
|
|||
|
|
enum ConnectionType {
|
|||
|
|
CONNECTION_TYPE_UNKNOWN = 0;
|
|||
|
|
|
|||
|
|
// A connection established directly between sender and receiver.
|
|||
|
|
CONNECTION_TYPE_LOCAL = 1;
|
|||
|
|
|
|||
|
|
// A connection created by opencast to the device via the cloud relay.
|
|||
|
|
CONNECTION_TYPE_RELAY = 2;
|
|||
|
|
|
|||
|
|
// A connection created by receiver itself internally.
|
|||
|
|
CONNECTION_TYPE_INTERNAL = 3;
|
|||
|
|
}
|
|||
|
|
optional ConnectionType transport_connection_type = 7;
|
|||
|
|
|
|||
|
|
// Sender device model.
|
|||
|
|
optional string model = 8;
|
|||
|
|
|
|||
|
|
// Last 2 bytes of the sender’s local IP addresses (both IP4/IP6) when
|
|||
|
|
// the sender connected. This field stores ip fragment to last 2 bytes and
|
|||
|
|
// first 2 bytes won't be used.
|
|||
|
|
optional int32 sender_local_ip_fragment = 9;
|
|||
|
|
}
|
|||
|
|
optional SenderInfo sender_info = 3;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Virtual connection established between sender application and Cast device.
|
|||
|
|
repeated CastConnectionInfo cast_connection_info = 2;
|
|||
|
|
|
|||
|
|
// Stores Cast-enabled device specific events with a various context data.
|
|||
|
|
// Next tag: 29
|
|||
|
|
message CastEventProto {
|
|||
|
|
// The name of the action, hashed by same logic used to hash user action
|
|||
|
|
// event and histogram.
|
|||
|
|
optional fixed64 name_hash = 1;
|
|||
|
|
|
|||
|
|
// The timestamp for the event, in milliseconds.
|
|||
|
|
optional int64 time_msec = 2;
|
|||
|
|
|
|||
|
|
// The Cast receiver app ID related with this event.
|
|||
|
|
optional fixed32 app_id = 3;
|
|||
|
|
|
|||
|
|
// The app ID of a remote Cast receiver associated with this event.
|
|||
|
|
optional fixed32 remote_app_id = 19;
|
|||
|
|
|
|||
|
|
// The identifier for receiver application session.
|
|||
|
|
optional fixed64 application_session_id = 4;
|
|||
|
|
|
|||
|
|
// Receiver side Cast SDK version.
|
|||
|
|
optional fixed64 cast_receiver_version = 5;
|
|||
|
|
|
|||
|
|
// Cast MPL version.
|
|||
|
|
optional fixed64 cast_mpl_version = 9;
|
|||
|
|
|
|||
|
|
// transport_connection_id related with this event.
|
|||
|
|
optional fixed32 transport_connection_id = 6;
|
|||
|
|
|
|||
|
|
// virtual_connection_id related with this event.
|
|||
|
|
optional fixed32 virtual_connection_id = 7;
|
|||
|
|
|
|||
|
|
// An optional value for the associated event, often a measurement in
|
|||
|
|
// milliseconds.
|
|||
|
|
optional int64 value = 8;
|
|||
|
|
|
|||
|
|
// Group id of Multizone Audio.
|
|||
|
|
optional fixed64 group_uuid = 10;
|
|||
|
|
|
|||
|
|
optional string conversation_key = 11;
|
|||
|
|
|
|||
|
|
// Request id of V2 Application Protocol
|
|||
|
|
optional fixed32 request_id = 12;
|
|||
|
|
|
|||
|
|
optional string event_id = 13;
|
|||
|
|
|
|||
|
|
optional string aogh_request_id = 16;
|
|||
|
|
|
|||
|
|
optional int64 aogh_local_device_id = 18;
|
|||
|
|
|
|||
|
|
optional string aogh_agent_id = 21;
|
|||
|
|
|
|||
|
|
optional string aogh_standard_agent_id = 28;
|
|||
|
|
|
|||
|
|
// Optional value associated with the event. For example, may be used for
|
|||
|
|
// error codes.
|
|||
|
|
message Metadata {
|
|||
|
|
optional fixed64 name_hash = 1;
|
|||
|
|
optional int64 value = 2;
|
|||
|
|
}
|
|||
|
|
repeated Metadata metadata = 14;
|
|||
|
|
|
|||
|
|
// Optional values associated with the event.
|
|||
|
|
repeated float feature_vector = 15;
|
|||
|
|
|
|||
|
|
// Optional value associated with timezone update event.
|
|||
|
|
optional string timezone_id = 17;
|
|||
|
|
|
|||
|
|
// Optional value to log ui version.
|
|||
|
|
optional string ui_version = 20;
|
|||
|
|
|
|||
|
|
// Optional field to log SELINUX audit detail.
|
|||
|
|
optional string selinux_audit_detail = 22;
|
|||
|
|
|
|||
|
|
// List of event ids belonging to a particular interaction. One interaction
|
|||
|
|
// could receive multiple assistant outputs, hence multiple event ids.
|
|||
|
|
repeated string event_id_list = 23;
|
|||
|
|
|
|||
|
|
// Duo core version.
|
|||
|
|
optional fixed64 duo_core_version = 24;
|
|||
|
|
|
|||
|
|
// Model version of hotword detector.
|
|||
|
|
optional string hotword_model_id = 25;
|
|||
|
|
|
|||
|
|
enum LaunchFrom {
|
|||
|
|
FROM_UNKNOWN = 0;
|
|||
|
|
// Launched by itself, or by the user interacting directly with the
|
|||
|
|
// receiver device (e.g. use a TV remote to launch an app on Android TV).
|
|||
|
|
FROM_LOCAL = 1;
|
|||
|
|
// Launched by a Cast V1 sender using DIAL.
|
|||
|
|
FROM_DIAL = 2;
|
|||
|
|
// Launched by a Cast V2 sender device.
|
|||
|
|
FROM_CAST_V2 = 3;
|
|||
|
|
// Launched from the cloud.
|
|||
|
|
FROM_CCS = 4;
|
|||
|
|
}
|
|||
|
|
optional LaunchFrom launch_from = 26;
|
|||
|
|
|
|||
|
|
enum RuntimeType {
|
|||
|
|
RUNTIME_TYPE_UNKNOWN = 0;
|
|||
|
|
RUNTIME_TYPE_CAST_WEB = 1;
|
|||
|
|
RUNTIME_TYPE_CAST_LITE = 2;
|
|||
|
|
RUNTIME_TYPE_NATIVE = 3;
|
|||
|
|
}
|
|||
|
|
// The Cast Core runtime type associated with this event.
|
|||
|
|
optional RuntimeType runtime_type = 27;
|
|||
|
|
}
|
|||
|
|
repeated CastEventProto cast_event = 3;
|
|||
|
|
|
|||
|
|
// Virtual release track for releases sent to partners, trusted beta
|
|||
|
|
// testers, developers, etc.
|
|||
|
|
optional fixed32 virtual_release_track = 4;
|
|||
|
|
|
|||
|
|
// Cast specific device information which is expected to change over time.
|
|||
|
|
// Next tag: 13
|
|||
|
|
message CastDeviceMutableInfo {
|
|||
|
|
// This is the last type of reboot the device encountered
|
|||
|
|
// Next tag: 22
|
|||
|
|
enum RebootType {
|
|||
|
|
REBOOT_TYPE_UNKNOWN = 0; // Fail to get reboot type from system property
|
|||
|
|
REBOOT_TYPE_FORCED = 1; // Power removed from device
|
|||
|
|
REBOOT_TYPE_API = 2; // Requested from reboot setup api
|
|||
|
|
REBOOT_TYPE_NIGHTLY = 3;
|
|||
|
|
REBOOT_TYPE_OTA = 4;
|
|||
|
|
REBOOT_TYPE_WATCHDOG = 5; // Reboot caused by a watchdog process.
|
|||
|
|
REBOOT_TYPE_PROCESS_MANAGER = 6;
|
|||
|
|
REBOOT_TYPE_CRASH_UPLOADER = 7;
|
|||
|
|
REBOOT_TYPE_FDR = 8;
|
|||
|
|
REBOOT_TYPE_HW_WATCHDOG = 9;
|
|||
|
|
REBOOT_TYPE_SW_OTHER = 10;
|
|||
|
|
REBOOT_TYPE_OVERHEAT = 11;
|
|||
|
|
// The device got into a state such that it needs to regenerate the cloud
|
|||
|
|
// device id.
|
|||
|
|
REBOOT_TYPE_REGENERATE_CLOUD_ID = 12;
|
|||
|
|
// Reboot triggered due to successive OOM events.
|
|||
|
|
REBOOT_TYPE_REPEATED_OOM = 13;
|
|||
|
|
// Reboot triggered when the utility process is found to be in
|
|||
|
|
// crash loop.
|
|||
|
|
REBOOT_TYPE_UTILITY_PROCESS_CRASH = 14;
|
|||
|
|
// design doc go/fuchsia-session-restart-metrics
|
|||
|
|
// Restart triggered due to graceful component teardown by the Fuchsia
|
|||
|
|
// platform. Device has not rebooted.
|
|||
|
|
REBOOT_TYPE_GRACEFUL_RESTART = 15;
|
|||
|
|
// Restart triggered due to ungraceful component teardown by the Fuchsia
|
|||
|
|
// platform. Device has not rebooted.
|
|||
|
|
REBOOT_TYPE_UNGRACEFUL_RESTART = 16;
|
|||
|
|
MULTI_SERVICE_BUG = 17;
|
|||
|
|
POWER_MANAGER = 18;
|
|||
|
|
EXPERIMENT_CHANGE = 19;
|
|||
|
|
ANOMALY_DETECTION = 20;
|
|||
|
|
KERNEL_PANIC = 21;
|
|||
|
|
}
|
|||
|
|
optional RebootType last_reboot_type = 1;
|
|||
|
|
|
|||
|
|
// System version which the cast_shell is running.
|
|||
|
|
optional fixed64 system_build_number = 2;
|
|||
|
|
|
|||
|
|
// An identifier that is specific to the combination of app and device, in
|
|||
|
|
// this case the one used by backdrop.
|
|||
|
|
optional string backdrop_app_device_id = 3;
|
|||
|
|
|
|||
|
|
// Chromecast release version like "1.23", "1.24". The format is "X.Y"
|
|||
|
|
// where X is major version and Y is sub major version.
|
|||
|
|
optional fixed32 release_version = 4;
|
|||
|
|
|
|||
|
|
// IP version of the primary network interface.
|
|||
|
|
enum NetifIPVersion {
|
|||
|
|
IP_UNKNOWN = 0;
|
|||
|
|
IP_V4 = 1;
|
|||
|
|
IP_V6 = 2;
|
|||
|
|
IP_DUAL_STACK = 3;
|
|||
|
|
}
|
|||
|
|
optional NetifIPVersion netif_ip_version = 5;
|
|||
|
|
|
|||
|
|
// True if the system which cast_shell is running on, supports ip dual stack
|
|||
|
|
// sockets.
|
|||
|
|
optional bool ip_dual_stack_supported = 6;
|
|||
|
|
|
|||
|
|
// Current timezone which the device is using.
|
|||
|
|
optional string timezone_id = 7;
|
|||
|
|
// Optional value to log latest ui version.
|
|||
|
|
optional string latest_ui_version = 8;
|
|||
|
|
|
|||
|
|
// Station ID of the device if connected to Google WiFi network
|
|||
|
|
optional string google_wifi_station_shmac = 9;
|
|||
|
|
|
|||
|
|
// Optional field to log installed manifest platform version.
|
|||
|
|
optional string installed_manifest_platform_version = 10;
|
|||
|
|
|
|||
|
|
// Optional field to log installed manifest version.
|
|||
|
|
optional uint32 installed_manifest_version = 11;
|
|||
|
|
|
|||
|
|
// Optional field to log the system bundle version.
|
|||
|
|
optional string system_bundle_version = 12;
|
|||
|
|
}
|
|||
|
|
// The device sends this information at least once per day.
|
|||
|
|
optional CastDeviceMutableInfo cast_device_mutable_info = 5;
|
|||
|
|
|
|||
|
|
optional fixed64 receiver_metrics_id = 6;
|
|||
|
|
|
|||
|
|
// This ID is only ever recorded for Google-internal users (dogfooders). It
|
|||
|
|
// is never recorded for external users."
|
|||
|
|
optional uint64 ephemeral_id = 7;
|
|||
|
|
|
|||
|
|
optional fixed32 source_virtual_release_track = 8;
|
|||
|
|
}
|