1
#pragma once
2

            
3
#include "envoy/extensions/resource_monitors/cpu_utilization/v3/cpu_utilization.pb.h"
4
#include "envoy/extensions/resource_monitors/cpu_utilization/v3/cpu_utilization.pb.validate.h"
5
#include "envoy/server/resource_monitor_config.h"
6

            
7
#include "source/extensions/resource_monitors/common/factory_base.h"
8

            
9
namespace Envoy {
10
namespace Extensions {
11
namespace ResourceMonitors {
12
namespace CpuUtilizationMonitor {
13

            
14
class CpuUtilizationMonitorFactory
15
    : public Common::FactoryBase<
16
          envoy::extensions::resource_monitors::cpu_utilization::v3::CpuUtilizationConfig> {
17
public:
18
4
  CpuUtilizationMonitorFactory() : FactoryBase("envoy.resource_monitors.cpu_utilization") {}
19

            
20
private:
21
  Server::ResourceMonitorPtr createResourceMonitorFromProtoTyped(
22
      const envoy::extensions::resource_monitors::cpu_utilization::v3::CpuUtilizationConfig& config,
23
      Server::Configuration::ResourceMonitorFactoryContext& context) override;
24
};
25

            
26
} // namespace CpuUtilizationMonitor
27
} // namespace ResourceMonitors
28
} // namespace Extensions
29
} // namespace Envoy