18 #include <aws/core/Aws.h> 30 namespace CloudWatchMetrics {
43 MetricPublisher(
const std::string & metrics_namespace,
const Aws::Client::ClientConfiguration & client_config);
44 MetricPublisher(
const std::string & metrics_namespace, std::shared_ptr<Utils::CloudWatchMetricsFacade> cloudwatch_metrics_facade);
57 bool start()
override;
73 mutable std::recursive_mutex
mtx_;
std::string metrics_namespace_
std::list< Aws::CloudWatch::Model::MetricDatum > MetricDatumCollection
std::recursive_mutex mtx_
Aws::SDKOptions aws_sdk_options_
std::shared_ptr< Aws::CloudWatchMetrics::Utils::CloudWatchMetricsFacade > cloudwatch_metrics_facade_
~MetricPublisher() override=default
Tears down the MetricPublisher object.
MetricPublisher(const std::string &metrics_namespace, const Aws::Client::ClientConfiguration &client_config)
Aws::Client::ClientConfiguration client_config_
Aws::DataFlow::UploadStatus publishData(MetricDatumCollection &data) override
Class that handles sending metrics data to CloudWatch This class is responsible for emitting all the ...