Merge pull request #2778 from ebean-orm/feature/metric-naming-convention

Support a naming convention function that can be applied to metrics names for reporting
This commit is contained in:
Rob Bygrave
2022-08-09 11:10:51 +12:00
committed by GitHub
19 changed files with 314 additions and 50 deletions
@@ -14,6 +14,7 @@ import org.tests.model.basic.ResetBasicData;
import java.util.List;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -209,8 +210,10 @@ public class DtoQuery2Test extends BaseTestCase {
log.info("Found " + custs);
}
Function<String, String> lowerUnderscore = (String key) -> "prefix:" + key.replace('.','_').toLowerCase();
// collect without reset
BasicMetricVisitor basic = new BasicMetricVisitor("db", false, true, true, true);
BasicMetricVisitor basic = new BasicMetricVisitor("db", lowerUnderscore, false, true, true, true);
server().metaInfo().visitMetrics(basic);
List<MetaQueryMetric> stats = basic.queryMetrics();
@@ -219,7 +222,7 @@ public class DtoQuery2Test extends BaseTestCase {
MetaQueryMetric queryMetric = stats.get(0);
assertThat(queryMetric.label()).isEqualTo("basic");
assertThat(queryMetric.count()).isEqualTo(3);
assertThat(queryMetric.name()).isEqualTo("dto.DCust_basic");
assertThat(queryMetric.name()).isEqualTo("prefix:dto_dcust_basic");
server().findDto(DCust.class, "select c4.id, c4.name from o_customer c4 where lower(c4.name) = :name")
@@ -1,5 +1,6 @@
package io.ebean.xtest.base;
import io.ebean.meta.MetricNamingMatch;
import io.ebean.xtest.BaseTestCase;
import io.ebean.DB;
import io.ebean.DtoQuery;
@@ -286,7 +287,7 @@ class DtoQueryTest extends BaseTestCase {
}
// collect without reset
BasicMetricVisitor basic = new BasicMetricVisitor("db", false, true, true, true);
BasicMetricVisitor basic = new BasicMetricVisitor("db", MetricNamingMatch.INSTANCE, false, true, true, true);
server().metaInfo().visitMetrics(basic);
List<MetaQueryMetric> stats = basic.queryMetrics();