// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_HISTORY_CLUSTERS_CORE_CLUSTER_METRICS_UTILS_H_ #define COMPONENTS_HISTORY_CLUSTERS_CORE_CLUSTER_METRICS_UTILS_H_ #include "base/metrics/histogram_functions.h" namespace history_clusters { // A helper object for recording metrics about whether a cluster was filtered // for a specified reason. The metric is emitted when the object falls out of // scope. class ScopedFilterClusterMetricsRecorder { … }; /** * The following enums must be kept in sync with their respective variants in * //tools/metrics/histograms/metadata/history/histograms.xml and * //ui/webui/resources/cr_components/history_clusters/history_clusters.mojom */ // Actions that can be performed on clusters. The int values are not logged and // can be changed, but should remain consistent with history_clusters.mojom. enum class ClusterAction { … }; // Actions that can be performed on related search items. enum class RelatedSearchAction { … }; // Actions that can be performed on visits. enum class VisitAction { … }; // Types of visits that can be shown and acted on. enum class VisitType { … }; // Returns the string representation of each enum class used for // logging/histograms. std::string ClusterActionToString(ClusterAction action); std::string VisitActionToString(VisitAction action); std::string VisitTypeToString(VisitType action); std::string RelatedSearchActionToString(RelatedSearchAction action); } // namespace history_clusters #endif // COMPONENTS_HISTORY_CLUSTERS_CORE_CLUSTER_METRICS_UTILS_H_