blob: 0c8bfc60889d1a2e6948deb4e0aacaa276385328 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_WEBUI_PERFORMANCE_MONITOR_PERFORMANCE_MONITOR_UI_CONSTANTS_H_
#define CHROME_BROWSER_UI_WEBUI_PERFORMANCE_MONITOR_PERFORMANCE_MONITOR_UI_CONSTANTS_H_
#include "base/basictypes.h"
namespace performance_monitor {
enum EventCategory {
EVENT_CATEGORY_EXTENSIONS,
EVENT_CATEGORY_CHROME,
EVENT_CATEGORY_EXCEPTIONS,
EVENT_CATEGORY_NUMBER_OF_CATEGORIES
};
enum MetricCategory {
METRIC_CATEGORY_CPU,
METRIC_CATEGORY_MEMORY,
METRIC_CATEGORY_TIMING,
METRIC_CATEGORY_NETWORK,
METRIC_CATEGORY_NUMBER_OF_CATEGORIES
};
enum Unit {
UNIT_BYTES,
UNIT_KILOBYTES,
UNIT_MEGABYTES,
UNIT_GIGABYTES,
UNIT_TERABYTES,
UNIT_MICROSECONDS,
UNIT_MILLISECONDS,
UNIT_SECONDS,
UNIT_MINUTES,
UNIT_HOURS,
UNIT_DAYS,
UNIT_WEEKS,
UNIT_MONTHS,
UNIT_YEARS,
UNIT_PERCENT,
UNIT_UNDEFINED
};
// The different options for aggregation when we pass data to the UI side.
enum AggregationMethod {
// IMPORTANT! These values are hard-coded in
// chrome/browser/resources/performance_monitor.js. Please do not change them.
AGGREGATION_METHOD_NONE,
AGGREGATION_METHOD_MEDIAN,
AGGREGATION_METHOD_MEAN,
AGGREGATION_METHOD_NUMBER_OF_METHODS
};
// A MeasurementType represents the "type" of data which we are measuring, e.g.
// whether we are measuring distance, memory amounts, time, etc. Two units can
// be converted if and only if they are in the same type. We can convert
// two units of distance (meters to centimeters), but cannot convert a unit of
// time to a unit of memory (seconds to megabytes).
enum MeasurementType {
MEASUREMENT_TYPE_MEMORY,
MEASUREMENT_TYPE_PERCENT,
MEASUREMENT_TYPE_TIME,
MEASUREMENT_TYPE_UNDEFINED
};
// A struct which holds the conversion information for each unit. The
// |amount_in_base_units| corresponds to the value of 1 |unit| in the specified
// base for the measurement type (for instance, since the base unit for memory
// is bytes, a kilobyte would have |amount_in_base_units| of 1 << 10.
struct UnitDetails {
const Unit unit;
const MeasurementType measurement_type;
const int64 amount_in_base_units;
};
// Returns the corresponding UnitDetails for the given unit, or NULL if invalid.
const UnitDetails* GetUnitDetails(Unit unit);
} // namespace performance_monitor
#endif // CHROME_BROWSER_UI_WEBUI_PERFORMANCE_MONITOR_PERFORMANCE_MONITOR_UI_CONSTANTS_H_