flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zentol <...@git.apache.org>
Subject [GitHub] flink pull request #2517: [FLINK-4564] [metrics] Delimiter should be configu...
Date Mon, 26 Sep 2016 14:06:06 GMT
Github user zentol commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2517#discussion_r80475991
  
    --- Diff: flink-runtime/src/test/java/org/apache/flink/runtime/metrics/MetricRegistryTest.java
---
    @@ -280,4 +282,65 @@ public void testConfigurableDelimiter() {
     
     		registry.shutdown();
     	}
    +
    +	@Test
    +	public void testConfigurableDelimiterForReporters() {
    +		Configuration config = new Configuration();
    +		config.setString(ConfigConstants.METRICS_REPORTERS_LIST, "test1,test2,test3");
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test1." + ConfigConstants.METRICS_REPORTER_SCOPE_DELIMITER,
"_");
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test1." + ConfigConstants.METRICS_REPORTER_CLASS_SUFFIX,
TestReporter.class.getName());
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test2." + ConfigConstants.METRICS_REPORTER_SCOPE_DELIMITER,
"-");
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test2." + ConfigConstants.METRICS_REPORTER_CLASS_SUFFIX,
TestReporter.class.getName());
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test3." + ConfigConstants.METRICS_REPORTER_SCOPE_DELIMITER,
"AA");
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test3." + ConfigConstants.METRICS_REPORTER_CLASS_SUFFIX,
TestReporter.class.getName());
    +
    +		MetricRegistry registry = new MetricRegistry(config);
    +
    +		assertEquals('.', registry.getDelimiter());
    +		assertEquals('_', registry.getDelimiter(0));
    +		assertEquals('-', registry.getDelimiter(1));
    +		assertEquals('.', registry.getDelimiter(2));
    +		assertEquals('.', registry.getDelimiter(3));
    +		assertEquals('.', registry.getDelimiter(-1));
    +
    +		registry.shutdown();
    +	}
    +
    +	@Test
    +	public void testConfigurableDelimiterForReportersInGroup() {
    +		Configuration config = new Configuration();
    +		config.setString(ConfigConstants.METRICS_REPORTERS_LIST, "test1,test2,test3,test4");
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test1." + ConfigConstants.METRICS_REPORTER_SCOPE_DELIMITER,
"_");
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test1." + ConfigConstants.METRICS_REPORTER_CLASS_SUFFIX,
TestReporter8.class.getName());
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test2." + ConfigConstants.METRICS_REPORTER_SCOPE_DELIMITER,
"-");
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test2." + ConfigConstants.METRICS_REPORTER_CLASS_SUFFIX,
TestReporter8.class.getName());
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test3." + ConfigConstants.METRICS_REPORTER_SCOPE_DELIMITER,
"AA");
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test3." + ConfigConstants.METRICS_REPORTER_CLASS_SUFFIX,
TestReporter8.class.getName());
    +		config.setString(ConfigConstants.METRICS_REPORTER_PREFIX + "test4." + ConfigConstants.METRICS_REPORTER_CLASS_SUFFIX,
TestReporter8.class.getName());
    +		config.setString(ConfigConstants.METRICS_SCOPE_NAMING_TM, "A.B");
    +
    +		MetricRegistry registry = new MetricRegistry(config);
    +		List<MetricReporter> reporters = registry.getReporters();
    +		((TestReporter8)reporters.get(0)).expectedDelimiter = '_'; //test1  reporter
    +		((TestReporter8)reporters.get(1)).expectedDelimiter = '-'; //test2 reporter
    +		((TestReporter8)reporters.get(2)).expectedDelimiter = '.'; //test3 reporter, because
'AA' - not correct delimiter
    +		//for test4 reporter use global delimiter
    +
    --- End diff --
    
    are you sure that this test accurately detects errors? if the assert within notify() fails
an exception is thrown, which however is never propagated but only logged.
    
    It would however be correct if you execute countCall++ after assertEquals(), as you only
reach it for a correct delimiter. Then of course it should be renamed to something like "numCorrectDelimiters"
or something.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message