// Copyright 2021 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. // MemoryPressure provides static APIs for handling memory pressure on // platforms that have such signals, such as Android and ChromeOS. // The app will try to discard buffers that aren't deemed essential (individual // modules will implement their own policy). #include "base/trace_event/memory_pressure_level_proto.h" #include "base/tracing/protos/chrome_track_event.pbzero.h" // nogncheck namespace base { namespace trace_event { perfetto::protos::pbzero::MemoryPressureLevel MemoryPressureLevelToTraceEnum( MemoryPressureListener::MemoryPressureLevel memory_pressure_level) { using ProtoLevel = perfetto::protos::pbzero::MemoryPressureLevel; switch (memory_pressure_level) { case MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE: return ProtoLevel::MEMORY_PRESSURE_LEVEL_NONE; case MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE: return ProtoLevel::MEMORY_PRESSURE_LEVEL_MODERATE; case MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL: return ProtoLevel::MEMORY_PRESSURE_LEVEL_CRITICAL; } } } // namespace trace_event } // namespace base