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
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_GleanMessagingSystemMetrics_h
#define mozilla_GleanMessagingSystemMetrics_h
#include "mozilla/glean/bindings/MetricTypes.h"
namespace mozilla::glean {
namespace messaging_experiments {
/**
* generated from messaging_experiments.reach_cfr
*/
struct ReachCfrExtra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#cfr.
*/
constexpr impl::EventMetric<ReachCfrExtra> reach_cfr(4852);
/**
* generated from messaging_experiments.reach_feature_callout
*/
struct ReachFeatureCalloutExtra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#featureCallout.
*/
constexpr impl::EventMetric<ReachFeatureCalloutExtra> reach_feature_callout(4853);
/**
* generated from messaging_experiments.reach_fxms_bmb_button
*/
struct ReachFxmsBmbButtonExtra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_bmb_button.
*/
constexpr impl::EventMetric<ReachFxmsBmbButtonExtra> reach_fxms_bmb_button(4854);
/**
* generated from messaging_experiments.reach_fxms_message_1
*/
struct ReachFxmsMessage1Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_1.
*/
constexpr impl::EventMetric<ReachFxmsMessage1Extra> reach_fxms_message_1(4855);
/**
* generated from messaging_experiments.reach_fxms_message_10
*/
struct ReachFxmsMessage10Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_10.
*/
constexpr impl::EventMetric<ReachFxmsMessage10Extra> reach_fxms_message_10(4856);
/**
* generated from messaging_experiments.reach_fxms_message_11
*/
struct ReachFxmsMessage11Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_11.
*/
constexpr impl::EventMetric<ReachFxmsMessage11Extra> reach_fxms_message_11(4857);
/**
* generated from messaging_experiments.reach_fxms_message_12
*/
struct ReachFxmsMessage12Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_12.
*/
constexpr impl::EventMetric<ReachFxmsMessage12Extra> reach_fxms_message_12(4858);
/**
* generated from messaging_experiments.reach_fxms_message_13
*/
struct ReachFxmsMessage13Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_13.
*/
constexpr impl::EventMetric<ReachFxmsMessage13Extra> reach_fxms_message_13(4859);
/**
* generated from messaging_experiments.reach_fxms_message_14
*/
struct ReachFxmsMessage14Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_14.
*/
constexpr impl::EventMetric<ReachFxmsMessage14Extra> reach_fxms_message_14(4860);
/**
* generated from messaging_experiments.reach_fxms_message_15
*/
struct ReachFxmsMessage15Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_15.
*/
constexpr impl::EventMetric<ReachFxmsMessage15Extra> reach_fxms_message_15(4861);
/**
* generated from messaging_experiments.reach_fxms_message_2
*/
struct ReachFxmsMessage2Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_2.
*/
constexpr impl::EventMetric<ReachFxmsMessage2Extra> reach_fxms_message_2(4862);
/**
* generated from messaging_experiments.reach_fxms_message_3
*/
struct ReachFxmsMessage3Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_3.
*/
constexpr impl::EventMetric<ReachFxmsMessage3Extra> reach_fxms_message_3(4863);
/**
* generated from messaging_experiments.reach_fxms_message_4
*/
struct ReachFxmsMessage4Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_4.
*/
constexpr impl::EventMetric<ReachFxmsMessage4Extra> reach_fxms_message_4(4864);
/**
* generated from messaging_experiments.reach_fxms_message_5
*/
struct ReachFxmsMessage5Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_5.
*/
constexpr impl::EventMetric<ReachFxmsMessage5Extra> reach_fxms_message_5(4865);
/**
* generated from messaging_experiments.reach_fxms_message_6
*/
struct ReachFxmsMessage6Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_6.
*/
constexpr impl::EventMetric<ReachFxmsMessage6Extra> reach_fxms_message_6(4866);
/**
* generated from messaging_experiments.reach_fxms_message_7
*/
struct ReachFxmsMessage7Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_7.
*/
constexpr impl::EventMetric<ReachFxmsMessage7Extra> reach_fxms_message_7(4867);
/**
* generated from messaging_experiments.reach_fxms_message_8
*/
struct ReachFxmsMessage8Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_8.
*/
constexpr impl::EventMetric<ReachFxmsMessage8Extra> reach_fxms_message_8(4868);
/**
* generated from messaging_experiments.reach_fxms_message_9
*/
struct ReachFxmsMessage9Extra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#fxms_message_9.
*/
constexpr impl::EventMetric<ReachFxmsMessage9Extra> reach_fxms_message_9(4869);
/**
* generated from messaging_experiments.reach_infobar
*/
struct ReachInfobarExtra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#infobar.
*/
constexpr impl::EventMetric<ReachInfobarExtra> reach_infobar(4870);
/**
* generated from messaging_experiments.reach_moments_page
*/
struct ReachMomentsPageExtra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#moments_page.
*/
constexpr impl::EventMetric<ReachMomentsPageExtra> reach_moments_page(4871);
/**
* generated from messaging_experiments.reach_spotlight
*/
struct ReachSpotlightExtra {
mozilla::Maybe<nsCString> branches;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (branches) {
extraKeys.AppendElement()->AssignASCII("branches");
extraValues.EmplaceBack(branches.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This records whether a branch's targeting is satisfied for Messaging System experiments. All qualified branch ID(s) will be recorded in the 'extra_keys' for each active experiment, and the event 'value' will be the experiment ID This event was generated to correspond to the Legacy Telemetry event messaging_experiments.reach#spotlight.
*/
constexpr impl::EventMetric<ReachSpotlightExtra> reach_spotlight(4872);
/**
* generated from messaging_experiments.targeting_attribute_error
*/
struct TargetingAttributeErrorExtra {
mozilla::Maybe<nsCString> source;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (source) {
extraKeys.AppendElement()->AssignASCII("source");
extraValues.EmplaceBack(source.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Record generic JEXL errors that result from issues with experiment or message targeting expressions. The value field contains the namespace and attribute name that caused the error. This event was generated to correspond to the Legacy Telemetry event messaging_experiments.targeting#attribute_error.
*/
constexpr impl::EventMetric<TargetingAttributeErrorExtra> targeting_attribute_error(4873);
/**
* generated from messaging_experiments.targeting_attribute_timeout
*/
struct TargetingAttributeTimeoutExtra {
mozilla::Maybe<nsCString> source;
mozilla::Maybe<nsCString> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (source) {
extraKeys.AppendElement()->AssignASCII("source");
extraValues.EmplaceBack(source.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.EmplaceBack(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Record generic JEXL errors that result from issues with experiment or message targeting expressions. The value field contains the namespace and attribute name that caused the error. This event was generated to correspond to the Legacy Telemetry event messaging_experiments.targeting#attribute_timeout.
*/
constexpr impl::EventMetric<TargetingAttributeTimeoutExtra> targeting_attribute_timeout(4874);
}
} // namespace mozilla::glean
#endif // mozilla_GleanMessagingSystemMetrics_h