Class JdbcMetricsPersistence

java.lang.Object
org.apache.polaris.extension.metrics.jdbc.JdbcMetricsPersistence
All Implemented Interfaces:
org.apache.polaris.core.persistence.metrics.MetricsPersistence

@ApplicationScoped public class JdbcMetricsPersistence extends Object implements org.apache.polaris.core.persistence.metrics.MetricsPersistence
JDBC implementation of MetricsPersistence.

Writes scan/commit metrics reports using the shared DatasourceOperations connection pool. The metrics tables (SCAN_METRICS_REPORT, COMMIT_METRICS_REPORT) are defined in the relational-jdbc schema.

This bean is contributed by the polaris-extensions-metrics-reports-jdbc extension module. When this module is on the classpath the "persisting" reporter wires to it; when it is absent, the default (logging) reporter is used and no metrics persistence bean exists.

  • Constructor Summary

    Constructors
    Constructor
    Description
    JdbcMetricsPersistence(org.apache.polaris.persistence.relational.jdbc.DatasourceOperations datasourceOperations, org.apache.polaris.core.context.RealmContext realmContext)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    writeCommitReport(@NonNull org.apache.polaris.core.persistence.metrics.CommitMetricsRecord record)
     
    void
    writeScanReport(@NonNull org.apache.polaris.core.persistence.metrics.ScanMetricsRecord record)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JdbcMetricsPersistence

      @Inject public JdbcMetricsPersistence(org.apache.polaris.persistence.relational.jdbc.DatasourceOperations datasourceOperations, org.apache.polaris.core.context.RealmContext realmContext)
  • Method Details

    • writeScanReport

      public void writeScanReport(@NonNull org.apache.polaris.core.persistence.metrics.ScanMetricsRecord record)
      Specified by:
      writeScanReport in interface org.apache.polaris.core.persistence.metrics.MetricsPersistence
    • writeCommitReport

      public void writeCommitReport(@NonNull org.apache.polaris.core.persistence.metrics.CommitMetricsRecord record)
      Specified by:
      writeCommitReport in interface org.apache.polaris.core.persistence.metrics.MetricsPersistence