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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375
|
// 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: 14
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;
CAST_PRODUCT_TYPE_ANDROID = 13;
}
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;
}
|