| // Copyright 2019 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROMEOS_ASH_COMPONENTS_MEMORY_SWAP_CONFIGURATION_H_ |
| #define CHROMEOS_ASH_COMPONENTS_MEMORY_SWAP_CONFIGURATION_H_ |
| |
| #include "base/component_export.h" |
| #include "base/feature_list.h" |
| #include "base/metrics/field_trial_params.h" |
| |
| namespace ash { |
| |
| // Controls the threshold at which memory pressure signals are sent for |
| // arc-disabled devices. |
| COMPONENT_EXPORT(ASH_MEMORY) |
| BASE_DECLARE_FEATURE(kCrOSMemoryPressureSignalStudyNonArc); |
| |
| COMPONENT_EXPORT(ASH_MEMORY) |
| extern const base::FeatureParam<int> |
| kCrOSMemoryPressureSignalStudyNonArcCriticalBps; |
| |
| COMPONENT_EXPORT(ASH_MEMORY) |
| extern const base::FeatureParam<int> |
| kCrOSMemoryPressureSignalStudyNonArcModerateBps; |
| |
| // Similar to above but for arc-enabled devices. |
| COMPONENT_EXPORT(ASH_MEMORY) |
| BASE_DECLARE_FEATURE(kCrOSMemoryPressureSignalStudyArc); |
| |
| COMPONENT_EXPORT(ASH_MEMORY) |
| extern const base::FeatureParam<int> |
| kCrOSMemoryPressureSignalStudyArcCriticalBps; |
| |
| COMPONENT_EXPORT(ASH_MEMORY) |
| extern const base::FeatureParam<int> |
| kCrOSMemoryPressureSignalStudyArcModerateBps; |
| |
| // Configure swap will configure any swap related experiments that this user may |
| // be opted into. This method should be called after the user logs in, since |
| // that is the earliest time when we know if arc is enabled or not. It can be |
| // called additional times if `arc_enabled` changes during a session. This is |
| // expected to be rare, and will mildly pollute UMA data. |
| COMPONENT_EXPORT(ASH_MEMORY) void ConfigureSwap(bool arc_enabled); |
| |
| } // namespace ash |
| |
| #endif // CHROMEOS_ASH_COMPONENTS_MEMORY_SWAP_CONFIGURATION_H_ |