Skip to content

Commit

Permalink
ISPN-14164 Merge basic and vendor registries
Browse files Browse the repository at this point in the history
This should fix the issue
  • Loading branch information
fax4ever committed Sep 25, 2022
1 parent 5459461 commit 3f517c3
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 35 deletions.
Expand Up @@ -48,8 +48,7 @@ public class MetricsCollector implements Constants {

private static final Log log = LogFactory.getLog(MetricsCollector.class);

private PrometheusMeterRegistry baseRegistry;
private PrometheusMeterRegistry vendorRegistry;
private PrometheusMeterRegistry registry;

private Tag nodeTag;

Expand All @@ -64,21 +63,15 @@ public class MetricsCollector implements Constants {
protected MetricsCollector() {
}

public PrometheusMeterRegistry getBaseRegistry() {
return baseRegistry;
}

public PrometheusMeterRegistry getVendorRegistry() {
return vendorRegistry;
public PrometheusMeterRegistry registry() {
return registry;
}

@Start
protected void start() {
baseRegistry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
new BaseAdditionalMetrics().bindTo(baseRegistry);

vendorRegistry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
new VendorAdditionalMetrics().bindTo(vendorRegistry);
registry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
new BaseAdditionalMetrics().bindTo(registry);
new VendorAdditionalMetrics().bindTo(registry);

Transport transport = transportRef.running();
String nodeName = transport != null ? transport.getAddress().toString() : globalConfig.transport().nodeName();
Expand All @@ -96,16 +89,9 @@ protected void start() {

@Stop
protected void stop() {
try {
if (baseRegistry != null) {
baseRegistry.close();
baseRegistry = null;
}
} finally {
if (vendorRegistry != null) {
vendorRegistry.close();
vendorRegistry = null;
}
if (registry != null) {
registry.close();
registry = null;
}
}

Expand Down Expand Up @@ -164,7 +150,7 @@ private Set<Object> registerMetrics(Object instance, Collection<MBeanMetadata.At
.tags(tags)
.strongReference(true)
.description(attr.getDescription())
.register(vendorRegistry);
.register(registry);

Meter.Id id = gauge.getId();

Expand All @@ -178,7 +164,7 @@ private Set<Object> registerMetrics(Object instance, Collection<MBeanMetadata.At
Timer timer = Timer.builder(metricName)
.tags(tags)
.description(attr.getDescription())
.register(vendorRegistry);
.register(registry);

Meter.Id id = timer.getId();

Expand All @@ -194,7 +180,7 @@ private Set<Object> registerMetrics(Object instance, Collection<MBeanMetadata.At

if (log.isTraceEnabled()) {
log.tracef("Registered %d metrics. Metric registry @%x contains %d metrics.",
metricIds.size(), System.identityHashCode(vendorRegistry), vendorRegistry.getMeters().size());
metricIds.size(), System.identityHashCode(registry), registry.getMeters().size());
}

return metricIds;
Expand All @@ -214,18 +200,18 @@ private Tag asTag(String key, String value) {
}

public void unregisterMetric(Object metricId) {
if (vendorRegistry == null) {
if (registry == null) {
return;
}

Meter removed = vendorRegistry.remove((Meter.Id) metricId);
Meter removed = registry.remove((Meter.Id) metricId);
if (log.isTraceEnabled()) {
if (removed != null) {
log.tracef("Unregistered metric \"%s\". Metric registry @%x contains %d metrics.",
metricId, System.identityHashCode(vendorRegistry), vendorRegistry.getMeters().size());
metricId, System.identityHashCode(registry), registry.getMeters().size());
} else {
log.tracef("Could not remove unexisting metric \"%s\". Metric registry @%x contains %d metrics.",
metricId, System.identityHashCode(vendorRegistry), vendorRegistry.getMeters().size());
metricId, System.identityHashCode(registry), registry.getMeters().size());
}
}
}
Expand Down
Expand Up @@ -57,20 +57,20 @@ protected void createCacheManagers() throws Throwable {

public void testMetricsAreRegistered() {
MetricsCollector mc0 = manager(0).getGlobalComponentRegistry().getComponent(MetricsCollector.class);
List<Meter> meters0 = mc0.getVendorRegistry().getMeters();
List<Meter> meters0 = mc0.registry().getMeters();
assertThat(meters0).isNotEmpty();
assertThat(meters0.get(0).getId().getName()).startsWith("vendor.ispn");

MetricsCollector mc1 = manager(1).getGlobalComponentRegistry().getComponent(MetricsCollector.class);
List<Meter> meters1 = mc1.getVendorRegistry().getMeters();
List<Meter> meters1 = mc1.registry().getMeters();
assertThat(meters1).isNotEmpty();
assertThat(meters1.get(0).getId().getName()).startsWith("vendor.ispn");

GlobalConfiguration gcfg0 = manager(0).getCacheManagerConfiguration();
Tag nodeNameTag = Tag.of(Constants.NODE_TAG_NAME, gcfg0.transport().nodeName());
Tag cacheManagerTag = Tag.of(Constants.CACHE_MANAGER_TAG_NAME, gcfg0.cacheManagerName());

Collection<Gauge> statsEvictions = mc0.getVendorRegistry().find("vendor.ispn_cache_container_stats_evictions").gauges();
Collection<Gauge> statsEvictions = mc0.registry().find("vendor.ispn_cache_container_stats_evictions").gauges();
assertThat(statsEvictions).hasSize(1);
Gauge statsEviction = statsEvictions.iterator().next();
statsEviction.getId().getTags().contains(nodeNameTag);
Expand Down
Expand Up @@ -54,8 +54,7 @@ private CompletionStage<RestResponse> metrics(RestRequest restRequest) {
try {
String contentType = TextFormat.chooseContentType(restRequest.getAcceptHeader());
builder.header("Content-Type", contentType);
builder.entity(metricsCollector.getBaseRegistry().scrape(contentType)
+ metricsCollector.getVendorRegistry().scrape(contentType));
builder.entity(metricsCollector.registry().scrape(contentType));

return builder.build();
} catch (Exception e) {
Expand Down

0 comments on commit 3f517c3

Please sign in to comment.