// Copyright 2016 The Chromium Authors. All rights reserved.
// 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_outer_classname = "ExecutionContextProtos";
option java_package = "org.chromium.components.metrics";

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;
  // 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;

  // 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;
}
