in remote/src/main/java/com/spotify/metrics/remote/SemanticAggregatorMetricBuilder.java [149:177]
public RemoteDerivingMeter newMetric(
final MetricId id,
final List<String> shardKey,
final Remote remote) {
final Map<String, String> allAttributes =
SemanticAggregator.buildAttributes(id, "deriving_meter");
final String shard =
Sharder.buildShardKey(shardKey, allAttributes);
return new RemoteDerivingMeter() {
@Override
public ListenableFuture<Integer> mark() {
return mark(1);
}
@Override
public ListenableFuture<Integer> mark(long n) {
return remote.post(
"/",
shard,
SemanticAggregator.buildDocument(
Long.toString(n),
id.getKey(),
allAttributes));
}
};
}