in opencensus-exporter/src/main/java/com/spotify/ffwd/FfwdMetricsConverter.java [110:143]
public void export(Collection<Metric> collection) {
final ArrayList<com.spotify.ffwd.Metric> metrics = new ArrayList<>();
for (Metric metric : collection) {
for (TimeSeries timeSeries : metric.getTimeSeriesList()) {
for (final Point point : timeSeries.getPoints()) {
final List<com.spotify.ffwd.Metric> values = point.getValue().match(
typedValueDoubleFunction,
typedValueLongFunction,
typedValueDistributionFunction,
typedValueSummaryFunction,
Functions.throwIllegalArgumentException()
);
final Map<String, String> tags = createTags(
metric.getMetricDescriptor().getLabelKeys(), timeSeries.getLabelValues());
for (final com.spotify.ffwd.Metric value : values) {
metrics.add(
FastForward
.metric(metric.getMetricDescriptor().getName())
.attributes(tags)
.attribute("unit", metric.getMetricDescriptor().getUnit())
.attribute("metric_type", getMetricType(metric.getMetricDescriptor().getType()))
.time(point.getTimestamp().getSeconds() * 1000) // convert to milliseconds
.value(value.getValue())
);
}
}
}
}
sendMetrics(metrics);
}