public RemoteCounter newMetric()

in remote/src/main/java/com/spotify/metrics/remote/SemanticAggregatorMetricBuilder.java [85:123]


            public RemoteCounter newMetric(
                final MetricId id,
                final List<String> shardKey,
                final Remote remote) {

                final Map<String, String> allAttributes =
                    SemanticAggregator.buildAttributes(id, "counter");
                final String shard =
                    Sharder.buildShardKey(shardKey, allAttributes);

                return new RemoteCounter() {
                    @Override
                    public void inc() {
                        inc(1);
                    }

                    @Override
                    public void inc(long n) {
                        remote.post(
                            "/",
                            shard,
                            SemanticAggregator.buildDocument(
                                Long.toString(n),
                                id.getKey(),
                                allAttributes));
                    }

                    @Override
                    public void dec() {
                        inc(-1);
                    }

                    @Override
                    public void dec(long n) {
                        inc(-n);
                    }

                };
            }