// Copyright 2015 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 COMPONENTS_METRICS_SYSTEM_MEMORY_STATS_RECORDER_H_
#define COMPONENTS_METRICS_SYSTEM_MEMORY_STATS_RECORDER_H_

namespace metrics {

// Record a memory size in megabytes, over a potential interval up to 32 GB.
#define UMA_HISTOGRAM_LARGE_MEMORY_MB(name, sample) \
  UMA_HISTOGRAM_CUSTOM_COUNTS(name, sample, 1, 32768, 50)

// The type of memory UMA stats to be recorded in RecordMemoryStats.
enum RecordMemoryStatsType {
  // When a tab was discarded.
  RECORD_MEMORY_STATS_TAB_DISCARDED,

  // Right after the renderer for contents was killed.
  RECORD_MEMORY_STATS_CONTENTS_OOM_KILLED,

  // Right after the renderer for extensions was killed.
  RECORD_MEMORY_STATS_EXTENSIONS_OOM_KILLED,
};

void RecordMemoryStats(RecordMemoryStatsType type);

}  // namespace metrics

#endif  // COMPONENTS_METRICS_SYSTEM_MEMORY_STATS_RECORDER_H_
