Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1016,8 +1016,4 @@ public String toJson() {
public String toString() {
return toJson();
}

public int getTableNum() {
return idToTable.size();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -840,8 +840,4 @@ public Map<Long, CatalogIf<? extends DatabaseIf<? extends TableIf>>> getIdToCata
public Set<CatalogIf> getCopyOfCatalog() {
return new HashSet<>(idToCatalog.values());
}

public int getCatalogNum() {
return idToCatalog.size();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -267,10 +267,6 @@ public List<Long> getDbIds() {
return Lists.newArrayList(idToDb.keySet());
}

public int getDbNum() {
return idToDb.size();
}

@Nullable
@Override
public Database getDbNullable(String dbName) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

import org.apache.doris.alter.Alter;
import org.apache.doris.alter.AlterJobV2.JobType;
import org.apache.doris.catalog.Database;
import org.apache.doris.catalog.Env;
import org.apache.doris.cloud.system.CloudSystemInfoService;
import org.apache.doris.common.Config;
Expand Down Expand Up @@ -150,11 +149,6 @@ public final class MetricRepo {

public static Histogram HISTO_COMMIT_AND_PUBLISH_LATENCY;

// Catlaog/Database/Table num
public static GaugeMetric<Integer> GAUGE_CATALOG_NUM;
public static GaugeMetric<Integer> GAUGE_INTERNAL_DATABASE_NUM;
public static GaugeMetric<Integer> GAUGE_INTERNAL_TABLE_NUM;

private static Map<Pair<EtlJobType, JobState>, Long> loadJobNum = Maps.newHashMap();

private static ScheduledThreadPoolExecutor metricTimer = ThreadPoolManager.newDaemonScheduledThreadPool(1,
Expand Down Expand Up @@ -566,34 +560,6 @@ public Long getValue() {
HISTO_COMMIT_AND_PUBLISH_LATENCY = METRIC_REGISTER.histogram(
MetricRegistry.name("txn_commit_and_publish", "latency", "ms"));

GAUGE_CATALOG_NUM = new GaugeMetric<Integer>("catalog_num",
MetricUnit.NOUNIT, "total catalog num") {
@Override
public Integer getValue() {
return Env.getCurrentEnv().getCatalogMgr().getCatalogNum();
}
};
DORIS_METRIC_REGISTER.addMetrics(GAUGE_CATALOG_NUM);

GAUGE_INTERNAL_DATABASE_NUM = new GaugeMetric<Integer>("internal_database_num",
MetricUnit.NOUNIT, "total internal database num") {
@Override
public Integer getValue() {
return Env.getCurrentEnv().getCatalogMgr().getInternalCatalog().getDbNum();
}
};
DORIS_METRIC_REGISTER.addMetrics(GAUGE_INTERNAL_DATABASE_NUM);

GAUGE_INTERNAL_TABLE_NUM = new GaugeMetric<Integer>("internal_table_num",
MetricUnit.NOUNIT, "total internal table num") {
@Override
public Integer getValue() {
return Env.getCurrentEnv().getCatalogMgr().getInternalCatalog().getAllDbs().stream()
.map(d -> (Database) d).map(Database::getTableNum).reduce(0, Integer::sum);
}
};
DORIS_METRIC_REGISTER.addMetrics(GAUGE_INTERNAL_TABLE_NUM);

// init system metrics
initSystemMetrics();
CloudMetrics.init();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

import org.apache.doris.common.FeConstants;
import org.apache.doris.common.util.JsonUtil;
import org.apache.doris.metric.Metric.MetricUnit;
import org.apache.doris.monitor.jvm.JvmService;
import org.apache.doris.monitor.jvm.JvmStats;

Expand Down Expand Up @@ -123,46 +122,4 @@ public void testGc() {
Assert.assertTrue(size.get() < JsonUtil.parseArray(finalMetricJson).size());

}

@Test
public void testCatalogAndDatabaseMetrics() {
List<Metric> catalogMetrics = MetricRepo.getMetricsByName("catalog_num");
Assert.assertEquals(1, catalogMetrics.size());
GaugeMetric<Integer> catalogMetric = (GaugeMetric<Integer>) catalogMetrics.get(0);
Assert.assertEquals("catalog_num", catalogMetric.getName());
Assert.assertEquals(MetricUnit.NOUNIT, catalogMetric.getUnit());
Assert.assertEquals("total catalog num", catalogMetric.getDescription());

List<Metric> dbMetrics = MetricRepo.getMetricsByName("internal_database_num");
Assert.assertEquals(1, dbMetrics.size());
GaugeMetric<Integer> dbMetric = (GaugeMetric<Integer>) dbMetrics.get(0);
Assert.assertEquals("internal_database_num", dbMetric.getName());
Assert.assertEquals(MetricUnit.NOUNIT, dbMetric.getUnit());
Assert.assertEquals("total internal database num", dbMetric.getDescription());

List<Metric> tableMetrics = MetricRepo.getMetricsByName("internal_table_num");
Assert.assertEquals(1, tableMetrics.size());
GaugeMetric<Integer> tableMetric = (GaugeMetric<Integer>) tableMetrics.get(0);
Assert.assertEquals("internal_table_num", tableMetric.getName());
Assert.assertEquals(MetricUnit.NOUNIT, tableMetric.getUnit());
Assert.assertEquals("total internal table num", tableMetric.getDescription());

// Test metrics in Prometheus format
MetricVisitor visitor = new PrometheusMetricVisitor();
MetricRepo.DORIS_METRIC_REGISTER.accept(visitor);
String metricResult = visitor.finish();

Assert.assertTrue(metricResult.contains("# TYPE doris_fe_catalog_num gauge"));
Assert.assertTrue(metricResult.contains("# TYPE doris_fe_internal_database_num gauge"));
Assert.assertTrue(metricResult.contains("# TYPE doris_fe_internal_table_num gauge"));

// Test metrics in JSON format
JsonMetricVisitor jsonVisitor = new JsonMetricVisitor();
MetricRepo.DORIS_METRIC_REGISTER.accept(jsonVisitor);
String jsonResult = jsonVisitor.finish();

Assert.assertTrue(jsonResult.contains("\"metric\":\"doris_fe_catalog_num\""));
Assert.assertTrue(jsonResult.contains("\"metric\":\"doris_fe_internal_database_num\""));
Assert.assertTrue(jsonResult.contains("\"metric\":\"doris_fe_internal_table_num\""));
}
}
Loading