35 lines
1.3 KiB
C
35 lines
1.3 KiB
C
|
// Copyright 2019 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 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_
|