Class PersistingMetricsReporter
java.lang.Object
org.apache.polaris.extension.metrics.jdbc.PersistingMetricsReporter
- All Implemented Interfaces:
org.apache.polaris.service.metrics.IcebergMetricsReporter
@RequestScoped
@Identifier("persisting")
public class PersistingMetricsReporter
extends Object
implements org.apache.polaris.service.metrics.IcebergMetricsReporter
Persisting implementation of
IcebergMetricsReporter.
Selected when polaris.iceberg-metrics.reporting.type is set to "persisting".
Requires a MetricsPersistence bean on the classpath (provided by the JdbcMetricsPersistence bean in this extension module).
Converts the Iceberg ScanReport/CommitReport carried by the MetricsReportEnvelope to backend-agnostic SPI records via MetricsRecordConverter, then
delegates to MetricsPersistence for durable storage.
-
Constructor Summary
ConstructorsConstructorDescriptionPersistingMetricsReporter(org.apache.polaris.core.persistence.metrics.MetricsPersistence metricsPersistence, jakarta.enterprise.inject.Instance<org.apache.polaris.core.auth.PolarisPrincipal> polarisPrincipal, jakarta.enterprise.inject.Instance<org.apache.polaris.core.context.RequestIdSupplier> requestIdSupplier) -
Method Summary
Modifier and TypeMethodDescriptionvoidreportMetric(@NonNull org.apache.polaris.service.metrics.MetricsReportEnvelope envelope)
-
Constructor Details
-
PersistingMetricsReporter
@Inject public PersistingMetricsReporter(org.apache.polaris.core.persistence.metrics.MetricsPersistence metricsPersistence, jakarta.enterprise.inject.Instance<org.apache.polaris.core.auth.PolarisPrincipal> polarisPrincipal, jakarta.enterprise.inject.Instance<org.apache.polaris.core.context.RequestIdSupplier> requestIdSupplier)
-
-
Method Details
-
reportMetric
public void reportMetric(@NonNull org.apache.polaris.service.metrics.MetricsReportEnvelope envelope) - Specified by:
reportMetricin interfaceorg.apache.polaris.service.metrics.IcebergMetricsReporter
-