| // 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 BASE_ANDROID_REACHED_CODE_PROFILER_H_ |
| #define BASE_ANDROID_REACHED_CODE_PROFILER_H_ |
| |
| #include "base/android/library_loader/library_loader_hooks.h" |
| #include "base/base_export.h" |
| |
| namespace base { |
| namespace android { |
| |
| // Initializes and starts the reached code profiler for |library_process_type|. |
| // Reached symbols are not recorded before calling this function, so it has to |
| // be called as early in startup as possible. This has to be called before the |
| // process creates any thread. |
| // TODO(crbug.com/916263): Currently, the reached code profiler must be |
| // initialized before the tracing profiler. If we want to start it at later |
| // point, we need to check that the tracing profiler isn't initialized first. |
| BASE_EXPORT void InitReachedCodeProfilerAtStartup( |
| LibraryProcessType library_process_type); |
| |
| // Returns whether the reached code profiler is enabled. |
| BASE_EXPORT bool IsReachedCodeProfilerEnabled(); |
| |
| // Returns whether the reached code profiler can be possibly enabled for the |
| // current build configuration. |
| BASE_EXPORT bool IsReachedCodeProfilerSupported(); |
| |
| } // namespace android |
| } // namespace base |
| |
| #endif // BASE_ANDROID_REACHED_CODE_PROFILER_H_ |