• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "base/base_export.h"
11 #include "base/strings/string_piece.h"
12 
13 namespace base {
14 
15 // Computes a uint64_t hash of a given string based on its MD5 hash. Suitable
16 // for metric names.
17 BASE_EXPORT uint64_t HashMetricName(base::StringPiece name);
18 
19 // Computes a uint32_t hash of a given string based on its MD5 hash. This
20 // can be more suitable for contexts where memory use is a concern.
21 BASE_EXPORT uint32_t HashMetricNameAs32Bits(base::StringPiece name);
22 
23 // Computes a uint32_t hash of a given string based on its SHA1 hash. Suitable
24 // for uniquely identifying field trial names and group names.
25 BASE_EXPORT uint32_t HashFieldTrialName(base::StringPiece name);
26 
27 }  // namespace base
28 
29 #endif  // BASE_METRICS_METRICS_HASHES_H_
30