iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | List of all members
iceberg::CompositeMetricsReporter Class Reference

A MetricsReporter that delegates to multiple reporters. More...

#include <metrics_reporters.h>

Inheritance diagram for iceberg::CompositeMetricsReporter:
iceberg::MetricsReporter

Public Member Functions

 CompositeMetricsReporter (std::unordered_set< std::shared_ptr< MetricsReporter > > reporters)
 
Status Report (const MetricsReport &report) override
 Report a metrics report.
 
const std::unordered_set< std::shared_ptr< MetricsReporter > > & Reporters () const
 The reporters contained in this composite.
 
- Public Member Functions inherited from iceberg::MetricsReporter
virtual Status Initialize (const std::unordered_map< std::string, std::string > &properties)
 Initialize the reporter with catalog properties after construction.
 

Detailed Description

A MetricsReporter that delegates to multiple reporters.

Combines several reporters so that every report is delivered to each of them. Implementations must not throw; return an error Status instead. All reporters receive the report regardless of individual failures. If any reporters fail, the first error Status is returned.

Use MetricsReporters::Combine() to create instances — that helper flattens nested composites and deduplicates reporters by identity.

Member Function Documentation

◆ Report()

Status iceberg::CompositeMetricsReporter::Report ( const MetricsReport &  report)
overridevirtual

Report a metrics report.

Implementations should handle the report according to their purpose (e.g., logging, sending to a metrics service, etc.).

Parameters
reportThe metrics report to process.

Implements iceberg::MetricsReporter.

◆ Reporters()

const std::unordered_set< std::shared_ptr< MetricsReporter > > & iceberg::CompositeMetricsReporter::Reporters ( ) const

The reporters contained in this composite.

Used by MetricsReporters::Combine() for flattening.


The documentation for this class was generated from the following files: