File: cast_logs.proto

package info (click to toggle)
chromium 120.0.6099.224-1~deb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,112,112 kB
  • sloc: cpp: 32,907,025; ansic: 8,148,123; javascript: 3,679,536; python: 2,031,248; asm: 959,718; java: 804,675; xml: 617,256; sh: 111,417; objc: 100,835; perl: 88,443; cs: 53,032; makefile: 29,579; fortran: 24,137; php: 21,162; tcl: 21,147; sql: 20,809; ruby: 17,735; pascal: 12,864; yacc: 8,045; lisp: 3,388; lex: 1,323; ada: 727; awk: 329; jsp: 267; csh: 117; exp: 43; sed: 37
file content (375 lines) | stat: -rw-r--r-- 12,083 bytes parent folder | download | duplicates (2)
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;
}