class MetricEventBuilder

Defined at line 32 of file ../../src/lib/cobalt/cpp/metric_event_builder.h

MetricEventBuilder is a tool to make it easier and less error-prone to

construct MetricEvent objects.

Without this API you would log a cobalt event like this:

MetricEvent event;

event.metric_id = metric_id;

event.event_codes.push_back(dimension_one);

event.event_codes.push_back(dimension_two);

event.payload.set_count(count);

logger_->LogMetricEvent(std::move(event),

&status

);

With the API it can be a lot cleaner:

logger_->LogMetricEvent(

MetricEventBuilder(metric_id)

.with_event_codes({dimension_one, dimension_two})

.as_occurrence(count),

&status

);

Public Methods

void MetricEventBuilder (uint32_t metric_id)

Defined at line 13 of file ../../src/lib/cobalt/cpp/metric_event_builder.cc

MetricEventBuilder & with_event_code (uint32_t event_code)

Defined at line 15 of file ../../src/lib/cobalt/cpp/metric_event_builder.cc

MetricEventBuilder & with_event_codes (std::vector<uint32_t> event_codes)

Defined at line 29 of file ../../src/lib/cobalt/cpp/metric_event_builder.cc

MetricEventBuilder & with_event_code_at (uint32_t index, uint32_t event_code)

Defined at line 20 of file ../../src/lib/cobalt/cpp/metric_event_builder.cc

MetricEventBuilder Clone ()

Defined at line 34 of file ../../src/lib/cobalt/cpp/metric_event_builder.cc

fuchsia::metrics::MetricEvent as_occurrence (int64_t count)

Defined at line 40 of file ../../src/lib/cobalt/cpp/metric_event_builder.cc

fuchsia::metrics::MetricEvent as_integer (int64_t integer_value)

Defined at line 46 of file ../../src/lib/cobalt/cpp/metric_event_builder.cc

fuchsia::metrics::MetricEvent as_integer_histogram (std::vector<fuchsia::metrics::HistogramBucket> histogram)

Defined at line 52 of file ../../src/lib/cobalt/cpp/metric_event_builder.cc

fuchsia::metrics::MetricEvent as_string (const std::string & string_value)

Defined at line 59 of file ../../src/lib/cobalt/cpp/metric_event_builder.cc