1 // Copyright 2014 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef BASE_METRICS_METRICS_HASHES_H_ 6 #define BASE_METRICS_METRICS_HASHES_H_ 7 8 #include <stdint.h> 9 10 #include <string_view> 11 12 #include "base/base_export.h" 13 14 namespace base { 15 16 // Computes a uint64_t hash of a given string based on its MD5 hash. Suitable 17 // for metric names. 18 BASE_EXPORT uint64_t HashMetricName(std::string_view name); 19 20 // Computes a uint32_t hash of a given string based on its MD5 hash. This 21 // can be more suitable for contexts where memory use is a concern. 22 BASE_EXPORT uint32_t HashMetricNameAs32Bits(std::string_view name); 23 24 // Computes a uint32_t hash of a given string based on its SHA1 hash. Suitable 25 // for uniquely identifying field trial names and group names. 26 BASE_EXPORT uint32_t HashFieldTrialName(std::string_view name); 27 28 } // namespace base 29 30 #endif // BASE_METRICS_METRICS_HASHES_H_ 31