You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Hanisha Koneru (Jira)" <ji...@apache.org> on 2021/06/16 18:56:00 UTC

[jira] [Updated] (RATIS-1381) Add default Reporter if there are no reporters when creating Metrics Registry

     [ https://issues.apache.org/jira/browse/RATIS-1381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hanisha Koneru updated RATIS-1381:
----------------------------------
    Summary: Add default Reporter if there are no reporters when creating Metrics Registry  (was: Remove MetricsRegistries warning for creating without adding reporters)

> Add default Reporter if there are no reporters when creating Metrics Registry
> -----------------------------------------------------------------------------
>
>                 Key: RATIS-1381
>                 URL: https://issues.apache.org/jira/browse/RATIS-1381
>             Project: Ratis
>          Issue Type: Bug
>          Components: metrics
>            Reporter: Hanisha Koneru
>            Assignee: Hanisha Koneru
>            Priority: Major
>          Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> MetricsRegistriesImpl throws a warning when creating RatisMetricsRegistry without registering any reporters beforehand.
> {code:java}
> @Override
> public RatisMetricRegistry create(MetricRegistryInfo info) {
>   return registries.put(info, () -> {
>     if (reporterRegistrations.isEmpty()) {
>       LOG.warn(
>           "First MetricRegistry has been created without registering reporters. You may need to call" +
>               " MetricRegistries.global().addReporterRegistration(...) before.");
>       StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
>       for(StackTraceElement element : stackTrace) {
>         LOG.warn("     " + element.getClassName() + " - " + element.getMethodName() + " - " +
>             element.getLineNumber());
>       }
>     }
>     RatisMetricRegistry registry = factory.create(info);
>     reporterRegistrations.forEach(reg -> reg.accept(registry));
>     return registry;
>   });
> }
> {code}
> This leads to a lot of noise in the logs as every ratis client logs this message. 
> {code:java}
> 21/06/02 12:37:35 INFO metrics.RatisMetrics: Creating Metrics Registry : ratis.client_message_metrics.client-CBAF50A69A13->24ecdbe1-e8c3-4211-94fc-31429681f184
> 21/06/02 12:37:35 WARN impl.MetricRegistriesImpl: First MetricRegistry has been created without registering reporters. You may need to call MetricRegistries.global().addReporterRegistration(...) before.
> 21/06/02 12:37:40 INFO metrics.RatisMetrics: Creating Metrics Registry : ratis.client_message_metrics.client-1A65382B9313->082aff6d-b8b6-435b-993e-1b3b37b9770b
> 21/06/02 12:37:40 WARN impl.MetricRegistriesImpl: First MetricRegistry has been created without registering reporters. You may need to call MetricRegistries.global().addReporterRegistration(...) before.
> 21/06/02 12:37:44 INFO metrics.RatisMetrics: Creating Metrics Registry : ratis.client_message_metrics.client-530530878B2F->06c72e97-a5ea-4474-b73c-5642d30ee3cf
> 21/06/02 12:37:44 WARN impl.MetricRegistriesImpl: First MetricRegistry has been created without registering reporters. You may need to call MetricRegistries.global().addReporterRegistration(...) before.
> 21/06/02 12:37:52 INFO metrics.RatisMetrics: Creating Metrics Registry : ratis.client_message_metrics.client-B39FB0CD2151->24ecdbe1-e8c3-4211-94fc-31429681f184
> 21/06/02 12:37:52 WARN impl.MetricRegistriesImpl: First MetricRegistry has been created without registering reporters. You may need to call MetricRegistries.global().addReporterRegistration(...) before.
> 21/06/02 12:37:57 INFO metrics.RatisMetrics: Creating Metrics Registry : ratis.client_message_metrics.client-12092E53EF9C->082aff6d-b8b6-435b-993e-1b3b37b9770b
> 21/06/02 12:37:57 WARN impl.MetricRegistriesImpl: First MetricRegistry has been created without registering reporters. You may need to call MetricRegistries.global().addReporterRegistration(...) before.
> 21/06/02 12:38:00 INFO metrics.RatisMetrics: Creating Metrics Registry : ratis.client_message_metrics.client-89C870BA12C6->d5196d6f-753d-4113-87ef-2bfbba66c2af
> 21/06/02 12:38:00 WARN impl.MetricRegistriesImpl: First MetricRegistry has been created without registering reporters. You may need to call MetricRegistries.global().addReporterRegistration(...) before.
> 21/06/02 12:38:03 INFO metrics.RatisMetrics: Creating Metrics Registry : ratis.client_message_metrics.client-A9412DBA8690->06c72e97-a5ea-4474-b73c-5642d30ee3cf
> 21/06/02 12:38:03 WARN impl.MetricRegistriesImpl: First MetricRegistry has been created without registering reporters. You may need to call MetricRegistries.global().addReporterRegistration(...) before.
> 21/06/02 12:38:25 INFO metrics.RatisMetrics: Creating Metrics Registry : ratis.client_message_metrics.client-49743027A7AD->d5196d6f-753d-4113-87ef-2bfbba66c2af
> 21/06/02 12:38:25 WARN impl.MetricRegistriesImpl: First MetricRegistry has been created without registering reporters. You may need to call MetricRegistries.global().addReporterRegistration(...) before.
> {code}
> We can remove the warning message or at the least change it to debug level.
> cc. [~elek]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)