• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
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 CHROME_BROWSER_PERFORMANCE_MONITOR_CONSTANTS_H_
6 #define CHROME_BROWSER_PERFORMANCE_MONITOR_CONSTANTS_H_
7 
8 #include "base/basictypes.h"
9 #include "base/time/time.h"
10 
11 namespace performance_monitor {
12 
13 // Constants which are used by the PerformanceMonitor and its related classes.
14 // The constants should be documented alongside the definition of their values
15 // in the .cc file.
16 
17 extern const char kMetricNotFoundError[];
18 extern const char kProcessChromeAggregate[];
19 
20 // State tokens
21 extern const char kStateChromeVersion[];
22 extern const char kStateProfilePrefix[];
23 
24 // The interval the watched processes are sampled for performance metrics.
25 const int kSampleIntervalInSeconds = 10;
26 // The default interval at which PerformanceMonitor performs its timed
27 // collections; this can be overridden by using the kPerformanceMonitorGathering
28 // switch with an associated (positive integer) value.
29 const int kDefaultGatherIntervalInSeconds = 120;
30 
31 // Unit values (for use in metric, and on the UI side).
32 
33 // Memory measurements
34 const int64 kBytesPerKilobyte = 1 << 10;
35 const int64 kBytesPerMegabyte = kBytesPerKilobyte * (1 << 10);
36 const int64 kBytesPerGigabyte = kBytesPerMegabyte * (1 << 10);
37 const int64 kBytesPerTerabyte = kBytesPerGigabyte * (1 << 10);
38 
39 // Time measurements - Most of these are imported from base/time/time.h
40 // These units are used for display (and it's related calculations), not for
41 // any mathematical analysis. Thus we can estimate for values without an exact
42 // conversion.
43 const int64 kMicrosecondsPerMonth = base::Time::kMicrosecondsPerDay * 30;
44 const int64 kMicrosecondsPerYear = base::Time::kMicrosecondsPerDay * 365;
45 
46 // Performance alert thresholds
47 
48 // If a process is consistently above this CPU utilization percentage over time,
49 // we consider it as high and may take action.
50 const float kHighCPUUtilizationThreshold = 90.0f;
51 }  // namespace performance_monitor
52 
53 #endif  // CHROME_BROWSER_PERFORMANCE_MONITOR_CONSTANTS_H_
54