/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.flink.runtime.metrics.dump; import org.junit.Test; import static org.apache.flink.runtime.metrics.dump.MetricDump.METRIC_CATEGORY_COUNTER; import static org.apache.flink.runtime.metrics.dump.MetricDump.METRIC_CATEGORY_GAUGE; import static org.apache.flink.runtime.metrics.dump.MetricDump.METRIC_CATEGORY_HISTOGRAM; import static org.apache.flink.runtime.metrics.dump.MetricDump.METRIC_CATEGORY_METER; import static org.junit.Assert.assertEquals; public class MetricDumpTest { @Test public void testDumpedCounter() { QueryScopeInfo info = new QueryScopeInfo.JobManagerQueryScopeInfo(); MetricDump.CounterDump cd = new MetricDump.CounterDump(info, "counter", 4); assertEquals("counter", cd.name); assertEquals(4, cd.count); assertEquals(info, cd.scopeInfo); assertEquals(METRIC_CATEGORY_COUNTER, cd.getCategory()); } @Test public void testDumpedGauge() { QueryScopeInfo info = new QueryScopeInfo.JobManagerQueryScopeInfo(); MetricDump.GaugeDump gd = new MetricDump.GaugeDump(info, "gauge", "hello"); assertEquals("gauge", gd.name); assertEquals("hello", gd.value); assertEquals(info, gd.scopeInfo); assertEquals(METRIC_CATEGORY_GAUGE, gd.getCategory()); } @Test public void testDumpedHistogram() { QueryScopeInfo info = new QueryScopeInfo.JobManagerQueryScopeInfo(); MetricDump.HistogramDump hd = new MetricDump.HistogramDump(info, "hist", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11); assertEquals("hist", hd.name); assertEquals(1, hd.min); assertEquals(2, hd.max); assertEquals(3, hd.mean, 0.1); assertEquals(4, hd.median, 0.1); assertEquals(5, hd.stddev, 0.1); assertEquals(6, hd.p75, 0.1); assertEquals(7, hd.p90, 0.1); assertEquals(8, hd.p95, 0.1); assertEquals(9, hd.p98, 0.1); assertEquals(10, hd.p99, 0.1); assertEquals(11, hd.p999, 0.1); assertEquals(info, hd.scopeInfo); assertEquals(METRIC_CATEGORY_HISTOGRAM, hd.getCategory()); } @Test public void testDumpedMeter() { QueryScopeInfo info = new QueryScopeInfo.JobManagerQueryScopeInfo(); MetricDump.MeterDump md = new MetricDump.MeterDump(info, "meter", 5.0); assertEquals("meter", md.name); assertEquals(5.0, md.rate, 0.1); assertEquals(info, md.scopeInfo); assertEquals(METRIC_CATEGORY_METER, md.getCategory()); } }