execution_context.proto 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. // Copyright 2016 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. syntax = "proto2";
  5. option optimize_for = LITE_RUNTIME;
  6. option java_package = "org.chromium.components.metrics";
  7. option java_outer_classname = "ExecutionContextProtos";
  8. package metrics;
  9. // Enums corresponding to the Chrome execution context in which data was
  10. // collected.
  11. // Chrome process type. Derived from content/public/common/process_type.h.
  12. enum Process {
  13. UNKNOWN_PROCESS = 0;
  14. BROWSER_PROCESS = 1;
  15. RENDERER_PROCESS = 2;
  16. GPU_PROCESS = 3;
  17. UTILITY_PROCESS = 4;
  18. ZYGOTE_PROCESS = 5;
  19. SANDBOX_HELPER_PROCESS = 6;
  20. PPAPI_PLUGIN_PROCESS = 7;
  21. PPAPI_BROKER_PROCESS = 8;
  22. NETWORK_SERVICE_PROCESS = 10;
  23. // A Chrome process not identified by any other enum. Defined for the benefit
  24. // of Chrome OS. Do not use for the Chrome sampling profiler; define a new
  25. // enum instead.
  26. OTHER_PROCESS = 9;
  27. }
  28. // Chrome thread. This list is not exhaustive.
  29. enum Thread {
  30. UNKNOWN_THREAD = 0;
  31. // The 'main thread' in various processes. In browser process, this is
  32. // sometimes also called the 'ui thread'.
  33. MAIN_THREAD = 1;
  34. FILE_THREAD = 2; // Deprecated.
  35. FILE_USER_BLOCKING_THREAD = 3; // Deprecated.
  36. PROCESS_LAUNCHER_THREAD = 4; // Deprecated.
  37. CACHE_THREAD = 5; // Deprecated.
  38. IO_THREAD = 6;
  39. DB_THREAD = 7; // Deprecated.
  40. GPU_MAIN_THREAD = 8; // Deprecated.
  41. RENDER_THREAD = 9; // Deprecated.
  42. UTILITY_THREAD = 10; // Deprecated.
  43. // Compositor thread (can be in both renderer and gpu processes).
  44. COMPOSITOR_THREAD = 11;
  45. // Task scheduler thread.
  46. SCHEDULER_WORKER_THREAD = 13;
  47. COMPOSITOR_TILE_WORKER_THREAD = 14;
  48. SERVICE_WORKER_THREAD = 15;
  49. // DedicatedWorker thread in the renderer process.
  50. DEDICATED_WORKER_THREAD = 18;
  51. // Thread pool thread (can be in different Chrome processes).
  52. THREAD_POOL_THREAD = 16;
  53. // GPU memory thread (in renderer process).
  54. GPU_MEMORY_THREAD = 17;
  55. // The thread for Chrome memory tracing (can be in different processes).
  56. MEMORY_INFRA_THREAD = 19;
  57. // Media thread (in renderer process).
  58. MEDIA_THREAD = 20;
  59. // WebRTC threads, e.g. WebRTC_Signaling,WebRTC_Network (in renderer process).
  60. WEBRTC_THREAD = 21;
  61. // A Chrome thread not identified by any other enum. Defined for the benefit
  62. // of Chrome OS. Do not use for the Chrome sampling profiler; define a new
  63. // enum instead.
  64. OTHER_THREAD = 12;
  65. }
  66. // Process phases, or where in the lifetime of the process it is such as
  67. // startup, normal operation, shutdown, etc. These don't necessarily occur in
  68. // the order defined here so it's fine to add new ones to further segregrate
  69. // the lifetime of a process.
  70. enum ProcessPhase {
  71. // The browser's main message loop has been started.
  72. // Based on histogram Startup.MessageLoopStartTime
  73. MAIN_LOOP_START = 0;
  74. // The beginning of navigation in the first web contents' main frame.
  75. // Based on histogram Startup.FirstWebContents.MainNavigationStart
  76. MAIN_NAVIGATION_START = 1;
  77. // The navigation is committed (first bytes received) in the first web
  78. // contents' main frame.
  79. // Based on histogram Startup.FirstWebContents.MainNavigationFinished
  80. MAIN_NAVIGATION_FINISHED = 2;
  81. // First non-empty paint of the first web contents.
  82. // Based on histogram Startup.FirstWebContents.NonEmptyPaint2
  83. FIRST_NONEMPTY_PAINT = 3;
  84. // Process shutdown has begun.
  85. SHUTDOWN_START = 4;
  86. }