Skip to content

Commit 378f16b

Browse files
authored
Merge pull request #10 from elandau/feature/spectator_id
Use Id for spectator baseId so it may include tags
2 parents 5758aa5 + 6ad802d commit 378f16b

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

concurrency-limits-grpc/src/test/java/com/netflix/concurrency/limits/grpc/server/ConcurrencyLimitServerInterceptorTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ public class ConcurrencyLimitServerInterceptorTest {
4444
private static final Key<String> ID_HEADER = Metadata.Key.of("id", Metadata.ASCII_STRING_MARSHALLER);
4545

4646
Registry spectatorRegistry = new DefaultRegistry();
47-
SpectatorMetricRegistry serverRegistry = new SpectatorMetricRegistry("grpc.server.call", spectatorRegistry);
48-
SpectatorMetricRegistry clientRegistry = new SpectatorMetricRegistry("grpc.client.call", spectatorRegistry);
47+
SpectatorMetricRegistry serverRegistry = new SpectatorMetricRegistry(spectatorRegistry, spectatorRegistry.createId("grpc.server.call.limter"));
48+
SpectatorMetricRegistry clientRegistry = new SpectatorMetricRegistry(spectatorRegistry, spectatorRegistry.createId("grpc.client.call.limter"));
4949

5050
@Test
5151
@Ignore

concurrency-limits-spectator/src/main/java/com/netflix/concurrency/limits/spectator/SpectatorMetricRegistry.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,42 @@
22

33
import com.netflix.concurrency.limits.MetricRegistry;
44
import com.netflix.spectator.api.DistributionSummary;
5+
import com.netflix.spectator.api.Id;
56
import com.netflix.spectator.api.Registry;
67
import com.netflix.spectator.api.patterns.PolledMeter;
78

89
import java.util.function.Supplier;
910

1011
public final class SpectatorMetricRegistry implements MetricRegistry {
1112
private final Registry registry;
12-
private final String baseId;
13+
private final Id baseId;
1314

14-
public SpectatorMetricRegistry(String baseId, Registry registry) {
15+
public SpectatorMetricRegistry(Registry registry, Id baseId) {
1516
this.registry = registry;
1617
this.baseId = baseId;
1718
}
1819

1920
public void registerGuage(String id, Supplier<Number> supplier) {
2021
PolledMeter.using(registry)
21-
.withName(this.baseId + "." + id)
22+
.withId(suffixBaseId(id))
2223
.monitorValue(this, o -> supplier.get().doubleValue());
2324
}
2425

2526
@Override
2627
public SampleListener registerDistribution(String id, String... tagNameValuePairs) {
27-
DistributionSummary summary = registry.distributionSummary(this.baseId + "." + id, tagNameValuePairs);
28+
DistributionSummary summary = registry.distributionSummary(suffixBaseId(id).withTags(tagNameValuePairs));
2829
return value -> summary.record(value.longValue());
2930
}
3031

3132
@Override
3233
public void registerGuage(String id, Supplier<Number> supplier, String... tagNameValuePairs) {
3334
PolledMeter.using(registry)
34-
.withName(this.baseId + "." + id)
35-
.withTags(tagNameValuePairs)
35+
.withId(suffixBaseId(id).withTags(tagNameValuePairs))
3636
.monitorValue(this, o -> supplier.get().doubleValue());
3737
}
38+
39+
private Id suffixBaseId(String suffix) {
40+
return registry.createId(this.baseId.name() + "." + suffix).withTags(this.baseId.tags());
41+
}
42+
3843
}

0 commit comments

Comments
 (0)