• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2019 The Chromium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5syntax = "proto2";
6
7option optimize_for = LITE_RUNTIME;
8option java_package = "org.chromium.components.metrics";
9
10package metrics;
11
12// Provides information about the launch of an item (such as an app or a file)
13// from the ChromeOS launcher. One event is recorded for every launch
14// originating from any launcher UI component, and this is the only circumstance
15// that records events. All fields prefixed with "hashed_" are hashed-and-
16// peppered values: the value is concatenated with a user-specific secret value,
17// and then hashed. For privacy reasons this process is designed to be one-way,
18// so that the server cannot easily recover the original values.
19//
20// Next tag: 10
21message ChromeOSAppListLaunchEventProto {
22  // A per-user, per-client ID that is used only for app list launch event
23  // logging.
24  optional fixed64 recurrence_ranker_user_id = 1;
25
26  // Enumerates the different UI components of the launcher that a user can
27  // perform a launch from.
28  enum LaunchType {
29    // No launch type specified. This is invalid and will cause the event to be
30    // dropped.
31    LAUNCH_TYPE_UNSPECIFIED = 0;
32    // Launches from the zero-state suggested apps chips or app search result
33    // tiles.
34    APP_TILES = 1;
35    // Launches from the non-apps search result list.
36    RESULTS_LIST = 2;
37  }
38  optional LaunchType launch_type = 2;
39
40  // Hour of the day from 0 to 23 inclusive. This is the user's local time
41  // rounded to the nearest hour.
42  optional int32 hour = 3;
43
44  // String length of the search query associated with this launch. If there was
45  // no query, this is zero.
46  optional int32 search_query_length = 4;
47
48  // Below here, all fields are hashed data.
49
50  // The hashed target item of the launch, eg. an app ID, filepath, or omnibox
51  // suggestion.
52  optional fixed64 hashed_target = 5;
53
54  // The hashed search query associated with the launch. Before hashing, the
55  // query is the empty string if there is no search query for this launch.
56  optional fixed64 hashed_query = 6;
57
58  // Hashed of the most-recently-visited domain when this launch occurred.
59  optional fixed64 hashed_domain = 7;
60
61  // Hash of the app ID of the most-recently-opened app when this launch
62  // occurred. This can be an app ID of a Chrome app, Arc++ app, or PWA.
63  optional fixed64 hashed_app = 8;
64
65  // Which search provider produced the launched item.
66  enum SearchProviderType {
67    // No result type specified.
68    PROVIDER_UNSPECIFIED = 0;
69    // Recent queries from the Omnibox provider.
70    OMNIBOX = 1;
71    // Zero-state files provider.
72    ZERO_STATE_FILE = 2;
73    // Drive QuickAccess provider.
74    DRIVE_QUICK_ACCESS = 3;
75  }
76  optional SearchProviderType search_provider_type = 9;
77}
78