blob: 24035afdeeb9537f4d687c801b259fb86f717474 [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="commit__report_8h" kind="file" language="C++">
<compoundname>commit_report.h</compoundname>
<includes local="no">memory</includes>
<includes local="no">optional</includes>
<includes local="no">string</includes>
<includes local="no">unordered_map</includes>
<includes refid="constants_8h" local="yes">iceberg/constants.h</includes>
<includes refid="iceberg__export_8h" local="yes">iceberg/iceberg_export.h</includes>
<includes refid="metrics__context_8h" local="yes">iceberg/metrics/metrics_context.h</includes>
<includes refid="metrics__types_8h" local="yes">iceberg/metrics/metrics_types.h</includes>
<includes refid="timer_8h" local="yes">iceberg/metrics/timer.h</includes>
<includedby refid="metrics__reporter_8h" local="yes">iceberg/metrics/metrics_reporter.h</includedby>
<incdepgraph>
<node id="6">
<label>iceberg/constants.h</label>
<link refid="constants_8h"/>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
</node>
<node id="9">
<label>iceberg/iceberg_export.h</label>
<link refid="iceberg__export_8h"/>
</node>
<node id="1">
<label>iceberg/metrics/commit_report.h</label>
<link refid="commit__report_8h"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
<childnode refid="6" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="10" relation="include">
</childnode>
<childnode refid="29" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
</node>
<node id="11">
<label>iceberg/metrics/counter.h</label>
<link refid="counter_8h"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
<childnode refid="19" relation="include">
</childnode>
</node>
<node id="10">
<label>iceberg/metrics/metrics_context.h</label>
<link refid="metrics__context_8h"/>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
<childnode refid="26" relation="include">
</childnode>
</node>
<node id="29">
<label>iceberg/metrics/metrics_types.h</label>
<link refid="metrics__types_8h"/>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="11" relation="include">
</childnode>
</node>
<node id="26">
<label>iceberg/metrics/timer.h</label>
<link refid="timer_8h"/>
<childnode refid="12" relation="include">
</childnode>
<childnode refid="27" relation="include">
</childnode>
<childnode refid="7" relation="include">
</childnode>
<childnode refid="28" relation="include">
</childnode>
<childnode refid="2" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="14">
<label>iceberg/result.h</label>
<link refid="result_8h"/>
<childnode refid="15" relation="include">
</childnode>
<childnode refid="16" relation="include">
</childnode>
<childnode refid="17" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
</node>
<node id="19">
<label>iceberg/util/string_util.h</label>
<link refid="string__util_8h"/>
<childnode refid="20" relation="include">
</childnode>
<childnode refid="21" relation="include">
</childnode>
<childnode refid="22" relation="include">
</childnode>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="23" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
<childnode refid="8" relation="include">
</childnode>
<childnode refid="18" relation="include">
</childnode>
<childnode refid="24" relation="include">
</childnode>
<childnode refid="13" relation="include">
</childnode>
<childnode refid="25" relation="include">
</childnode>
<childnode refid="9" relation="include">
</childnode>
<childnode refid="14" relation="include">
</childnode>
</node>
<node id="20">
<label>algorithm</label>
</node>
<node id="12">
<label>atomic</label>
</node>
<node id="21">
<label>cerrno</label>
</node>
<node id="22">
<label>charconv</label>
</node>
<node id="27">
<label>chrono</label>
</node>
<node id="15">
<label>concepts</label>
</node>
<node id="7">
<label>cstdint</label>
</node>
<node id="16">
<label>expected</label>
</node>
<node id="17">
<label>format</label>
</node>
<node id="28">
<label>functional</label>
</node>
<node id="2">
<label>memory</label>
</node>
<node id="3">
<label>optional</label>
</node>
<node id="23">
<label>ranges</label>
</node>
<node id="4">
<label>string</label>
</node>
<node id="8">
<label>string_view</label>
</node>
<node id="18">
<label>type_traits</label>
</node>
<node id="24">
<label>typeinfo</label>
</node>
<node id="5">
<label>unordered_map</label>
</node>
<node id="13">
<label>utility</label>
</node>
<node id="25">
<label>vector</label>
</node>
</incdepgraph>
<invincdepgraph>
<node id="1">
<label>iceberg/metrics/commit_report.h</label>
<link refid="commit__report_8h"/>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="2">
<label>iceberg/metrics/metrics_reporter.h</label>
<link refid="metrics__reporter_8h"/>
<childnode refid="3" relation="include">
</childnode>
</node>
<node id="3">
<label>iceberg/metrics/metrics_reporters.h</label>
<link refid="metrics__reporters_8h"/>
</node>
</invincdepgraph>
<innerclass refid="structiceberg_1_1CommitMetricsResult" prot="public">iceberg::CommitMetricsResult</innerclass>
<innerclass refid="classiceberg_1_1CommitMetrics" prot="public">iceberg::CommitMetrics</innerclass>
<innerclass refid="structiceberg_1_1CommitReport" prot="public">iceberg::CommitReport</innerclass>
<innernamespace refid="namespaceiceberg">iceberg</innernamespace>
<briefdescription>
<para>Define commit metrics and reports. </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="comment">/*</highlight></codeline>
<codeline lineno="2"><highlight class="comment"><sp/>*<sp/>Licensed<sp/>to<sp/>the<sp/>Apache<sp/>Software<sp/>Foundation<sp/>(ASF)<sp/>under<sp/>one</highlight></codeline>
<codeline lineno="3"><highlight class="comment"><sp/>*<sp/>or<sp/>more<sp/>contributor<sp/>license<sp/>agreements.<sp/><sp/>See<sp/>the<sp/>NOTICE<sp/>file</highlight></codeline>
<codeline lineno="4"><highlight class="comment"><sp/>*<sp/>distributed<sp/>with<sp/>this<sp/>work<sp/>for<sp/>additional<sp/>information</highlight></codeline>
<codeline lineno="5"><highlight class="comment"><sp/>*<sp/>regarding<sp/>copyright<sp/>ownership.<sp/><sp/>The<sp/>ASF<sp/>licenses<sp/>this<sp/>file</highlight></codeline>
<codeline lineno="6"><highlight class="comment"><sp/>*<sp/>to<sp/>you<sp/>under<sp/>the<sp/>Apache<sp/>License,<sp/>Version<sp/>2.0<sp/>(the</highlight></codeline>
<codeline lineno="7"><highlight class="comment"><sp/>*<sp/>&quot;License&quot;);<sp/>you<sp/>may<sp/>not<sp/>use<sp/>this<sp/>file<sp/>except<sp/>in<sp/>compliance</highlight></codeline>
<codeline lineno="8"><highlight class="comment"><sp/>*<sp/>with<sp/>the<sp/>License.<sp/><sp/>You<sp/>may<sp/>obtain<sp/>a<sp/>copy<sp/>of<sp/>the<sp/>License<sp/>at</highlight></codeline>
<codeline lineno="9"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="10"><highlight class="comment"><sp/>*<sp/><sp/><sp/>http://www.apache.org/licenses/LICENSE-2.0</highlight></codeline>
<codeline lineno="11"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="12"><highlight class="comment"><sp/>*<sp/>Unless<sp/>required<sp/>by<sp/>applicable<sp/>law<sp/>or<sp/>agreed<sp/>to<sp/>in<sp/>writing,</highlight></codeline>
<codeline lineno="13"><highlight class="comment"><sp/>*<sp/>software<sp/>distributed<sp/>under<sp/>the<sp/>License<sp/>is<sp/>distributed<sp/>on<sp/>an</highlight></codeline>
<codeline lineno="14"><highlight class="comment"><sp/>*<sp/>&quot;AS<sp/>IS&quot;<sp/>BASIS,<sp/>WITHOUT<sp/>WARRANTIES<sp/>OR<sp/>CONDITIONS<sp/>OF<sp/>ANY</highlight></codeline>
<codeline lineno="15"><highlight class="comment"><sp/>*<sp/>KIND,<sp/>either<sp/>express<sp/>or<sp/>implied.<sp/><sp/>See<sp/>the<sp/>License<sp/>for<sp/>the</highlight></codeline>
<codeline lineno="16"><highlight class="comment"><sp/>*<sp/>specific<sp/>language<sp/>governing<sp/>permissions<sp/>and<sp/>limitations</highlight></codeline>
<codeline lineno="17"><highlight class="comment"><sp/>*<sp/>under<sp/>the<sp/>License.</highlight></codeline>
<codeline lineno="18"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight></codeline>
<codeline lineno="24"><highlight class="normal"></highlight></codeline>
<codeline lineno="25"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;memory&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="26"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;optional&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="27"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;string&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;unordered_map&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="29"><highlight class="normal"></highlight></codeline>
<codeline lineno="30"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="constants_8h" kindref="compound">iceberg/constants.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="31"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="iceberg__export_8h" kindref="compound">iceberg/iceberg_export.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="32"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="metrics__context_8h" kindref="compound">iceberg/metrics/metrics_context.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="33"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="metrics__types_8h" kindref="compound">iceberg/metrics/metrics_types.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="34"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="timer_8h" kindref="compound">iceberg/metrics/timer.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="35"><highlight class="normal"></highlight></codeline>
<codeline lineno="36"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceiceberg" kindref="compound">iceberg</ref><sp/>{</highlight></codeline>
<codeline lineno="37"><highlight class="normal"></highlight></codeline>
<codeline lineno="38"><highlight class="normal"></highlight><highlight class="comment">//<sp/>Forward<sp/>declaration:<sp/>CommitMetrics<sp/>is<sp/>defined<sp/>later<sp/>in<sp/>this<sp/>header.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="39"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal">CommitMetrics;</highlight></codeline>
<codeline lineno="40"><highlight class="normal"></highlight></codeline>
<codeline lineno="45" refid="structiceberg_1_1CommitMetricsResult" refkind="compound"><highlight class="keyword">struct<sp/></highlight><highlight class="normal">ICEBERG_EXPORT<sp/><ref refid="structiceberg_1_1CommitMetricsResult" kindref="compound">CommitMetricsResult</ref><sp/>{</highlight></codeline>
<codeline lineno="47" refid="structiceberg_1_1CommitMetricsResult_1a98646f7b110dedf794b2a4b6de01b9c4" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;TimerResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a98646f7b110dedf794b2a4b6de01b9c4" kindref="member">total_duration</ref>;</highlight></codeline>
<codeline lineno="49" refid="structiceberg_1_1CommitMetricsResult_1a6f97b7bdfe187476a892b69399820ff0" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a6f97b7bdfe187476a892b69399820ff0" kindref="member">attempts</ref>;</highlight></codeline>
<codeline lineno="51" refid="structiceberg_1_1CommitMetricsResult_1a3684e6ee3078dcd537a9012211f6ab6d" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a3684e6ee3078dcd537a9012211f6ab6d" kindref="member">added_data_files</ref>;</highlight></codeline>
<codeline lineno="53" refid="structiceberg_1_1CommitMetricsResult_1ae3dbc89756d2a3dca3493bd2f37eae93" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1ae3dbc89756d2a3dca3493bd2f37eae93" kindref="member">removed_data_files</ref>;</highlight></codeline>
<codeline lineno="55" refid="structiceberg_1_1CommitMetricsResult_1ae601273dccf42c2c5b7ef129d01b8f6a" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1ae601273dccf42c2c5b7ef129d01b8f6a" kindref="member">total_data_files</ref>;</highlight></codeline>
<codeline lineno="57" refid="structiceberg_1_1CommitMetricsResult_1a187bca3cb6e2826ce04b31c316b60e88" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a187bca3cb6e2826ce04b31c316b60e88" kindref="member">added_delete_files</ref>;</highlight></codeline>
<codeline lineno="59" refid="structiceberg_1_1CommitMetricsResult_1a096051010be47985692185140ae9a128" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a096051010be47985692185140ae9a128" kindref="member">added_equality_delete_files</ref>;</highlight></codeline>
<codeline lineno="61" refid="structiceberg_1_1CommitMetricsResult_1a8ab1e3824b32fe6c0c4fe441998ed49f" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a8ab1e3824b32fe6c0c4fe441998ed49f" kindref="member">added_positional_delete_files</ref>;</highlight></codeline>
<codeline lineno="63" refid="structiceberg_1_1CommitMetricsResult_1a0e173739e21ec95b9ead0dbbf4230015" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a0e173739e21ec95b9ead0dbbf4230015" kindref="member">added_dvs</ref>;</highlight></codeline>
<codeline lineno="65" refid="structiceberg_1_1CommitMetricsResult_1acbdae00a258a82d65577ca4ed5c388d2" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1acbdae00a258a82d65577ca4ed5c388d2" kindref="member">removed_delete_files</ref>;</highlight></codeline>
<codeline lineno="67" refid="structiceberg_1_1CommitMetricsResult_1a7a0396a2cc446414a983f3b572870668" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a7a0396a2cc446414a983f3b572870668" kindref="member">removed_positional_delete_files</ref>;</highlight></codeline>
<codeline lineno="69" refid="structiceberg_1_1CommitMetricsResult_1a481b36b244511204d3139473e8e745ea" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a481b36b244511204d3139473e8e745ea" kindref="member">removed_dvs</ref>;</highlight></codeline>
<codeline lineno="71" refid="structiceberg_1_1CommitMetricsResult_1a5af6cbcb5beaf5bc3a0791de9494d0f3" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a5af6cbcb5beaf5bc3a0791de9494d0f3" kindref="member">removed_equality_delete_files</ref>;</highlight></codeline>
<codeline lineno="73" refid="structiceberg_1_1CommitMetricsResult_1a1040ade096e827f198a6eea57f9ebecc" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a1040ade096e827f198a6eea57f9ebecc" kindref="member">total_delete_files</ref>;</highlight></codeline>
<codeline lineno="75" refid="structiceberg_1_1CommitMetricsResult_1a8895cb3a31bda73a8a411325d4847203" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a8895cb3a31bda73a8a411325d4847203" kindref="member">added_records</ref>;</highlight></codeline>
<codeline lineno="77" refid="structiceberg_1_1CommitMetricsResult_1afabc51a2e920398c8f83fec5df759f88" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1afabc51a2e920398c8f83fec5df759f88" kindref="member">removed_records</ref>;</highlight></codeline>
<codeline lineno="79" refid="structiceberg_1_1CommitMetricsResult_1a703fe95e3eb32b8f933e928d49dac9b1" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a703fe95e3eb32b8f933e928d49dac9b1" kindref="member">total_records</ref>;</highlight></codeline>
<codeline lineno="81" refid="structiceberg_1_1CommitMetricsResult_1a676371bd6be1ac5c8d6c23194c79bacf" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a676371bd6be1ac5c8d6c23194c79bacf" kindref="member">added_files_size_bytes</ref>;</highlight></codeline>
<codeline lineno="83" refid="structiceberg_1_1CommitMetricsResult_1a18104cf3e581487c99928223cca7905e" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a18104cf3e581487c99928223cca7905e" kindref="member">removed_files_size_bytes</ref>;</highlight></codeline>
<codeline lineno="85" refid="structiceberg_1_1CommitMetricsResult_1a6659201784477871d0776fa6e43c8cf7" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a6659201784477871d0776fa6e43c8cf7" kindref="member">total_files_size_bytes</ref>;</highlight></codeline>
<codeline lineno="87" refid="structiceberg_1_1CommitMetricsResult_1a0c056cc24ee0e39f96e0506effafb12d" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a0c056cc24ee0e39f96e0506effafb12d" kindref="member">added_positional_deletes</ref>;</highlight></codeline>
<codeline lineno="89" refid="structiceberg_1_1CommitMetricsResult_1ae46cba3ea65a2494f4f57e7a981f2478" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1ae46cba3ea65a2494f4f57e7a981f2478" kindref="member">removed_positional_deletes</ref>;</highlight></codeline>
<codeline lineno="91" refid="structiceberg_1_1CommitMetricsResult_1a600a814b134abc086624ea5205a47417" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a600a814b134abc086624ea5205a47417" kindref="member">total_positional_deletes</ref>;</highlight></codeline>
<codeline lineno="93" refid="structiceberg_1_1CommitMetricsResult_1a9729a08ca3eebd68e753cc8f7c5c4978" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a9729a08ca3eebd68e753cc8f7c5c4978" kindref="member">added_equality_deletes</ref>;</highlight></codeline>
<codeline lineno="95" refid="structiceberg_1_1CommitMetricsResult_1a1408ff4a954f5809559db34feb616a9d" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a1408ff4a954f5809559db34feb616a9d" kindref="member">removed_equality_deletes</ref>;</highlight></codeline>
<codeline lineno="97" refid="structiceberg_1_1CommitMetricsResult_1a64fb224a78025c65898be0584871767c" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a64fb224a78025c65898be0584871767c" kindref="member">total_equality_deletes</ref>;</highlight></codeline>
<codeline lineno="99" refid="structiceberg_1_1CommitMetricsResult_1a887790367fe1c2c2b3a2ef89a2c537e6" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a887790367fe1c2c2b3a2ef89a2c537e6" kindref="member">kept_manifest_count</ref>;</highlight></codeline>
<codeline lineno="101" refid="structiceberg_1_1CommitMetricsResult_1a3f41971ad904f4957ae9bd78ebd9c2b8" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a3f41971ad904f4957ae9bd78ebd9c2b8" kindref="member">created_manifest_count</ref>;</highlight></codeline>
<codeline lineno="103" refid="structiceberg_1_1CommitMetricsResult_1a63a1f07045ed6f9c750f5657792f4fdc" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a63a1f07045ed6f9c750f5657792f4fdc" kindref="member">replaced_manifest_count</ref>;</highlight></codeline>
<codeline lineno="105" refid="structiceberg_1_1CommitMetricsResult_1a3ab924e1028194b9dea3c266ab1b95aa" refkind="member"><highlight class="normal"><sp/><sp/>std::optional&lt;CounterResult&gt;<sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a3ab924e1028194b9dea3c266ab1b95aa" kindref="member">processed_manifest_entries_count</ref>;</highlight></codeline>
<codeline lineno="106"><highlight class="normal"></highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>operator==(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1CommitMetricsResult" kindref="compound">CommitMetricsResult</ref>&amp;)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>=<sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="108"><highlight class="normal"></highlight></codeline>
<codeline lineno="113" refid="structiceberg_1_1CommitMetricsResult_1a27a9b177b20519f7479fd66b2ec1ef9c" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/><ref refid="structiceberg_1_1CommitMetricsResult" kindref="compound">CommitMetricsResult</ref><sp/><ref refid="structiceberg_1_1CommitMetricsResult_1a27a9b177b20519f7479fd66b2ec1ef9c" kindref="member">From</ref>(</highlight></codeline>
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classiceberg_1_1CommitMetrics" kindref="compound">CommitMetrics</ref>&amp;<sp/>live_metrics,</highlight></codeline>
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::unordered_map&lt;std::string,<sp/>std::string&gt;&amp;<sp/>snapshot_summary);</highlight></codeline>
<codeline lineno="116"><highlight class="normal">};</highlight></codeline>
<codeline lineno="117"><highlight class="normal"></highlight></codeline>
<codeline lineno="123" refid="classiceberg_1_1CommitMetrics" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal">ICEBERG_EXPORT<sp/><ref refid="classiceberg_1_1CommitMetrics" kindref="compound">CommitMetrics</ref><sp/>{</highlight></codeline>
<codeline lineno="124"><highlight class="normal"><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="126" refid="classiceberg_1_1CommitMetrics_1a289bc4172381103cb8ad4192e155b0ea" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>std::unique_ptr&lt;CommitMetrics&gt;<sp/><ref refid="classiceberg_1_1CommitMetrics_1a289bc4172381103cb8ad4192e155b0ea" kindref="member">Make</ref>(<ref refid="classiceberg_1_1MetricsContext" kindref="compound">MetricsContext</ref>&amp;<sp/>context);</highlight></codeline>
<codeline lineno="127"><highlight class="normal"></highlight></codeline>
<codeline lineno="129" refid="classiceberg_1_1CommitMetrics_1a16595dfcfe15e86d3e047be801490900" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>std::unique_ptr&lt;CommitMetrics&gt;<sp/><ref refid="classiceberg_1_1CommitMetrics_1a16595dfcfe15e86d3e047be801490900" kindref="member">Noop</ref>();</highlight></codeline>
<codeline lineno="130"><highlight class="normal"></highlight></codeline>
<codeline lineno="132" refid="classiceberg_1_1CommitMetrics_1a92090e152d2c313d58543333b8783d43" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="structiceberg_1_1CommitMetricsResult" kindref="compound">CommitMetricsResult</ref><sp/><ref refid="classiceberg_1_1CommitMetrics_1a92090e152d2c313d58543333b8783d43" kindref="member">ToResult</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="133"><highlight class="normal"></highlight></codeline>
<codeline lineno="135" refid="classiceberg_1_1CommitMetrics_1ae82deb2c9694b7e306537b5fac4bd269" refkind="member"><highlight class="normal"><sp/><sp/>std::shared_ptr&lt;Timer&gt;<sp/><ref refid="classiceberg_1_1CommitMetrics_1ae82deb2c9694b7e306537b5fac4bd269" kindref="member">total_duration</ref>;</highlight></codeline>
<codeline lineno="136"><highlight class="normal"></highlight></codeline>
<codeline lineno="138" refid="classiceberg_1_1CommitMetrics_1a71ff1dd05486fd70cbc6c9cfd5e7eec1" refkind="member"><highlight class="normal"><sp/><sp/>std::shared_ptr&lt;Counter&gt;<sp/><ref refid="classiceberg_1_1CommitMetrics_1a71ff1dd05486fd70cbc6c9cfd5e7eec1" kindref="member">attempts</ref>;</highlight></codeline>
<codeline lineno="139"><highlight class="normal"></highlight></codeline>
<codeline lineno="140"><highlight class="normal"><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="141"><highlight class="normal"><sp/><sp/><ref refid="classiceberg_1_1CommitMetrics" kindref="compound">CommitMetrics</ref>()<sp/>=<sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="142"><highlight class="normal">};</highlight></codeline>
<codeline lineno="143"><highlight class="normal"></highlight></codeline>
<codeline lineno="147" refid="structiceberg_1_1CommitReport" refkind="compound"><highlight class="keyword">struct<sp/></highlight><highlight class="normal">ICEBERG_EXPORT<sp/><ref refid="structiceberg_1_1CommitReport" kindref="compound">CommitReport</ref><sp/>{</highlight></codeline>
<codeline lineno="149" refid="structiceberg_1_1CommitReport_1ac144b12706ab05c5a88868bed4222a87" refkind="member"><highlight class="normal"><sp/><sp/>std::string<sp/><ref refid="structiceberg_1_1CommitReport_1ac144b12706ab05c5a88868bed4222a87" kindref="member">table_name</ref>;</highlight></codeline>
<codeline lineno="151" refid="structiceberg_1_1CommitReport_1a708037e5a34032c4d912d24103787f0b" refkind="member"><highlight class="normal"><sp/><sp/>int64_t<sp/>snapshot_id<sp/>=<sp/>kInvalidSnapshotId;</highlight></codeline>
<codeline lineno="153" refid="structiceberg_1_1CommitReport_1ac64191f1882d2462bba5af898c2c6095" refkind="member"><highlight class="normal"><sp/><sp/>int64_t<sp/>sequence_number<sp/>=<sp/>kInvalidSequenceNumber;</highlight></codeline>
<codeline lineno="155" refid="structiceberg_1_1CommitReport_1a09ccc3b5b604f51850c64127321a44a5" refkind="member"><highlight class="normal"><sp/><sp/>std::string<sp/><ref refid="structiceberg_1_1CommitReport_1a09ccc3b5b604f51850c64127321a44a5" kindref="member">operation</ref>;</highlight></codeline>
<codeline lineno="157" refid="structiceberg_1_1CommitReport_1a98cc0610d4e9f0bd21efe034c26c09b4" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="structiceberg_1_1CommitMetricsResult" kindref="compound">CommitMetricsResult</ref><sp/><ref refid="structiceberg_1_1CommitReport_1a98cc0610d4e9f0bd21efe034c26c09b4" kindref="member">commit_metrics</ref>;</highlight></codeline>
<codeline lineno="159" refid="structiceberg_1_1CommitReport_1afed4601419bcb93a6bddb8dee23930d9" refkind="member"><highlight class="normal"><sp/><sp/>std::unordered_map&lt;std::string,<sp/>std::string&gt;<sp/><ref refid="structiceberg_1_1CommitReport_1afed4601419bcb93a6bddb8dee23930d9" kindref="member">metadata</ref>;</highlight></codeline>
<codeline lineno="160"><highlight class="normal">};</highlight></codeline>
<codeline lineno="161"><highlight class="normal"></highlight></codeline>
<codeline lineno="162"><highlight class="normal">}<sp/><sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>iceberg</highlight><highlight class="normal"></highlight></codeline>
</programlisting>
<location file="iceberg/metrics/commit_report.h"/>
</compounddef>
</doxygen>