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