metric_manager.cpp
Go to the documentation of this file.
1 /*
2  * Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License").
5  * You may not use this file except in compliance with the License.
6  * A copy of the License is located at
7  *
8  * http://aws.amazon.com/apache2.0
9  *
10  * or in the "license" file accompanying this file. This file is distributed
11  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12  * express or implied. See the License for the specific language governing
13  * permissions and limitations under the License.
14  */
15 
17 #include <ros_monitoring_msgs/MetricDimension.h>
18 
19 using namespace ros_monitoring_msgs;
20 
21 
23 {
24  MetricData md;
25  md.header.stamp = ros::Time(ros::WallTime::now().toSec());
26  md.time_stamp = md.header.stamp;
27  md.dimensions = dimensions_.dimensions;
28  return md;
29 }
30 
32  const std::string & value)
33 {
34  ros_monitoring_msgs::MetricDimension dim;
35  dim.name = name;
36  dim.value = value;
37  dimensions_.dimensions.push_back(dim);
38 }
39 
40 void ros_monitoring_msgs::MetricManager::AddMetric(MetricData md) { mlist_.metrics.push_back(md); }
41 
43 {
44  publisher_.publish(mlist_);
45  mlist_.metrics.clear();
46 }
virtual void AddDimension(const std::string &name, const std::string &value) overridefinal
add global dimension (applies to all metrics).
static WallTime now()
virtual MetricData CreateMetric() const overridefinal
create a metric.
virtual void Publish() overridefinal
publishes all metrics and then discards them.
virtual void AddMetric(MetricData md) overridefinal
add a metric to list of metrics to be published.


health_metric_collector
Author(s): AWS RoboMaker
autogenerated on Fri Mar 5 2021 03:32:41