27 Commits (master)

Author SHA1 Message Date
Avril f4f7aafa32
Feature-gated `-exec/{}` as "exec". Added feature `mode-flags` to enable/disable collect-noallocate collect-preallocate memfile-total-jemalloc.png features that involve runtime flags.
1 year ago
Avril 79721444ba
Implemented `-exec/{}` implementation functionality.
1 year ago
Avril 715fa4d5a8
Added simple fatal error message verbosity levels controllable by environment variable at runtime (`RUST_VERBOSE =~ /1|v|verbose/i`), and compile-time (`NO_RT_ERROR_CTL`, `DEFAULT_ERROR =~ /1|v|verbose/i`.) Default is simple error messages at compile and runtime.
2 years ago
Avril 177bf3c4ff
main: Added `parse_args()`: Parses args, converts error to eyre::Report, and adds section for suggestion (TODO: Implement `--help`) and section on which args existed.
2 years ago
Avril 14f32d6262
Explicitly closes `stdout` before process exits.
2 years ago
Avril bc2357c6b6
Attempted to add new feature flag: `memfile-size-output`: Which will pre- or post- set the size of `stdout` to the correct buffer size, allowing consumers of `collect`"s stdout pipe to know the size just like a file. However, `ftruncate()` always fails on stdout. Before re-enabling the feature, we must find out how to set the size of a pipe, if/when you even can, and what syscall(s) you need to do it with.
2 years ago
Avril ab56c93532
Bumped minor version.
2 years ago
Avril 395799587b
Removed `stackalloc` dependancy.
2 years ago
Avril dbf2dbffde
Removed `hugetlb` feature flag: It cannot be used for our use-case.
2 years ago
Avril 8ea3a23e27
Using huge-pages for this is folly from the start: For one, we never actually map the fallocate()"d memory. And two... hugetlbfs does not support write()s in any way, splice()s, send_file()s... It only supports read(), and mmap() (its primary use-case...); which isn"t relevant for us.
2 years ago
Avril 573845a667
memfile::hp: Added `get_masks()`: Returns an iterator over all `MAP_HUGE` masks found on system.
2 years ago
Avril 2c839da13b
Bumped stackalloc version: Use PLT for trampoline: Causing random linker errors on some machines.
2 years ago
Avril 9ecd0ea3d8
Fixed silly bug preventing building on rust-stable.
2 years ago
Avril 9125199d80
Added Cargo keywords (tags)
2 years ago
Avril 8390072309
Reached version 1.0.0!
2 years ago
Avril 23d022b5fe
Added working memfile implementation
2 years ago
Avril 0628853b43
Working memfile implementation
2 years ago
Avril edb57c7c95
memfile: Disambiguated memfile errors resulting in `fallocate()` sizes being too large or the call itself failing.
2 years ago
Avril b3dbb30deb
Fix imports for when feature `memfile` is disabled.
2 years ago
Avril ed957bcec8
feature memfile: added `RawFile::open_mem()`
2 years ago
Avril 65c297b228
Started adding `memfile` feature: Use a `memfd_create()`d in-memory temporary file.
2 years ago
Avril 80a2d65262
Made spantrace capture optional at the compilation level.
2 years ago
Avril 3af34dc78f
Better documented `jemalloc` feature.
2 years ago
Avril cc37f604f1
Fixed tracing causing huge unneeded bottleneck in non `bytes` builds.
2 years ago
Avril bea5cda4a1
Fixed not copying to buffer when not using feature `bytes`.
2 years ago
Avril 1cdd5b2187
Made `bytes` an optional feature.
2 years ago
Avril a5ad02a6de Working primitive, slow, prototype.
2 years ago