Class MetricsRecordConverter
java.lang.Object
org.apache.polaris.extension.metrics.jdbc.MetricsRecordConverter
Converts Iceberg metrics reports to SPI record types using a fluent builder API.
This converter extracts all relevant metrics from Iceberg's ScanReport and CommitReport and combines them with context information to create persistence-ready records.
Example usage:
ScanMetricsRecord record = MetricsRecordConverter.forScanReport(scanReport)
.catalogId(catalog.getId())
.tableId(tableEntity.getId())
.build();
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilder for converting CommitReport to CommitMetricsRecord.static final classBuilder for converting ScanReport to ScanMetricsRecord. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringWell-known metadata key for client-provided report trace ID. -
Method Summary
Modifier and TypeMethodDescriptionforCommitReport(org.apache.iceberg.metrics.CommitReport commitReport) Creates a builder for converting a CommitReport to a CommitMetricsRecord.forScanReport(org.apache.iceberg.metrics.ScanReport scanReport) Creates a builder for converting a ScanReport to a ScanMetricsRecord.
-
Field Details
-
REPORT_TRACE_ID_KEY
Well-known metadata key for client-provided report trace ID.- See Also:
-
-
Method Details
-
forScanReport
public static MetricsRecordConverter.ScanReportBuilder forScanReport(org.apache.iceberg.metrics.ScanReport scanReport) Creates a builder for converting a ScanReport to a ScanMetricsRecord.- Parameters:
scanReport- the Iceberg scan report- Returns:
- builder for configuring the conversion
-
forCommitReport
public static MetricsRecordConverter.CommitReportBuilder forCommitReport(org.apache.iceberg.metrics.CommitReport commitReport) Creates a builder for converting a CommitReport to a CommitMetricsRecord.- Parameters:
commitReport- the Iceberg commit report- Returns:
- builder for configuring the conversion
-