root/chrome/browser/ui/webui/performance_monitor/performance_monitor_ui_constants.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


// 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_

/* [<][>][^][v][top][bottom][index][help] */