Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We introduce CommitMetrics , CompactionMetrics , ScanMetrics as metrics set to measure the stats of Paimon table committing, compaction and scanning.

Common metrics

CommitMetrics

Code Block
languagejava
public class CommitMetrics {
	private Metrics metrics;
	private final String COMMIT_DURATION_METRIC = "commitDuration";
	...
	private void registerCommitMetrics(Metrics metrics) {
		metrics.gauge(COMMIT_DURATION_METRIC, new CommitDurationTimer());
		...
	}
	...
}

CommitMetrics list includes commit duration, counter of files / records etc.

Metric Name

Description

Type

Unit

Update at

commitDuration

Commit 

Gauge

Ms

Timer starts before commit starting, update commit duration after commit finished

numTableFilesAdded

Number of added table files in this commit

Counter

Number

Collecting changes from committables

numTableFilesDeleted

Number of deleted table files in this commit

Counter

Number

Collecting changes from committables

numTableFilesAppended

Number of appended table files in this commit

Counter

Number

Collecting changes from committables

numTableFilesCompated

Number of compacted table files in this commit

Counter

Number

Collecting changes from committables

numChangelogFilesAppended

Number of appended changelog files in this commit

Counter

Number

Collecting changes from committables

numChangelogFileCompacted

Number of compacted changelog files in this commit

Counter

Number

Collecting changes from committables

numSnapshots

Number of snapshot files generated in this commit

Counter

Number

Trying to commit

numTotalRecords

Total records count in this commit

Counter

Number

Preparing snapshot file

numDeltaRecords

Delta records count in this commit

Counter

Number

Preparing snapshot file

numChangelogRecords

Changelog records count in this commit

Counter

Number

Preparing snapshot file

numPartitionsWritten

Number of partitions written in this commit

Counter

Number

Trying to commit

numBucketsWritten

Number of buckets written in this commit

Counter

Number

Trying to commit

ScanMetrics

Code Block
public class ScanMetrics {
	private Metrics metrics;
	private final String SCAN_FILES_METRIC = "scanFiles";
	...
	private void registerScanMetrics(Metrics metrics) {
		metrics.counter(SCAN_FILES_METRIC, new ScanFilesCounter());
		...
	}
	...
}

ScanMetrics list includes duration, data files and manifest files counter.

Metric Name

Description

Type

Unit

Update at

scanDuration

Scan Duration

Gauge

Ms

Timer starts before planning starts, update after planning finished

numTotalManifests

Number of scanned manifests files

Counter

Number

Planning

numSkippedManifests

Number of skipped manifests files

Counter

Number

Planning

numResultTableFiles

Number of result table files

Counter

Number

Planning

CompactionMetrics

Code Block
public class CompactionMetrics {
	private Metrics metrics;
	private final String COMPACTED_FILES_METRIC = "compactedFiles";
	...
	private void registerCompactionMetrics(Metrics metrics) {
		metrics.counter(COMPACTED_FILES_METRIC, new CompactedFilesCounter());
		...
	}
	...
}

Commit Metrics

Scan Metrics

...

CompactionMetrics list includes duration, and counter of files, sorted runs etc.

Metric Name

Description

Type

Unit

Update at

compactionDuration

Compaction duration

Gauge

Ms

Timer starts before compaction, update after compaction finished

numFilesCompactedBefore

Number of deleted files in compaction

Counter

Number

Triggering compaction

numFilesCompactedAfter

Number of added files in compaction

Counter

Number

Triggering compaction

numChangelogFilesCompacted

Number of changelog files compacted

Counter

Number

Triggering compaction

numSortedRuns

Number of sorted runs

Counter

Number

Triggering compaction

numLevel0Files

Number of files at level 0

Counter

Number

Triggering compaction

Flink connector metrics

Implement important source metrics in FLIP-33.

Metric name

Description

Type

Unit

Update at

numBytesIn

The total number of input bytes since the source started.

Counter

Number

FileStoreSourceSplitReader fetch finished.

pendingRecords

The number of records that have not been fetched by the source.

Gauge

Number


Compatibility, Deprecation, and Migration Plan

There are no changes to the public interface and no impact to existing users.

Test Plan

Will add unit tests and integration tests for metrics.


Rejected Alternatives

...