27#include <unordered_map>
47 case MetricsReportType::kScanReport:
49 case MetricsReportType::kCommitReport:
68 using T = std::decay_t<
decltype(r)>;
69 if constexpr (std::is_same_v<T, ScanReport>) {
70 return MetricsReportType::kScanReport;
72 return MetricsReportType::kCommitReport;
95 [[maybe_unused]]
const std::unordered_map<std::string, std::string>& properties) {
Interface for reporting metrics from Iceberg operations.
Definition metrics_reporter.h:85
virtual Status Initialize(const std::unordered_map< std::string, std::string > &properties)
Initialize the reporter with catalog properties after construction.
Definition metrics_reporter.h:94
virtual Status Report(const MetricsReport &report)=0
Report a metrics report.
Define commit metrics and reports.
Define symbol visibility macros for core Iceberg APIs.
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:33
ICEBERG_EXPORT std::string_view ToString(Expression::Operation op)
Returns a string representation of an expression operation.
MetricsReportType
The type of a metrics report.
Definition metrics_reporter.h:39
std::variant< ScanReport, CommitReport > MetricsReport
A metrics report, which can be either a ScanReport or CommitReport.
Definition metrics_reporter.h:59
ICEBERG_EXPORT MetricsReportType GetReportType(const MetricsReport &report)
Get the type of a metrics report.
Definition metrics_reporter.h:65
Define Result, Status, and error helpers.
Define scan metrics and reports.