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_GleanMlMetrics_h
#define mozilla_GleanMlMetrics_h
#include "mozilla/glean/bindings/MetricTypes.h"
namespace mozilla::glean {
namespace firefox_ai_runtime {
/**
* generated from firefox.ai.runtime.engine_creation_failure
*/
struct EngineCreationFailureExtra {
mozilla::Maybe<nsCString> engineid;
mozilla::Maybe<nsCString> error;
mozilla::Maybe<nsCString> featureid;
mozilla::Maybe<nsCString> modelid;
mozilla::Maybe<nsCString> taskname;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (engineid) {
extraKeys.AppendElement()->AssignASCII("engineId");
extraValues.EmplaceBack(engineid.value());
}
if (error) {
extraKeys.AppendElement()->AssignASCII("error");
extraValues.EmplaceBack(error.value());
}
if (featureid) {
extraKeys.AppendElement()->AssignASCII("featureId");
extraValues.EmplaceBack(featureid.value());
}
if (modelid) {
extraKeys.AppendElement()->AssignASCII("modelId");
extraValues.EmplaceBack(modelid.value());
}
if (taskname) {
extraKeys.AppendElement()->AssignASCII("taskName");
extraValues.EmplaceBack(taskname.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* An inference engine has failed to create
*/
constexpr impl::EventMetric<EngineCreationFailureExtra> engine_creation_failure(4875);
/**
* generated from firefox.ai.runtime.engine_creation_success
*/
enum class EngineCreationSuccessLabel: uint16_t {
eAutofillMl = 0,
ePdfjs = 1,
eMlSuggestIntent = 2,
eMlSuggestNer = 3,
eAboutInference = 4,
eWebextension = 5,
eWllamapreview = 6,
eDefaultEngine = 7,
eSmartTabEmbeddingEngine = 8,
eSmartTabTopicEngine = 9,
e__Other__,
};
/**
* An inference engine was created
*/
constexpr impl::Labeled<impl::TimingDistributionMetric, EngineCreationSuccessLabel> engine_creation_success(4876);
/**
* generated from firefox.ai.runtime.model_deletion
*/
struct ModelDeletionExtra {
mozilla::Maybe<nsCString> deletedby;
mozilla::Maybe<nsCString> error;
mozilla::Maybe<nsCString> modelid;
mozilla::Maybe<nsCString> modelrevision;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (deletedby) {
extraKeys.AppendElement()->AssignASCII("deletedBy");
extraValues.EmplaceBack(deletedby.value());
}
if (error) {
extraKeys.AppendElement()->AssignASCII("error");
extraValues.EmplaceBack(error.value());
}
if (modelid) {
extraKeys.AppendElement()->AssignASCII("modelId");
extraValues.EmplaceBack(modelid.value());
}
if (modelrevision) {
extraKeys.AppendElement()->AssignASCII("modelRevision");
extraValues.EmplaceBack(modelrevision.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* A model is deleted
*/
constexpr impl::EventMetric<ModelDeletionExtra> model_deletion(4877);
/**
* generated from firefox.ai.runtime.model_download
*/
struct ModelDownloadExtra {
mozilla::Maybe<uint32_t> duration;
mozilla::Maybe<nsCString> engineid;
mozilla::Maybe<nsCString> error;
mozilla::Maybe<nsCString> featureid;
mozilla::Maybe<nsCString> modeldownloadid;
mozilla::Maybe<nsCString> modelid;
mozilla::Maybe<nsCString> modelrevision;
mozilla::Maybe<nsCString> step;
mozilla::Maybe<uint32_t> when;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (duration) {
extraKeys.AppendElement()->AssignASCII("duration");
extraValues.AppendElement()->AppendInt(duration.value());
}
if (engineid) {
extraKeys.AppendElement()->AssignASCII("engineId");
extraValues.EmplaceBack(engineid.value());
}
if (error) {
extraKeys.AppendElement()->AssignASCII("error");
extraValues.EmplaceBack(error.value());
}
if (featureid) {
extraKeys.AppendElement()->AssignASCII("featureId");
extraValues.EmplaceBack(featureid.value());
}
if (modeldownloadid) {
extraKeys.AppendElement()->AssignASCII("modelDownloadId");
extraValues.EmplaceBack(modeldownloadid.value());
}
if (modelid) {
extraKeys.AppendElement()->AssignASCII("modelId");
extraValues.EmplaceBack(modelid.value());
}
if (modelrevision) {
extraKeys.AppendElement()->AssignASCII("modelRevision");
extraValues.EmplaceBack(modelrevision.value());
}
if (step) {
extraKeys.AppendElement()->AssignASCII("step");
extraValues.EmplaceBack(step.value());
}
if (when) {
extraKeys.AppendElement()->AssignASCII("when");
extraValues.AppendElement()->AppendInt(when.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* A model is downloaded
*/
constexpr impl::EventMetric<ModelDownloadExtra> model_download(4878);
/**
* generated from firefox.ai.runtime.run_inference_failure
*/
struct RunInferenceFailureExtra {
mozilla::Maybe<nsCString> engineid;
mozilla::Maybe<nsCString> featureid;
mozilla::Maybe<nsCString> modelid;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (engineid) {
extraKeys.AppendElement()->AssignASCII("engineId");
extraValues.EmplaceBack(engineid.value());
}
if (featureid) {
extraKeys.AppendElement()->AssignASCII("featureId");
extraValues.EmplaceBack(featureid.value());
}
if (modelid) {
extraKeys.AppendElement()->AssignASCII("modelId");
extraValues.EmplaceBack(modelid.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* An inference run has failed
*/
constexpr impl::EventMetric<RunInferenceFailureExtra> run_inference_failure(4879);
/**
* generated from firefox.ai.runtime.run_inference_success
*/
enum class RunInferenceSuccessLabel: uint16_t {
eAutofillMl = 0,
ePdfjs = 1,
eMlSuggestIntent = 2,
eMlSuggestNer = 3,
eAboutInference = 4,
eWebextension = 5,
eWllamapreview = 6,
eDefaultEngine = 7,
eSmartTabEmbeddingEngine = 8,
eSmartTabTopicEngine = 9,
e__Other__,
};
/**
* An inference engine was created
*/
constexpr impl::Labeled<impl::TimingDistributionMetric, RunInferenceSuccessLabel> run_inference_success(4880);
}
namespace model_management {
/**
* generated from model_management.details_view
*/
struct DetailsViewExtra {
mozilla::Maybe<nsCString> extensionIds;
mozilla::Maybe<nsCString> featureIds;
mozilla::Maybe<nsCString> model;
mozilla::Maybe<nsCString> version;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (extensionIds) {
extraKeys.AppendElement()->AssignASCII("extension_ids");
extraValues.EmplaceBack(extensionIds.value());
}
if (featureIds) {
extraKeys.AppendElement()->AssignASCII("feature_ids");
extraValues.EmplaceBack(featureIds.value());
}
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
if (version) {
extraKeys.AppendElement()->AssignASCII("version");
extraValues.EmplaceBack(version.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user views the screen with model details in the model management section in Add-ons Manager
*/
constexpr impl::EventMetric<DetailsViewExtra> details_view(4881);
/**
* generated from model_management.list_item_manage
*/
struct ListItemManageExtra {
mozilla::Maybe<nsCString> extensionIds;
mozilla::Maybe<nsCString> featureIds;
mozilla::Maybe<nsCString> model;
mozilla::Maybe<nsCString> version;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (extensionIds) {
extraKeys.AppendElement()->AssignASCII("extension_ids");
extraValues.EmplaceBack(extensionIds.value());
}
if (featureIds) {
extraKeys.AppendElement()->AssignASCII("feature_ids");
extraValues.EmplaceBack(featureIds.value());
}
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
if (version) {
extraKeys.AppendElement()->AssignASCII("version");
extraValues.EmplaceBack(version.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user clicks on Manage from the three
* dots next to a model item
*/
constexpr impl::EventMetric<ListItemManageExtra> list_item_manage(4882);
/**
* generated from model_management.list_view
*/
struct ListViewExtra {
mozilla::Maybe<uint32_t> models;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (models) {
extraKeys.AppendElement()->AssignASCII("models");
extraValues.AppendElement()->AppendInt(models.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user views the model management section in Add-ons Manager
*/
constexpr impl::EventMetric<ListViewExtra> list_view(4883);
/**
* generated from model_management.model_card_link
*/
struct ModelCardLinkExtra {
mozilla::Maybe<nsCString> extensionIds;
mozilla::Maybe<nsCString> featureIds;
mozilla::Maybe<nsCString> model;
mozilla::Maybe<nsCString> version;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (extensionIds) {
extraKeys.AppendElement()->AssignASCII("extension_ids");
extraValues.EmplaceBack(extensionIds.value());
}
if (featureIds) {
extraKeys.AppendElement()->AssignASCII("feature_ids");
extraValues.EmplaceBack(featureIds.value());
}
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
if (version) {
extraKeys.AppendElement()->AssignASCII("version");
extraValues.EmplaceBack(version.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user clicks the model card link in the model details
*/
constexpr impl::EventMetric<ModelCardLinkExtra> model_card_link(4884);
/**
* generated from model_management.remove_confirmation
*/
struct RemoveConfirmationExtra {
mozilla::Maybe<nsCString> action;
mozilla::Maybe<nsCString> extensionIds;
mozilla::Maybe<nsCString> featureIds;
mozilla::Maybe<nsCString> model;
mozilla::Maybe<nsCString> version;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (action) {
extraKeys.AppendElement()->AssignASCII("action");
extraValues.EmplaceBack(action.value());
}
if (extensionIds) {
extraKeys.AppendElement()->AssignASCII("extension_ids");
extraValues.EmplaceBack(extensionIds.value());
}
if (featureIds) {
extraKeys.AppendElement()->AssignASCII("feature_ids");
extraValues.EmplaceBack(featureIds.value());
}
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
if (version) {
extraKeys.AppendElement()->AssignASCII("version");
extraValues.EmplaceBack(version.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user interacts with the
* panel to confirm removal of model
*/
constexpr impl::EventMetric<RemoveConfirmationExtra> remove_confirmation(4885);
/**
* generated from model_management.remove_initiated
*/
struct RemoveInitiatedExtra {
mozilla::Maybe<nsCString> extensionIds;
mozilla::Maybe<nsCString> featureIds;
mozilla::Maybe<uint32_t> lastInstall;
mozilla::Maybe<uint32_t> lastUsed;
mozilla::Maybe<nsCString> model;
mozilla::Maybe<uint32_t> size;
mozilla::Maybe<nsCString> source;
mozilla::Maybe<nsCString> version;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (extensionIds) {
extraKeys.AppendElement()->AssignASCII("extension_ids");
extraValues.EmplaceBack(extensionIds.value());
}
if (featureIds) {
extraKeys.AppendElement()->AssignASCII("feature_ids");
extraValues.EmplaceBack(featureIds.value());
}
if (lastInstall) {
extraKeys.AppendElement()->AssignASCII("last_install");
extraValues.AppendElement()->AppendInt(lastInstall.value());
}
if (lastUsed) {
extraKeys.AppendElement()->AssignASCII("last_used");
extraValues.AppendElement()->AppendInt(lastUsed.value());
}
if (model) {
extraKeys.AppendElement()->AssignASCII("model");
extraValues.EmplaceBack(model.value());
}
if (size) {
extraKeys.AppendElement()->AssignASCII("size");
extraValues.AppendElement()->AppendInt(size.value());
}
if (source) {
extraKeys.AppendElement()->AssignASCII("source");
extraValues.EmplaceBack(source.value());
}
if (version) {
extraKeys.AppendElement()->AssignASCII("version");
extraValues.EmplaceBack(version.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Recorded when the user clicks on Remove from the three dots next to
* a model item or the remove button from the model details page
*/
constexpr impl::EventMetric<RemoveInitiatedExtra> remove_initiated(4886);
}
} // namespace mozilla::glean
#endif // mozilla_GleanMlMetrics_h