in ambari-infra-solr-plugin/src/main/java/org/apache/ambari/infra/solr/metrics/reporters/ScheduledAMSReporter.java [72:97]
public void report(SortedMap<String, Gauge> gauges,
SortedMap<String, Counter> counters,
SortedMap<String, Histogram> histograms,
SortedMap<String, Meter> meters,
SortedMap<String, Timer> timers) {
try {
long currentMillis = System.currentTimeMillis();
List<TimelineMetric> timelineMetricList = new ArrayList<>();
gauges.forEach((metricName, gauge) ->
addTimelineMetrics(namePrefix + metricName, gauge, currentMillis, timelineMetricList));
counters.forEach((metricName, counter) ->
timelineMetricList.add(toTimelineMetric(namePrefix + metricName, counter.getCount(), currentMillis)));
timers.forEach((metricName, timer) ->
addTimelineMetrics(namePrefix + metricName, timer, currentMillis, timelineMetricList));
if (timelineMetricList.isEmpty())
return;
TimelineMetrics timelineMetrics = new TimelineMetrics();
timelineMetrics.setMetrics(timelineMetricList);
amsClient.emitMetrics(timelineMetrics);
}
catch (Exception ex) {
logger.error("Unable to collect and send metrics", ex);
}
}