1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Cast-enabled device specific log data included in ChromeUserMetricsExtension.
9 option optimize_for = LITE_RUNTIME;
10 option java_outer_classname = "CastLogsProtos";
11 option java_package = "org.chromium.components.metrics";
16 message CastLogsProto {
17 // Cast specific device information.
19 message CastDeviceInfo {
20 // The product type of Cast device sent from Cast-enabled devices.
22 enum CastProductType {
23 CAST_PRODUCT_TYPE_UNKNOWN = 0;
24 CAST_PRODUCT_TYPE_CHROMECAST = 1;
25 CAST_PRODUCT_TYPE_AUDIO = 3;
26 CAST_PRODUCT_TYPE_ANDROID_TV = 4;
28 optional CastProductType type = 1;
30 // The hardware revision of each product.
31 optional string hardware_revision = 2;
33 // The manufacturer of Cast device, this value is empty when the device
34 // is manufactured by Google.
35 optional string manufacturer = 3;
37 // The model of the Cast device.
38 optional string model = 4;
40 // The device sends this information at least once per day.
41 optional CastDeviceInfo cast_device_info = 1;
43 // Information about Cast connection between sender application and
44 // Cast-enabled device.
46 message CastConnectionInfo {
47 optional fixed32 transport_connection_id = 1;
49 optional fixed32 virtual_connection_id = 2;
51 // This message describes a detail sender device and sdk. Those are
52 // parsed from the user agent string sent from sender sdk during connection.
55 // The identifier for the sender device, that is not tied any kind of
56 // device id outside of UMA, and this id is reset when user resets sender
58 optional fixed64 sender_device_id = 1;
60 // SDK type the sender application was using.
66 // E.G. Android sdk, iOS sdk.
69 // SDK via Chrome extension.
70 SDK_CHROME_EXTENSION = 2;
72 optional SDKType sdk_type = 2;
74 // Version of sender sdk/extension used to connection.
75 optional string version = 3;
77 // Chrome browser version where the Chrome extension running.
78 // Only Chrome extension sends this information.
79 optional string chrome_browser_version = 4;
81 // Platform of sender device.
84 // Any platform other then cases below.
91 PLATFORM_CHROMEOS = 5;
94 optional Platform platform = 5;
96 // Sender device system version.
97 optional string system_version = 6;
99 // What type of connection type used to establish between sender and
101 enum ConnectionType {
102 CONNECTION_TYPE_UNKNOWN = 0;
103 CONNECTION_TYPE_LOCAL = 1;
104 CONNECTION_TYPE_RELAY = 2;
106 optional ConnectionType transport_connection_type = 7;
108 // Sender device model.
109 optional string model = 8;
111 optional SenderInfo sender_info = 3;
114 // Virtual connection established between sender application and Cast device.
115 repeated CastConnectionInfo cast_connection_info = 2;
117 // Stores Cast-enabled device specific events with a various context data.
119 message CastEventProto {
120 // The name of the action, hashed by same logic used to hash user action
121 // event and histogram.
122 optional fixed64 name_hash = 1;
124 // The timestamp for the event, in milliseconds.
125 optional int64 time_msec = 2;
127 // The Cast receiver app ID related with this event.
128 optional fixed32 app_id = 3;
130 // The identifier for receiver application session.
131 optional fixed64 application_session_id = 4;
133 // Receiver side Cast SDK version.
134 optional fixed64 cast_receiver_version = 5;
137 optional fixed64 cast_mpl_version = 9;
139 // transport_connection_id related with this event.
140 optional fixed32 transport_connection_id = 6;
142 // virtual_connection_id related with this event.
143 optional fixed32 virtual_connection_id = 7;
145 // An optional value for the associated event
146 optional int64 value = 8;
148 repeated CastEventProto cast_event = 3;