USDT probes are statically defined trace points that have nearly zero disabled-probe effect, i.e. we can put them in hot paths. The use case for these is both similar and dissimilar to Rust tracing: We still need better logging and a better structured rust-tracing looking thing, but probes allow for quite easy programmable interactive tracing in production, which we also care a lot about. This CL comes with a perfunctory trace point in libstore/file-transfer.cc for reading data out of the curl buffer. This was mostly thrown in there so that I could see what the buffer sizes of this were, and maybe be able to instrument the perf of the curl usages in Lix in the future. Fixes: https://git.lix.systems/lix-project/lix/issues/727 Change-Id: I0f5d9912d76bf3d6923bf53ebfd9b8d6c6e70aea
83 lines
2.9 KiB
Meson
83 lines
2.9 KiB
Meson
# vim: filetype=meson
|
|
|
|
option('enable-build', type : 'boolean', value : true,
|
|
description : 'set to false to not actually build. Only really makes sense with -Dinternal-api-docs=true',
|
|
)
|
|
|
|
option('gc', type : 'feature',
|
|
description : 'enable garbage collection in the Nix expression evaluator (requires Boehm GC)',
|
|
)
|
|
|
|
option('enable-embedded-sandbox-shell', type : 'boolean', value : false,
|
|
description : 'include the sandbox shell in the Nix binary',
|
|
)
|
|
|
|
option('cpuid', type : 'feature',
|
|
description : 'determine microarchitecture levels with libcpuid (only relevant on x86_64)',
|
|
)
|
|
|
|
option('seccomp-sandboxing', type : 'feature',
|
|
description : 'build support for seccomp sandboxing (recommended unless your arch doesn\'t support libseccomp, only relevant on Linux)',
|
|
)
|
|
|
|
option('sandbox-shell', type : 'string', value : 'busybox',
|
|
description : 'path to a statically-linked shell to use as /bin/sh in sandboxes (usually busybox)',
|
|
)
|
|
|
|
option('enable-tests', type : 'boolean', value : true,
|
|
description : 'whether to enable tests or not (requires rapidcheck and gtest)',
|
|
)
|
|
|
|
option('tests-color', type : 'boolean', value : true,
|
|
description : 'set to false to disable color output in gtest',
|
|
)
|
|
|
|
option('tests-brief', type : 'boolean', value : false,
|
|
description : 'set to true for shorter tests output',
|
|
)
|
|
|
|
option('profile-build', type : 'feature', value: 'disabled',
|
|
description : 'whether to enable -ftime-trace in clang builds, allowing for diagnosing the cause of build time.'
|
|
)
|
|
|
|
option('store-dir', type : 'string', value : '/nix/store',
|
|
description : 'path of the Nix store',
|
|
)
|
|
|
|
option('state-dir', type : 'string', value : '/nix/var',
|
|
description : 'path to store state in for Nix',
|
|
)
|
|
|
|
option('log-dir', type : 'string', value : '/nix/var/log/nix',
|
|
description : 'path to store logs in for Nix',
|
|
)
|
|
|
|
option('enable-docs', type : 'boolean', value : true,
|
|
description : 'whether to build documentation',
|
|
)
|
|
|
|
option('internal-api-docs', type : 'feature', value : 'auto',
|
|
description : 'whether to build internal API documentation (requires doxygen)',
|
|
)
|
|
|
|
option('nix-eval-jobs', type : 'feature', value : 'disabled',
|
|
description : 'whether to build nix-eval-jobs as part of the Lix build. For development purposes only: do not do packaging with this.',
|
|
)
|
|
|
|
# A relative path means it gets appended to prefix.
|
|
option('profile-dir', type : 'string', value : 'etc/profile.d',
|
|
description : 'the path to install shell profile files',
|
|
)
|
|
|
|
option('enable-pch-std', type : 'boolean', value : true,
|
|
description : 'whether to use precompiled headers for C++\'s standard library (breaks clangd if you\'re using GCC)',
|
|
)
|
|
|
|
option('dtrace-probes', type : 'feature', value : 'auto',
|
|
description : 'whether to build dtrace/bpftrace compatible USDT probes into Lix'
|
|
)
|
|
|
|
option('lix-clang-tidy-checks-path', type : 'string', value : '',
|
|
description: 'path to lix-clang-tidy-checks library file, if providing it externally. Uses an internal one if this is not set',
|
|
)
|