File: execution_context.proto

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (141 lines) | stat: -rw-r--r-- 4,787 bytes parent folder | download | duplicates (6)
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
// Copyright 2016 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 = "ExecutionContextProtos";

package metrics;

// Enums corresponding to the Chrome execution context in which data was
// collected.

// Chrome process type. Derived from content/public/common/process_type.h.
enum Process {
  UNKNOWN_PROCESS = 0;
  BROWSER_PROCESS = 1;
  RENDERER_PROCESS = 2;
  GPU_PROCESS = 3;
  UTILITY_PROCESS = 4;
  ZYGOTE_PROCESS = 5;
  SANDBOX_HELPER_PROCESS = 6;
  PPAPI_PLUGIN_PROCESS = 7;
  PPAPI_BROKER_PROCESS = 8;
  NETWORK_SERVICE_PROCESS = 10;

  // A Chrome process not identified by any other enum. Defined for the benefit
  // of Chrome OS. Do not use for the Chrome sampling profiler; define a new
  // enum instead.
  OTHER_PROCESS = 9;
}

// Chrome thread. This list is not exhaustive.
enum Thread {
  UNKNOWN_THREAD = 0;

  // The 'main thread' in various processes. In browser process, this is
  // sometimes also called the 'ui thread'.
  MAIN_THREAD = 1;
  FILE_THREAD = 2;                // Deprecated.
  FILE_USER_BLOCKING_THREAD = 3;  // Deprecated.
  PROCESS_LAUNCHER_THREAD = 4;    // Deprecated.
  CACHE_THREAD = 5;               // Deprecated.
  IO_THREAD = 6;
  DB_THREAD = 7;        // Deprecated.
  GPU_MAIN_THREAD = 8;  // Deprecated.
  RENDER_THREAD = 9;    // Deprecated.
  UTILITY_THREAD = 10;  // Deprecated.

  // Compositor thread (can be in both renderer and gpu processes).
  COMPOSITOR_THREAD = 11;

  // Task scheduler thread.
  SCHEDULER_WORKER_THREAD = 13;
  COMPOSITOR_TILE_WORKER_THREAD = 14;
  SERVICE_WORKER_THREAD = 15;

  // DedicatedWorker thread in the renderer process.
  DEDICATED_WORKER_THREAD = 18;

  // Thread pool thread (can be in different Chrome processes).
  THREAD_POOL_THREAD = 16;

  // GPU memory thread (in renderer process).
  GPU_MEMORY_THREAD = 17;

  // The thread for Chrome memory tracing (can be in different processes).
  MEMORY_INFRA_THREAD = 19;

  // Media thread (in renderer process).
  MEDIA_THREAD = 20;

  // WebRTC threads, e.g. WebRTC_Signaling,WebRTC_Network (in renderer process).
  WEBRTC_THREAD = 21;

  // DRM threads (in GPU process).
  DRM_THREAD = 22;

  // Audio device threads (in renderer process), a worker thread type used to
  // transfer data between the browser and the renderer process.
  AUDIO_DEVICE_THREAD = 23;

  // Audio threads that are not in the renderer processes.
  AUDIO_THREAD = 24;

  // Dav1d worker threads (in renderer process), which runs the AV1 codec.
  DAV1D_WORKER_THREAD = 25;

  // Stack sampling profiler uses this thread to periodically stop a thread
  // and get stack execution information.
  // Spawned at
  // https://source.chromium.org/chromium/chromium/src/+/main:base/profiler/stack_sampling_profiler.cc;l=379;drc=ada6c70d141251b40840a6cab657737bf63eed9d.
  STACK_SAMPLING_THREAD = 26;

  // Used for batching frames for video streams.
  // Spawned at
  // https://source.chromium.org/chromium/chromium/src/+/main:content/renderer/renderer_blink_platform_impl.cc;l=988;drc=7172fffc3c545134d5c88af8ab07b04fcb1d628e.
  VIDEO_FRAME_COMPOSITOR_THREAD = 27;

  // Display Compositor thread (in GPU process).
  DISPLAY_COMPOSITOR_THREAD = 28;

  // Codec worker thread.
  // Spawned at
  // https://source.chromium.org/chromium/chromium/src/+/main:media/base/codec_worker_impl.h;drc=923a33e9d5e24f4fb64f40dd2ffc182b2de93b0f;l=41.
  CODEC_WORKER_THREAD = 29;

  // A Chrome thread not identified by any other enum. Defined for the benefit
  // of Chrome OS. Do not use for the Chrome sampling profiler; define a new
  // enum instead.
  OTHER_THREAD = 12;
}

// Process phases, or where in the lifetime of the process it is such as
// startup, normal operation, shutdown, etc. These don't necessarily occur in
// the order defined here so it's fine to add new ones to further segregrate
// the lifetime of a process.
enum ProcessPhase {
  // The browser's main message loop has been started.
  // Based on histogram Startup.MessageLoopStartTime
  MAIN_LOOP_START = 0;

  // The beginning of navigation in the first web contents' main frame.
  // Based on histogram Startup.FirstWebContents.MainNavigationStart
  MAIN_NAVIGATION_START = 1;

  // The navigation is committed (first bytes received) in the first web
  // contents' main frame.
  // Based on histogram Startup.FirstWebContents.MainNavigationFinished
  MAIN_NAVIGATION_FINISHED = 2;

  // First non-empty paint of the first web contents.
  // Based on histogram Startup.FirstWebContents.NonEmptyPaint2
  FIRST_NONEMPTY_PAINT = 3;

  // Process shutdown has begun.
  SHUTDOWN_START = 4;
}