// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_SERVICES_HEAP_PROFILING_PUBLIC_CPP_SETTINGS_H_ #define COMPONENTS_SERVICES_HEAP_PROFILING_PUBLIC_CPP_SETTINGS_H_ #include "base/feature_list.h" #include "components/services/heap_profiling/public/mojom/heap_profiling_client.mojom.h" // These helper functions parse the command line and FeatureList settings to // return coherent settings to use for the heap profiler at startup. namespace heap_profiling { enum class Mode { … }; Mode GetModeForStartup(); Mode ConvertStringToMode(const std::string& input); mojom::StackMode GetStackModeForStartup(); mojom::StackMode ConvertStringToStackMode(const std::string& input); // A |sampling_rate| of 1 indicates that all allocations should be recorded. // A |sampling_rate| greater than 1 describes the Poisson Process sampling // interval. If |sampling_rate| is N, then on average, an allocation will be // recorded every N bytes of allocated objects. uint32_t GetSamplingRateForStartup(); } // namespace heap_profiling #endif // COMPONENTS_SERVICES_HEAP_PROFILING_PUBLIC_CPP_SETTINGS_H_