Refactor io.ebean.meta API, method rename with deprecation

This commit is contained in:
rbygrave
2021-08-06 13:14:29 +12:00
parent 3579557200
commit 801d419f51
45 changed files with 363 additions and 257 deletions
@@ -90,14 +90,14 @@ public abstract class BaseTestCase {
}
protected List<MetaTimedMetric> visitTimedMetrics() {
return collectMetrics().getTimedMetrics();
return collectMetrics().timedMetrics();
}
protected List<MetaTimedMetric> sqlMetrics() {
List<MetaTimedMetric> timedMetrics = visitTimedMetrics();
return timedMetrics.stream()
.filter((it) -> it.getName().startsWith("sql.") || it.getName().startsWith("orm."))
.filter((it) -> it.name().startsWith("sql.") || it.name().startsWith("orm."))
.collect(Collectors.toList());
}
@@ -191,13 +191,13 @@ public class DtoQuery2Test extends BaseTestCase {
BasicMetricVisitor basic = new BasicMetricVisitor(false, true, true, true);
server().getMetaInfoManager().visitMetrics(basic);
List<MetaQueryMetric> stats = basic.getQueryMetrics();
List<MetaQueryMetric> stats = basic.queryMetrics();
assertThat(stats).hasSize(1);
MetaQueryMetric queryMetric = stats.get(0);
assertThat(queryMetric.getLabel()).isEqualTo("basic");
assertThat(queryMetric.getCount()).isEqualTo(3);
assertThat(queryMetric.getName()).isEqualTo("dto.DCust_basic");
assertThat(queryMetric.label()).isEqualTo("basic");
assertThat(queryMetric.count()).isEqualTo(3);
assertThat(queryMetric.name()).isEqualTo("dto.DCust_basic");
server().findDto(DCust.class, "select c4.id, c4.name from o_customer c4 where lower(c4.name) = :name")
@@ -207,7 +207,7 @@ public class DtoQuery2Test extends BaseTestCase {
BasicMetricVisitor metric2 = server().getMetaInfoManager().visitBasic();
stats = metric2.getQueryMetrics();
stats = metric2.queryMetrics();
assertThat(stats).hasSize(2);
log.info("stats " + stats);
@@ -27,12 +27,12 @@ public class DtoQueryFromOrmTest extends BaseTestCase {
@AfterClass
public static void reportStats() {
ServerMetrics metrics = DB.getDefault().getMetaInfoManager().collectMetrics();
for (MetaQueryMetric metric : metrics.getQueryMetrics()) {
for (MetaQueryMetric metric : metrics.queryMetrics()) {
System.out.println(metric);
}
System.out.println("-- transaction metrics --");
for (MetaTimedMetric metric : metrics.getTimedMetrics()) {
for (MetaTimedMetric metric : metrics.timedMetrics()) {
System.out.println(metric);
}
}
@@ -59,15 +59,15 @@ public class DtoQueryFromOrmTest extends BaseTestCase {
ServerMetrics metrics = collectMetrics();
List<MetaQueryMetric> stats = metrics.getQueryMetrics();
List<MetaQueryMetric> stats = metrics.queryMetrics();
for (MetaQueryMetric stat : stats) {
long meanMicros = stat.getMean();
long meanMicros = stat.mean();
assertThat(meanMicros).isLessThan(900_000);
assertThat(stat.getLocation()).isSameAs(loc0.location());
assertThat(stat.location()).isSameAs(loc0.location());
}
assertThat(stats).hasSize(1);
assertThat(stats.get(0).getCount()).isEqualTo(4);
assertThat(stats.get(0).count()).isEqualTo(4);
}
@ForPlatform(Platform.H2)
@@ -42,14 +42,14 @@ public class DtoQueryTest extends BaseTestCase {
ServerMetrics metrics = collectMetrics();
List<MetaQueryMetric> stats = metrics.getQueryMetrics();
List<MetaQueryMetric> stats = metrics.queryMetrics();
for (MetaQueryMetric stat : stats) {
long meanMicros = stat.getMean();
long meanMicros = stat.mean();
assertThat(meanMicros).isLessThan(900_000);
}
assertThat(stats).hasSize(1);
assertThat(stats.get(0).getCount()).isEqualTo(1);
assertThat(stats.get(0).count()).isEqualTo(1);
}
@Test
@@ -283,13 +283,13 @@ public class DtoQueryTest extends BaseTestCase {
BasicMetricVisitor basic = new BasicMetricVisitor(false, true, true, true);
server().getMetaInfoManager().visitMetrics(basic);
List<MetaQueryMetric> stats = basic.getQueryMetrics();
List<MetaQueryMetric> stats = basic.queryMetrics();
assertThat(stats).hasSize(1);
MetaQueryMetric queryMetric = stats.get(0);
assertThat(queryMetric.getLabel()).isEqualTo("basic");
assertThat(queryMetric.getCount()).isEqualTo(3);
assertThat(queryMetric.getName()).isEqualTo("dto.DCust_basic");
assertThat(queryMetric.label()).isEqualTo("basic");
assertThat(queryMetric.count()).isEqualTo(3);
assertThat(queryMetric.name()).isEqualTo("dto.DCust_basic");
server().findDto(DCust.class, "select c4.id, c4.name from o_customer c4 where lower(c4.name) = :name")
@@ -299,7 +299,7 @@ public class DtoQueryTest extends BaseTestCase {
ServerMetrics metric2 = server().getMetaInfoManager().collectMetrics();
stats = metric2.getQueryMetrics();
stats = metric2.queryMetrics();
assertThat(stats).hasSize(2);
log.info("stats " + stats);
@@ -39,10 +39,10 @@ public class UpdateQueryTest extends BaseTestCase {
assertSql(query).contains("update o_customer set status=?, updtime=? where status = ? and id > ?");
ServerMetrics metrics = collectMetrics();
List<MetaQueryMetric> ormQueryMetrics = metrics.getQueryMetrics();
List<MetaQueryMetric> ormQueryMetrics = metrics.queryMetrics();
assertThat(ormQueryMetrics).hasSize(1);
assertThat(ormQueryMetrics.get(0).getType()).isEqualTo(Customer.class);
assertThat(ormQueryMetrics.get(0).getLabel()).isEqualTo("updateActive");
assertThat(ormQueryMetrics.get(0).type()).isEqualTo(Customer.class);
assertThat(ormQueryMetrics.get(0).label()).isEqualTo("updateActive");
}
@Test
@@ -69,10 +69,10 @@ public class UpdateQueryTest extends BaseTestCase {
assertSql(sql.get(0)).contains("update o_customer set status = status");
ServerMetrics metrics = collectMetrics();
List<MetaQueryMetric> ormQueryMetrics = metrics.getQueryMetrics();
List<MetaQueryMetric> ormQueryMetrics = metrics.queryMetrics();
assertThat(ormQueryMetrics).hasSize(1);
assertThat(ormQueryMetrics.get(0).getType()).isEqualTo(Customer.class);
assertThat(ormQueryMetrics.get(0).getLabel()).isEqualTo("updateAll");
assertThat(ormQueryMetrics.get(0).type()).isEqualTo(Customer.class);
assertThat(ormQueryMetrics.get(0).label()).isEqualTo("updateAll");
}
@Test
@@ -23,11 +23,11 @@ public class BeanIudMetricsTest {
BasicMetricVisitor basic = new BasicMetricVisitor();
iudMetrics.visit(basic);
List<MetaTimedMetric> timed = basic.getTimedMetrics();
List<MetaTimedMetric> timed = basic.timedMetrics();
assertThat(timed).hasSize(1);
assertThat(timed.get(0).getCount()).isEqualTo(4);
assertThat(timed.get(0).getName()).isEqualTo("iud.one.insertBatch");
assertThat(timed.get(0).count()).isEqualTo(4);
assertThat(timed.get(0).name()).isEqualTo("iud.one.insertBatch");
iudMetrics.addBatch(PersistRequest.Type.UPDATE, startNanos, 1);
iudMetrics.addBatch(PersistRequest.Type.DELETE_SOFT, startNanos, 2);
@@ -37,15 +37,15 @@ public class BeanIudMetricsTest {
basic = new BasicMetricVisitor();
iudMetrics.visit(basic);
timed = basic.getTimedMetrics();
timed = basic.timedMetrics();
assertThat(timed).hasSize(3);
assertThat(timed.get(0).getCount()).isEqualTo(16);
assertThat(timed.get(0).getName()).isEqualTo("iud.one.insertBatch");
assertThat(timed.get(1).getCount()).isEqualTo(3);
assertThat(timed.get(1).getName()).isEqualTo("iud.one.updateBatch");
assertThat(timed.get(2).getCount()).isEqualTo(12);
assertThat(timed.get(2).getName()).isEqualTo("iud.one.deleteBatch");
assertThat(timed.get(0).count()).isEqualTo(16);
assertThat(timed.get(0).name()).isEqualTo("iud.one.insertBatch");
assertThat(timed.get(1).count()).isEqualTo(3);
assertThat(timed.get(1).name()).isEqualTo("iud.one.updateBatch");
assertThat(timed.get(2).count()).isEqualTo(12);
assertThat(timed.get(2).name()).isEqualTo("iud.one.deleteBatch");
}
@Test
@@ -63,15 +63,15 @@ public class BeanIudMetricsTest {
BasicMetricVisitor basic = new BasicMetricVisitor();
iudMetrics.visit(basic);
List<MetaTimedMetric> timed = basic.getTimedMetrics();
List<MetaTimedMetric> timed = basic.timedMetrics();
assertThat(timed).hasSize(3);
assertThat(timed.get(0).getCount()).isEqualTo(1);
assertThat(timed.get(0).getName()).isEqualTo("iud.one.insert");
assertThat(timed.get(1).getCount()).isEqualTo(2);
assertThat(timed.get(1).getName()).isEqualTo("iud.one.update");
assertThat(timed.get(2).getCount()).isEqualTo(2);
assertThat(timed.get(2).getName()).isEqualTo("iud.one.delete");
assertThat(timed.get(0).count()).isEqualTo(1);
assertThat(timed.get(0).name()).isEqualTo("iud.one.insert");
assertThat(timed.get(1).count()).isEqualTo(2);
assertThat(timed.get(1).name()).isEqualTo("iud.one.update");
assertThat(timed.get(2).count()).isEqualTo(2);
assertThat(timed.get(2).name()).isEqualTo("iud.one.delete");
}
}
@@ -21,17 +21,17 @@ public class DTimedMetricMapTest {
BasicMetricVisitor visitor = new BasicMetricVisitor();
metricMap.visit(visitor);
MetaTimedMetric timedMetric = visitor.getTimedMetrics().get(0);
assertThat(timedMetric.getCount()).isEqualTo(1);
assertThat(timedMetric.getTotal()).isGreaterThan(10);
MetaTimedMetric timedMetric = visitor.timedMetrics().get(0);
assertThat(timedMetric.count()).isEqualTo(1);
assertThat(timedMetric.total()).isGreaterThan(10);
metricMap.addSinceNanos("some", nanos);
visitor = new BasicMetricVisitor();
metricMap.visit(visitor);
timedMetric = visitor.getTimedMetrics().get(0);
assertThat(timedMetric.getCount()).isEqualTo(1);
assertThat(timedMetric.getTotal()).isGreaterThan(10);
timedMetric = visitor.timedMetrics().get(0);
assertThat(timedMetric.count()).isEqualTo(1);
assertThat(timedMetric.total()).isGreaterThan(10);
}
}
@@ -17,16 +17,16 @@ public class DTimedMetricTest {
metric.addSinceNanos(start);
DTimeMetricStats stats = metric.collect(true);
assertThat(stats.getCount()).isEqualTo(1);
assertThat(stats.getTotal()).isGreaterThan(10);
assertThat(stats.getMax()).isEqualTo(stats.getTotal());
assertThat(stats.count()).isEqualTo(1);
assertThat(stats.total()).isGreaterThan(10);
assertThat(stats.max()).isEqualTo(stats.total());
metric.addSinceNanos(start);
stats = metric.collect(true);
assertThat(stats.getCount()).isEqualTo(1);
assertThat(stats.getTotal()).isGreaterThan(10);
assertThat(stats.getMax()).isEqualTo(stats.getTotal());
assertThat(stats.count()).isEqualTo(1);
assertThat(stats.total()).isGreaterThan(10);
assertThat(stats.max()).isEqualTo(stats.total());
}
@Test
@@ -40,16 +40,16 @@ public class DTimedMetricTest {
metric.addBatchSince(start, 5);
DTimeMetricStats stats = metric.collect(true);
assertThat(stats.getCount()).isEqualTo(5);
assertThat(stats.getTotal()).isGreaterThan(10000);
assertThat(stats.getMax()).isEqualTo(stats.getTotal() / 5);
assertThat(stats.getMax()).isGreaterThan(10000 / 5);
assertThat(stats.count()).isEqualTo(5);
assertThat(stats.total()).isGreaterThan(10000);
assertThat(stats.max()).isEqualTo(stats.total() / 5);
assertThat(stats.max()).isGreaterThan(10000 / 5);
metric.addBatchSince(start, 2);
stats = metric.collect(true);
assertThat(stats.getCount()).isEqualTo(2);
assertThat(stats.getTotal()).isGreaterThan(10000);
assertThat(stats.getMax()).isEqualTo(stats.getTotal() / 2);
assertThat(stats.count()).isEqualTo(2);
assertThat(stats.total()).isGreaterThan(10000);
assertThat(stats.max()).isEqualTo(stats.total() / 2);
}
}
@@ -26,7 +26,7 @@ public class SortMetricTest {
list.add(create("a"));
list.sort(sortMetric);
String names = list.stream().map(DTimeMetricStats::getName).collect(Collectors.joining());
String names = list.stream().map(DTimeMetricStats::name).collect(Collectors.joining());
assertEquals("nullabcd", names);
}
@@ -80,15 +80,15 @@ public class TestBatchInsertFlush extends BaseTestCase {
}
ServerMetrics metrics = collectMetrics();
List<MetaTimedMetric> txnStats = metrics.getTimedMetrics();
List<MetaTimedMetric> txnStats = metrics.timedMetrics();
for (MetaTimedMetric txnMetric : txnStats) {
System.out.println(txnMetric);
}
assertThat(txnStats).hasSize(4);
assertThat(txnStats.get(0).getName()).isEqualTo("txn.main");
assertThat(txnStats.get(1).getName()).isEqualTo("txn.named.TestBatchInsertFlush.no_cascade");
assertThat(txnStats.get(2).getName()).isEqualTo("iud.TSDetail.insertBatch");
assertThat(txnStats.get(3).getName()).isEqualTo("iud.TSMaster.insertBatch");
assertThat(txnStats.get(0).name()).isEqualTo("txn.main");
assertThat(txnStats.get(1).name()).isEqualTo("txn.named.TestBatchInsertFlush.no_cascade");
assertThat(txnStats.get(2).name()).isEqualTo("iud.TSDetail.insertBatch");
assertThat(txnStats.get(3).name()).isEqualTo("iud.TSMaster.insertBatch");
}
@Test
@@ -28,7 +28,7 @@ public class TestM2mDeleteObject extends BaseTestCase {
List<MetaTimedMetric> sqlMetrics = sqlMetrics();
assertThat(sqlMetrics).hasSize(1);
assertThat(sqlMetrics.get(0).getName()).isEqualTo("orm.update.deleteAllPermissions");
assertThat(sqlMetrics.get(0).name()).isEqualTo("orm.update.deleteAllPermissions");
Tenant t = new Tenant("tenant");
@@ -176,7 +176,7 @@ public class TestCustomerFinder extends BaseTestCase {
// change default collect query plan threshold to 200 micros
QueryPlanInit init0 = new QueryPlanInit();
init0.setAll(true);
init0.setThresholdMicros(2);
init0.thresholdMicros(2);
final List<MetaQueryPlan> plans = server().getMetaInfoManager().queryPlanInit(init0);
assertThat(plans.size()).isGreaterThan(1);
@@ -186,7 +186,7 @@ public class TestCustomerFinder extends BaseTestCase {
// change query plan threshold to 100 micros
QueryPlanInit init = new QueryPlanInit();
init.setAll(true);
init.setThresholdMicros(1);
init.thresholdMicros(1);
final List<MetaQueryPlan> appliedToPlans = server().getMetaInfoManager().queryPlanInit(init);
assertThat(appliedToPlans.size()).isGreaterThan(4);
@@ -195,30 +195,30 @@ public class TestCustomerFinder extends BaseTestCase {
ServerMetrics metrics = DB.getDefault().getMetaInfoManager().collectMetrics();
List<MetaQueryMetric> planStats = metrics.getQueryMetrics();
List<MetaQueryMetric> planStats = metrics.queryMetrics();
assertThat(planStats.size()).isGreaterThan(4);
for (MetaQueryMetric planStat : planStats) {
System.out.println(planStat);
}
for (MetaTimedMetric txnTimed : metrics.getTimedMetrics()) {
for (MetaTimedMetric txnTimed : metrics.timedMetrics()) {
System.out.println(txnTimed);
}
// obtains db query plans ...
QueryPlanRequest request = new QueryPlanRequest();
// collect max 1000 plans (use something more like 10)
request.setMaxCount(1_000);
request.maxCount(1_000);
// don't collect any more plans if used 10 secs
request.setMaxTimeMillis(10_000);
request.maxTimeMillis(10_000);
List<MetaQueryPlan> plans0 = server().getMetaInfoManager().queryPlanCollectNow(request);
assertThat(plans0).isNotEmpty();
for (MetaQueryPlan plan : plans) {
logger.info("queryPlan label:{}, queryTimeMicros:{} loc:{} sql:{} bind:{} plan:{}",
plan.getLabel(), plan.getQueryTimeMicros(), plan.getProfileLocation(),
plan.getSql(), plan.getBind(), plan.getPlan());
plan.label(), plan.queryTimeMicros(), plan.profileLocation(),
plan.sql(), plan.bind(), plan.plan());
System.out.println(plan);
}
@@ -407,7 +407,7 @@ public class SqlQueryTests extends BaseTestCase {
List<MetaTimedMetric> sqlMetrics = sqlMetrics();
assertThat(sqlMetrics).hasSize(1);
assertThat(sqlMetrics.get(0).getName()).isEqualTo("sql.query.findEach-Max10Rows");
assertThat(sqlMetrics.get(0).name()).isEqualTo("sql.query.findEach-Max10Rows");
}
@Test
@@ -33,7 +33,7 @@ public class TestNestedMandatory extends BaseTestCase {
}
assertThat(txnMetrics).hasSize(2);
assertThat(txnMetrics.get(1).getName()).isEqualTo("txn.named.outer");
assertThat(txnMetrics.get(1).name()).isEqualTo("txn.named.outer");
}
class Outer {
@@ -20,9 +20,9 @@ public class TestTransactionalReadOnly extends BaseTestCase {
resetAllMetrics();
executeTransactionalUsingReadOnlyDataSource();
final List<MetaTimedMetric> timedMetrics = collectMetrics().getTimedMetrics();
final List<MetaTimedMetric> timedMetrics = collectMetrics().timedMetrics();
final Optional<MetaTimedMetric> txnReadOnly = metric(timedMetrics, "txn.readonly");
assertThat(txnReadOnly.get().getCount()).isEqualTo(1);
assertThat(txnReadOnly.get().count()).isEqualTo(1);
assertThat(metric(timedMetrics, "txn")).isEmpty();
}
@@ -32,15 +32,15 @@ public class TestTransactionalReadOnly extends BaseTestCase {
resetAllMetrics();
executeTransactionalUsingMainDataSource();
final List<MetaTimedMetric> timedMetrics = collectMetrics().getTimedMetrics();
final List<MetaTimedMetric> timedMetrics = collectMetrics().timedMetrics();
final Optional<MetaTimedMetric> txnMain = metric(timedMetrics, "txn.main");
assertThat(txnMain.get().getCount()).isEqualTo(1);
assertThat(txnMain.get().count()).isEqualTo(1);
assertThat(metric(timedMetrics, "txn.readonly")).isEmpty();
}
private Optional<MetaTimedMetric> metric(List<MetaTimedMetric> timedMetrics, String name) {
return timedMetrics.stream()
.filter(metaTimedMetric -> metaTimedMetric.getName().equals(name))
.filter(metaTimedMetric -> metaTimedMetric.name().equals(name))
.findFirst();
}
@@ -126,8 +126,8 @@ public class TestSqlUpdateInTxn extends BaseTestCase {
List<MetaTimedMetric> sqlMetrics = sqlMetrics();
assertThat(sqlMetrics).hasSize(1);
assertThat(sqlMetrics.get(0).getName()).isEqualTo("sql.update.auditLargeUpdate");
assertThat(sqlMetrics.get(0).getCount()).isEqualTo(1);
assertThat(sqlMetrics.get(0).name()).isEqualTo("sql.update.auditLargeUpdate");
assertThat(sqlMetrics.get(0).count()).isEqualTo(1);
}
@Test