1
#include "source/extensions/common/dynamic_forward_proxy/dns_cache_resource_manager.h"
2

            
3
namespace Envoy {
4
namespace Extensions {
5
namespace Common {
6
namespace DynamicForwardProxy {
7

            
8
DnsCacheResourceManagerImpl::DnsCacheResourceManagerImpl(
9
    Stats::Scope& scope, Runtime::Loader& loader, const std::string& config_name,
10
    const envoy::extensions::common::dynamic_forward_proxy::v3::DnsCacheCircuitBreakers& cb_config)
11
169
    : cb_stats_(generateDnsCacheCircuitBreakersStats(scope)),
12
169
      pending_requests_(PROTOBUF_GET_WRAPPED_OR_DEFAULT(cb_config, max_pending_requests, 1024),
13
169
                        loader, fmt::format("dns_cache.{}.circuit_breakers", config_name),
14
169
                        cb_stats_.rq_pending_open_, cb_stats_.rq_pending_remaining_) {}
15

            
16
DnsCacheCircuitBreakersStats
17
169
DnsCacheResourceManagerImpl::generateDnsCacheCircuitBreakersStats(Stats::Scope& scope) {
18
169
  std::string stat_prefix = "circuit_breakers";
19
169
  return {ALL_DNS_CACHE_CIRCUIT_BREAKERS_STATS(POOL_GAUGE_PREFIX(scope, stat_prefix),
20
169
                                               POOL_GAUGE_PREFIX(scope, stat_prefix))};
21
169
}
22

            
23
} // namespace DynamicForwardProxy
24
} // namespace Common
25
} // namespace Extensions
26
} // namespace Envoy