#ifndef CHROME_BROWSER_METRICS_POWER_PROCESS_MONITOR_H_
#define CHROME_BROWSER_METRICS_POWER_PROCESS_MONITOR_H_
#include <array>
#include <map>
#include <memory>
#include <optional>
#include "base/observer_list.h"
#include "base/process/process_handle.h"
#include "base/scoped_multi_source_observation.h"
#include "build/build_config.h"
#include "content/public/browser/browser_child_process_observer.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_process_host_creation_observer.h"
#include "content/public/browser/render_process_host_observer.h"
#include "content/public/common/process_type.h"
namespace base {
class ProcessMetrics;
}
enum MonitoredProcessType { … };
MonitoredProcessType
GetMonitoredProcessTypeForNonRendererChildProcessForTesting(
const content::ChildProcessData& data);
struct ProcessInfo { … };
class ProcessMonitor : public content::BrowserChildProcessObserver,
public content::RenderProcessHostCreationObserver,
public content::RenderProcessHostObserver { … };
#endif