// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 /* //////////////////////////////////////////////////////////////////////////// * Purpose: put_metric_data.cpp demonstrates how to submit Amazon CloudWatch metric data. * * Prerequisites: * An Amazon CloudWatch metric. * * Inputs: * - value_stream: The CloudWatch metric stream (entered as the second argument in the command line). * * ///////////////////////////////////////////////////////////////////////// */ // snippet-start:[cw.cpp.put_metric_data.inc] #include #include #include #include // snippet-end:[cw.cpp.put_metric_data.inc] /** * Attempts to put a sample metric data point with value based on command line input */ int main(int argc, char** argv) { if (argc != 2) { std::cout << "Usage: put_metric_data " << std::endl; return 1; } Aws::SDKOptions options; Aws::InitAPI(options); { Aws::StringStream value_stream(argv[1]); double data_point = 1.0; value_stream >> data_point; // snippet-start:[cw.cpp.put_metric_data.code] Aws::CloudWatch::CloudWatchClient cw; Aws::CloudWatch::Model::Dimension dimension; dimension.SetName("UNIQUE_PAGES"); dimension.SetValue("URLS"); Aws::CloudWatch::Model::MetricDatum datum; datum.SetMetricName("PAGES_VISITED"); datum.SetUnit(Aws::CloudWatch::Model::StandardUnit::None); datum.SetValue(data_point); datum.AddDimensions(dimension); Aws::CloudWatch::Model::PutMetricDataRequest request; request.SetNamespace("SITE/TRAFFIC"); request.AddMetricData(datum); auto outcome = cw.PutMetricData(request); if (!outcome.IsSuccess()) { std::cout << "Failed to put sample metric data:" << outcome.GetError().GetMessage() << std::endl; } else { std::cout << "Successfully put sample metric data" << std::endl; } // snippet-end:[cw.cpp.put_metric_data.code] } Aws::ShutdownAPI(options); return 0; }