blob: 9057740ea545d6215c6f9079f1bd7bae075a3a3c [file]
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.8" xml:lang="en-US">
<compounddef id="classiceberg_1_1MetricsReporter" kind="class" language="C++" prot="public" abstract="yes">
<compoundname>iceberg::MetricsReporter</compoundname>
<derivedcompoundref refid="classiceberg_1_1CompositeMetricsReporter" prot="public" virt="non-virtual">iceberg::CompositeMetricsReporter</derivedcompoundref>
<includes refid="metrics__reporter_8h" local="no">metrics_reporter.h</includes>
<sectiondef kind="public-func">
<memberdef kind="function" id="classiceberg_1_1MetricsReporter_1a67e7d83391a15f8c28b608ca2949cef1" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
<type></type>
<definition>virtual iceberg::MetricsReporter::~MetricsReporter</definition>
<argsstring>()=default</argsstring>
<name>~MetricsReporter</name>
<qualifiedname>iceberg::MetricsReporter::~MetricsReporter</qualifiedname>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="iceberg/metrics/metrics_reporter.h" line="87" column="11"/>
</memberdef>
<memberdef kind="function" id="classiceberg_1_1MetricsReporter_1a4a61bb9e321d19b3cbf3364c849e08f7" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
<type>Status</type>
<definition>virtual Status iceberg::MetricsReporter::Initialize</definition>
<argsstring>(const std::unordered_map&lt; std::string, std::string &gt; &amp;properties)</argsstring>
<name>Initialize</name>
<qualifiedname>iceberg::MetricsReporter::Initialize</qualifiedname>
<param>
<type>const std::unordered_map&lt; std::string, std::string &gt; &amp;</type>
<declname>properties</declname>
</param>
<briefdescription>
<para>Initialize the reporter with catalog properties after construction. </para>
</briefdescription>
<detaileddescription>
<para>Called by <ref refid="classiceberg_1_1MetricsReporters_1ad30a5c4a9a58a083a3d2d7c96f46bc34" kindref="member">MetricsReporters::Load()</ref> before the first <ref refid="classiceberg_1_1MetricsReporter_1ada754787bbf4f5625b4739ee489296c7" kindref="member">Report()</ref> invocation. The default implementation is a no-op. Override to perform property-based setup (e.g., configure endpoints, credentials, sampling rates). </para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="iceberg/metrics/metrics_reporter.h" line="94" column="18" bodyfile="iceberg/metrics/metrics_reporter.h" bodystart="94" bodyend="97"/>
</memberdef>
<memberdef kind="function" id="classiceberg_1_1MetricsReporter_1ada754787bbf4f5625b4739ee489296c7" prot="public" static="no" const="no" explicit="no" inline="no" virt="pure-virtual">
<type>Status</type>
<definition>virtual Status iceberg::MetricsReporter::Report</definition>
<argsstring>(const MetricsReport &amp;report)=0</argsstring>
<name>Report</name>
<qualifiedname>iceberg::MetricsReporter::Report</qualifiedname>
<reimplementedby refid="classiceberg_1_1CompositeMetricsReporter_1adc3c44f92b0a28b28b620d373d26861f">Report</reimplementedby>
<param>
<type>const <ref refid="namespaceiceberg_1af4c8144c46c4c1e12da2bf476817c800" kindref="member">MetricsReport</ref> &amp;</type>
<declname>report</declname>
</param>
<briefdescription>
<para>Report a metrics report. </para>
</briefdescription>
<detaileddescription>
<para>Implementations should handle the report according to their purpose (e.g., logging, sending to a metrics service, etc.).</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>report</parametername>
</parameternamelist>
<parameterdescription>
<para>The metrics report to process. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
</detaileddescription>
<inbodydescription>
</inbodydescription>
<location file="iceberg/metrics/metrics_reporter.h" line="105" column="18"/>
</memberdef>
</sectiondef>
<briefdescription>
<para>Interface for reporting metrics from Iceberg operations. </para>
</briefdescription>
<detaileddescription>
<para>Implementations of this interface can be used to collect and report metrics about scan and commit operations. Common implementations include logging reporters, metrics collectors, and the noop reporter for testing.</para>
<para>Implementations must not throw. Return an error Status instead. </para>
</detaileddescription>
<inheritancegraph>
<node id="2">
<label>iceberg::CompositeMetricsReporter</label>
<link refid="classiceberg_1_1CompositeMetricsReporter"/>
<childnode refid="1" relation="public-inheritance">
</childnode>
</node>
<node id="1">
<label>iceberg::MetricsReporter</label>
<link refid="classiceberg_1_1MetricsReporter"/>
</node>
</inheritancegraph>
<location file="iceberg/metrics/metrics_reporter.h" line="85" column="1" bodyfile="iceberg/metrics/metrics_reporter.h" bodystart="85" bodyend="106"/>
<listofallmembers>
<member refid="classiceberg_1_1MetricsReporter_1a4a61bb9e321d19b3cbf3364c849e08f7" prot="public" virt="virtual"><scope>iceberg::MetricsReporter</scope><name>Initialize</name></member>
<member refid="classiceberg_1_1MetricsReporter_1ada754787bbf4f5625b4739ee489296c7" prot="public" virt="pure-virtual"><scope>iceberg::MetricsReporter</scope><name>Report</name></member>
<member refid="classiceberg_1_1MetricsReporter_1a67e7d83391a15f8c28b608ca2949cef1" prot="public" virt="virtual"><scope>iceberg::MetricsReporter</scope><name>~MetricsReporter</name></member>
</listofallmembers>
</compounddef>
</doxygen>