You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/09/01 05:55:00 UTC

[jira] [Commented] (FLINK-7502) PrometheusReporter improvements

    [ https://issues.apache.org/jira/browse/FLINK-7502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16150075#comment-16150075 ] 

ASF GitHub Bot commented on FLINK-7502:
---------------------------------------

Github user mbode commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4586#discussion_r136503621
  
    --- Diff: flink-metrics/flink-metrics-prometheus/src/test/java/org/apache/flink/metrics/prometheus/PrometheusReporterTest.java ---
    @@ -160,6 +151,43 @@ public void invalidCharactersAreReplacedWithUnderscore() {
     		assertThat(PrometheusReporter.replaceInvalidChars("a,=;:?'b,=;:?'c"), equalTo("a___:__b___:__c"));
     	}
     
    +	@Test
    +	public void registeringSameMetricTwiceDoesNotThrowException() {
    +		Counter counter = new SimpleCounter();
    +		counter.inc();
    +		String counterName = "testCounter";
    +		final FrontMetricGroup<TaskManagerMetricGroup> group = new FrontMetricGroup<>(0, new TaskManagerMetricGroup(registry, HOST_NAME, TASK_MANAGER));
    +
    +		reporter.notifyOfAddedMetric(counter, counterName, group);
    +		reporter.notifyOfAddedMetric(counter, counterName, group);
    +	}
    +
    +	@Test
    +	public void cannotStartTwoReportersOnSamePort() {
    +		final MetricRegistry fixedPort1 = new MetricRegistry(MetricRegistryConfiguration.fromConfiguration(createConfigWithOneReporter("test1", "12345")));
    +		final MetricRegistry fixedPort2 = new MetricRegistry(MetricRegistryConfiguration.fromConfiguration(createConfigWithOneReporter("test2", "12345")));
    +		assertThat(fixedPort1.getReporters(), hasSize(1));
    +		assertThat(fixedPort2.getReporters(), hasSize(0));
    +	}
    +
    +	@Test
    +	public void canStartTwoReportersWhenUsingPortRange() {
    +		final MetricRegistry portRange1 = new MetricRegistry(MetricRegistryConfiguration.fromConfiguration(createConfigWithOneReporter("test1", "9249-9252")));
    +		final MetricRegistry portRange2 = new MetricRegistry(MetricRegistryConfiguration.fromConfiguration(createConfigWithOneReporter("test2", "9249-9252")));
    +		assertThat(portRange1.getReporters(), hasSize(1));
    +		assertThat(portRange2.getReporters(), hasSize(1));
    +	}
    +
    +	@Test
    +	public void cannotStartThreeReportersWhenPortRangeIsTooSmall() {
    +		final MetricRegistry smallPortRange1 = new MetricRegistry(MetricRegistryConfiguration.fromConfiguration(createConfigWithOneReporter("test1", "9253-9254")));
    --- End diff --
    
    done


> PrometheusReporter improvements
> -------------------------------
>
>                 Key: FLINK-7502
>                 URL: https://issues.apache.org/jira/browse/FLINK-7502
>             Project: Flink
>          Issue Type: Improvement
>          Components: Metrics
>    Affects Versions: 1.4.0
>            Reporter: Maximilian Bode
>            Assignee: Maximilian Bode
>            Priority: Minor
>
> * do not throw exceptions on metrics being registered for second time
> * allow port ranges for setups where multiple reporters are on same host (e.g. one TaskManager and one JobManager)
> * do not use nanohttpd anymore, there is now a minimal http server included in [Prometheus JVM client|https://github.com/prometheus/client_java]



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)