Source code
Revision control
Copy as Markdown
Other Tools
// -*- mode: C++ -*-
// AUTOGENERATED BY glean_parser. DO NOT EDIT.
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
#ifndef mozilla_Metrics_h
#define mozilla_Metrics_h
#include "mozilla/glean/bindings/MetricTypes.h"
#include "mozilla/Maybe.h"
#include "nsTArray.h"
#include "nsPrintfCString.h"
#include <tuple>
namespace mozilla::glean {
struct NoExtraKeys;
enum class DynamicLabel: uint16_t { };
namespace test {
/**
* generated from test.boolean_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::BooleanMetric boolean_metric(1);
/**
* generated from test.counter_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::CounterMetric counter_metric(2);
/**
* generated from test.custom_distribution_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::CustomDistributionMetric custom_distribution_metric(3);
/**
* generated from test.labeled_boolean_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::Labeled<impl::BooleanMetric, DynamicLabel> labeled_boolean_metric(4);
/**
* generated from test.labeled_boolean_metric_labels
*/
enum class LabeledBooleanMetricLabelsLabel: uint16_t {
eOneLabel = 0,
eTwoLabels = 1,
eThreeLabels = 2,
eFourLabels = 3,
eFiveLabels = 4,
eSixLabels = 5,
eSevenLabels = 6,
eEightLabels = 7,
eNineLabels = 8,
eTenLabels = 9,
e__Other__,
};
/**
* A multi-line
* description
*/
constexpr impl::Labeled<impl::BooleanMetric, LabeledBooleanMetricLabelsLabel> labeled_boolean_metric_labels(5);
/**
* generated from test.labeled_counter_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::Labeled<impl::CounterMetric, DynamicLabel> labeled_counter_metric(6);
/**
* generated from test.labeled_counter_metric_labels
*/
enum class LabeledCounterMetricLabelsLabel: uint16_t {
eOneLabel = 0,
eTwoLabels = 1,
e__Other__,
};
/**
* A multi-line
* description
*/
constexpr impl::Labeled<impl::CounterMetric, LabeledCounterMetricLabelsLabel> labeled_counter_metric_labels(7);
/**
* generated from test.labeled_string_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::Labeled<impl::StringMetric, DynamicLabel> labeled_string_metric(8);
/**
* generated from test.labeled_string_metric_labels
*/
enum class LabeledStringMetricLabelsLabel: uint16_t {
eOneLabel = 0,
eTwoLabels = 1,
e__Other__,
};
/**
* A multi-line
* description
*/
constexpr impl::Labeled<impl::StringMetric, LabeledStringMetricLabelsLabel> labeled_string_metric_labels(9);
/**
* generated from test.memory_distribution_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::MemoryDistributionMetric memory_distribution_metric(10);
/**
* generated from test.string_list_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::StringListMetric string_list_metric(11);
/**
* generated from test.string_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::StringMetric string_metric(12);
/**
* generated from test.text_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::TextMetric text_metric(13);
/**
* generated from test.timespan_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::TimespanMetric timespan_metric(14);
/**
* generated from test.timing_distribution_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::TimingDistributionMetric timing_distribution_metric(15);
/**
* generated from test.unordered_boolean_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::BooleanMetric unordered_boolean_metric(16);
/**
* generated from test.unordered_labeled_boolean_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::Labeled<impl::BooleanMetric, DynamicLabel> unordered_labeled_boolean_metric(17);
}
namespace test_nested {
/**
* generated from test.nested.datetime_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::DatetimeMetric datetime_metric(19);
/**
* generated from test.nested.event_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::EventMetric<NoExtraKeys> event_metric(20);
/**
* generated from test.nested.event_metric_with_extra
*/
struct EventMetricWithExtraExtra {
mozilla::Maybe<nsCString> anExtraKey;
mozilla::Maybe<nsCString> anotherExtraKey;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (anExtraKey) {
extraKeys.AppendElement()->AssignASCII("an_extra_key");
extraValues.EmplaceBack(anExtraKey.value());
}
if (anotherExtraKey) {
extraKeys.AppendElement()->AssignASCII("another_extra_key");
extraValues.EmplaceBack(anotherExtraKey.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* A multi-line
* description
*/
constexpr impl::EventMetric<EventMetricWithExtraExtra> event_metric_with_extra(21);
/**
* generated from test.nested.external_denominator
*/
/**
* A multi-line
* description
*/
constexpr impl::DenominatorMetric external_denominator(22);
/**
* generated from test.nested.optimizable_counter_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::CounterMetric optimizable_counter_metric(23);
/**
* generated from test.nested.optimizable_disabled_counter_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::CounterMetric optimizable_disabled_counter_metric(24);
/**
* generated from test.nested.quantity_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::QuantityMetric quantity_metric(25);
/**
* generated from test.nested.rate_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::RateMetric rate_metric(26);
/**
* generated from test.nested.rate_with_external_denominator
*/
/**
* A multi-line
* description
*/
constexpr impl::NumeratorMetric rate_with_external_denominator(27);
/**
* generated from test.nested.uuid_metric
*/
/**
* A multi-line
* description
*/
constexpr impl::UuidMetric uuid_metric(28);
}
} // namespace mozilla::glean
#endif // mozilla_Metrics_h