Skip to content

Commit 5ea0fe5

Browse files
authored
Add WAL entry number for one TsFile metric (#15818) (#16011)
1 parent 4ba9b6a commit 5ea0fe5

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/WritingMetrics.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,13 @@ private void unbindFlushSubTaskMetrics(AbstractMetricService metricService) {
185185
public static final String READ_WAL_BUFFER_COST_NS = "read_wal_buffer_cost";
186186
public static final String WRITE_WAL_BUFFER_COST_NS = "write_wal_buffer_cost";
187187
public static final String ENTRIES_COUNT = "entries_count";
188+
public static final String WAL_ENTRY_NUM_FOR_ONE_TSFILE = "wal_entry_num_for_one_tsfile";
188189
public static final String WAL_QUEUE_CURRENT_MEM_COST = "wal_queue_current_mem_cost";
189190
public static final String WAL_QUEUE_MAX_MEM_COST = "wal_queue_max_mem_cost";
190191

191192
private Histogram usedRatioHistogram = DoNothingMetricManager.DO_NOTHING_HISTOGRAM;
192193
private Histogram entriesCountHistogram = DoNothingMetricManager.DO_NOTHING_HISTOGRAM;
194+
private Histogram walEntryNumForOneTsFileHistogram = DoNothingMetricManager.DO_NOTHING_HISTOGRAM;
193195
private Histogram serializedWALBufferSizeHistogram = DoNothingMetricManager.DO_NOTHING_HISTOGRAM;
194196
private Histogram wroteWALBufferSizeHistogram = DoNothingMetricManager.DO_NOTHING_HISTOGRAM;
195197
private Histogram walCompressCostHistogram = DoNothingMetricManager.DO_NOTHING_HISTOGRAM;
@@ -216,6 +218,12 @@ private void bindWALMetrics(AbstractMetricService metricService) {
216218
MetricLevel.IMPORTANT,
217219
Tag.NAME.toString(),
218220
ENTRIES_COUNT);
221+
walEntryNumForOneTsFileHistogram =
222+
metricService.getOrCreateHistogram(
223+
Metric.WAL_BUFFER.toString(),
224+
MetricLevel.IMPORTANT,
225+
Tag.NAME.toString(),
226+
WAL_ENTRY_NUM_FOR_ONE_TSFILE);
219227

220228
serializedWALBufferSizeHistogram =
221229
metricService.getOrCreateHistogram(
@@ -280,6 +288,7 @@ private void unbindWALMetrics(AbstractMetricService metricService) {
280288
MetricType.AUTO_GAUGE, Metric.WAL_NODE_NUM.toString(), Tag.NAME.toString(), WAL_NODES_NUM);
281289
usedRatioHistogram = DoNothingMetricManager.DO_NOTHING_HISTOGRAM;
282290
entriesCountHistogram = DoNothingMetricManager.DO_NOTHING_HISTOGRAM;
291+
walEntryNumForOneTsFileHistogram = DoNothingMetricManager.DO_NOTHING_HISTOGRAM;
283292
Arrays.asList(
284293
USED_RATIO,
285294
ENTRIES_COUNT,
@@ -920,6 +929,10 @@ public void recordWALBufferEntriesCount(long count) {
920929
entriesCountHistogram.update(count);
921930
}
922931

932+
public void recordWALEntryNumForOneTsFile(long count) {
933+
walEntryNumForOneTsFileHistogram.update(count);
934+
}
935+
923936
public void recordWALQueueMaxMemorySize(long size) {
924937
walQueueMaxMemSizeGauge.set(size);
925938
}

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessor.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,8 @@ public class TsFileProcessor {
207207

208208
public static final int MEMTABLE_NOT_EXIST = -1;
209209

210+
private int walEntryNum = 0;
211+
210212
@SuppressWarnings("squid:S107")
211213
public TsFileProcessor(
212214
String storageGroupName,
@@ -315,6 +317,7 @@ public void insert(InsertRowNode insertRowNode, long[] costsForMetrics)
315317
// recordScheduleWalCost
316318
costsForMetrics[2] += System.nanoTime() - startTime;
317319
}
320+
walEntryNum++;
318321

319322
startTime = System.nanoTime();
320323

@@ -413,6 +416,7 @@ public void insert(InsertRowsNode insertRowsNode, long[] costsForMetrics)
413416
// recordScheduleWalCost
414417
costsForMetrics[2] += System.nanoTime() - startTime;
415418
}
419+
walEntryNum++;
416420

417421
startTime = System.nanoTime();
418422

@@ -528,6 +532,7 @@ public void insertTablet(
528532
} finally {
529533
PERFORMANCE_OVERVIEW_METRICS.recordScheduleWalCost(System.nanoTime() - startTime);
530534
}
535+
walEntryNum++;
531536

532537
startTime = System.nanoTime();
533538

@@ -1059,6 +1064,7 @@ public void deleteDataInMemory(Deletion deletion, Set<PartialPath> devicePaths)
10591064
}
10601065

10611066
public WALFlushListener logDeleteDataNodeInWAL(DeleteDataNode deleteDataNode) {
1067+
walEntryNum++;
10621068
return walNode.log(workMemTable.getMemTableId(), deleteDataNode);
10631069
}
10641070

@@ -1277,6 +1283,7 @@ private Future<?> addAMemtableIntoFlushingList(IMemTable tobeFlushed) throws IOE
12771283
.recordMemTableLiveDuration(System.currentTimeMillis() - getWorkMemTableCreatedTime());
12781284
WritingMetrics.getInstance()
12791285
.recordActiveMemTableCount(dataRegionInfo.getDataRegion().getDataRegionId(), -1);
1286+
WritingMetrics.getInstance().recordWALEntryNumForOneTsFile(walEntryNum);
12801287
workMemTable = null;
12811288
return FlushManager.getInstance().registerTsFileProcessor(this);
12821289
}

0 commit comments

Comments
 (0)