1//===-- xray_profiling_flags.inc --------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// XRay profiling runtime flags.
10//
11//===----------------------------------------------------------------------===//
12#ifndef XRAY_FLAG
13#error "Define XRAY_FLAG prior to including this file!"
14#endif
15
16XRAY_FLAG(uptr, per_thread_allocator_max, 16384,
17          "Maximum size of any single per-thread allocator.")
18XRAY_FLAG(uptr, global_allocator_max, 2 << 24,
19          "Maximum size of the global allocator for profile storage.")
20XRAY_FLAG(uptr, stack_allocator_max, 2 << 20,
21          "Maximum size of the traversal stack allocator.")
22XRAY_FLAG(int, grace_period_ms, 1,
23          "Profile collection will wait this much time in milliseconds before "
24          "resetting the global state. This gives a chance to threads to "
25          "notice that the profiler has been finalized and clean up.")
26XRAY_FLAG(bool, no_flush, false,
27          "Set to true if we want the profiling implementation to not write "
28          "out files.")
29XRAY_FLAG(int, buffers_max, 128,
30          "The number of buffers to pre-allocate used by the profiling "
31          "implementation.")
32