Roll src/third_party/WebKit eac3800:0237a66 (svn 202606:202607)
[chromium-blink-merge.git] / components / metrics / proto / cast_logs.proto
blobf4336142f98dfee20792c8e0e80b43944ef47074
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.
4 //
5 // Cast-enabled device specific log data included in ChromeUserMetricsExtension.
7 syntax = "proto2";
9 option optimize_for = LITE_RUNTIME;
10 option java_outer_classname = "CastLogsProtos";
11 option java_package = "org.chromium.components.metrics";
13 package metrics;
15 // Next tag: 4
16 message CastLogsProto {
17   // Cast specific device information.
18   // Next tag: 5
19   message CastDeviceInfo {
20     // The product type of Cast device sent from Cast-enabled devices.
21     // Next tag: 5
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;
27     }
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;
39   }
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.
45   // Next tag: 4
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.
53     // Next tag: 9
54     message SenderInfo {
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
57       // device.
58       optional fixed64 sender_device_id = 1;
60       // SDK type the sender application was using.
61       // Next tag: 3
62       enum SDKType {
63         SDK_UNKNOWN = 0;
65         // Native SDK type,
66         // E.G. Android sdk, iOS sdk.
67         SDK_NATIVE = 1;
69         // SDK via Chrome extension.
70         SDK_CHROME_EXTENSION = 2;
71       }
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.
82       // Next tag: 7
83       enum Platform {
84         // Any platform other then cases below.
85         PLATFORM_OTHER = 0;
87         PLATFORM_ANDROID = 1;
88         PLATFORM_IOS = 2;
89         PLATFORM_WINDOWS = 3;
90         PLATFORM_OSX = 4;
91         PLATFORM_CHROMEOS = 5;
92         PLATFORM_LINUX = 6;
93       }
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
100       // receiver.
101       enum ConnectionType {
102         CONNECTION_TYPE_UNKNOWN = 0;
103         CONNECTION_TYPE_LOCAL = 1;
104         CONNECTION_TYPE_RELAY = 2;
105       }
106       optional ConnectionType transport_connection_type = 7;
108       // Sender device model.
109       optional string model = 8;
110     }
111     optional SenderInfo sender_info = 3;
112   }
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.
118   // Next tag: 10
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;
136     // Cast MPL version.
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;
147   }
148   repeated CastEventProto cast_event = 3;