Recent Releases of bpftime

bpftime - v0.1.0

What's Changed

  • Fix a README.md typo by @lnicola in https://github.com/eunomia-bpf/bpftime/pull/88
  • Docs: Add acknowledgement and fix ci by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/89
  • examples: add syscount by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/93
  • examples: add more minimal examples by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/96
  • docs: add documents of how to use JIT by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/98
  • syscallserver: fix epollwait implementation by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/101
  • benchmark: add multi-thread bench driver by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/103
  • attach: impl helper bpfoverridereturn by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/105
  • runtime: remove usage of weak_ptr in attach manager by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/106
  • runtime: use macro for log by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/107
  • example: add funclatency from bcc/libbpf-tools by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/109
  • vm: fix compiling ebpf program using llvm in parallel environment by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/108
  • example: add mountsnoop from libbpf-tools by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/110
  • runtime: add fs extended helpers by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/111
  • example: add sigsnoop from libbpf-tools by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/113
  • daemon: fix config from env by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/114
  • extension: add iouring helpers by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/115
  • runtime: enable syscall server to load and run cross boundary programs. by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/117
  • runtime: fix SIGSEGV if no module found by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/119
  • benchmark: add micro benchmark runner by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/121
  • runtime: remove attach type replace, rename filter to override by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/120
  • Add apt update in CI setup by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/126
  • Rewrite bpftime-cli in C++ by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/125
  • llvm-jit: implement AOT compilation by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/127
  • vm: update AOT cli by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/129
  • vm/runtime: implement userspace -> kernel tailcall by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/131
  • vm: fix cmpxchg in intepreter by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/132
  • example/tailcall: add README by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/133
  • daemon: auto release /a when starting by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/136
  • Github: Create FUNDING.yml by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/134
  • docs: move documents to website by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/138
  • docker: remove rust toolchain by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/143
  • runtime: implement userspace USDT by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/139
  • Update FUNDING.yml by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/146
  • docs: fix broken link in README.md by @ShawnZhong in https://github.com/eunomia-bpf/bpftime/pull/150
  • build(deps): bump shlex from 1.2.0 to 1.3.0 in /tools/cli-rs-archive by @dependabot[bot] in https://github.com/eunomia-bpf/bpftime/pull/153
  • vm: fix llvm as a standalone library by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/154
  • Attempt to add arm64 support by @ShawnZhong in https://github.com/eunomia-bpf/bpftime/pull/151
  • docs: fix document error for new cli by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/164
  • ci: make all tests run under fedora(AOT & runtime) by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/161
  • Capture remaining arguments for bpftime start by @caizixian in https://github.com/eunomia-bpf/bpftime/pull/182
  • cli: Support set spdlog log level by using env for bpftime cli by @Zheaoli in https://github.com/eunomia-bpf/bpftime/pull/200
  • third_party: add catch2 and argparse to submodule by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/198
  • runtime: add ufunc support by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/193
  • runtime: Fix runtime epoll_wait error when timeout is set to -1 by @Zheaoli in https://github.com/eunomia-bpf/bpftime/pull/201
  • ci: make all tests run under fedora(llvm-jit, examples, vm) by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/192
  • runtime: fix bpf link error in other attach types by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/206
  • vm: fix compile error on g++ 10.3.1 by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/207
  • fix newline and add gitattributes by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/208
  • ci: Fix CMakeLists.txt for llvm-jit to allow user define the llvm path by @Zheaoli in https://github.com/eunomia-bpf/bpftime/pull/204
  • build in parallel in makefile by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/209
  • test: use Catch2 and cmake for runtime tests by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/215
  • CI: clean the CI workflow by using Dockerfile by @Zheaoli in https://github.com/eunomia-bpf/bpftime/pull/216
  • attach: reconstruct attach related parts by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/218
  • ci: Release binary with RelWithDebInfo and support "no-omit-frame-pointer" to keep the frame pointer by @Zheaoli in https://github.com/eunomia-bpf/bpftime/pull/220
  • cli: remove rust depreciate code by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/222
  • fix: Updated link in the contributor guidelines by @Viveksati5143 in https://github.com/eunomia-bpf/bpftime/pull/225
  • vm: remove aot cache for security issues by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/227
  • runtime: add map_ops support by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/229
  • attach: fix the performance issue of the new attach implementation by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/238
  • examples: add example to trace golang code by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/226
  • misc: fix autocrlf for binary file example/goroutine/go-server-http/main by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/242
  • #237 | hp77 | Make registers arch independent by @hp77-creator in https://github.com/eunomia-bpf/bpftime/pull/241
  • refactor: Make baseattachimpl into a header-only library fix #233 by @fr0m-scratch in https://github.com/eunomia-bpf/bpftime/pull/245
  • bpftimetool: fixes unnecessary report of shm removed when there's nothing to remove by @aneeshdamle11 in https://github.com/eunomia-bpf/bpftime/pull/244
  • runtime: use bpflinkhandler to record attach links; rewrite attach part of bpfattachctx by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/243
  • workflow to run attach tests by @Sanket-0510 in https://github.com/eunomia-bpf/bpftime/pull/240
  • runtime: support attach arguments of custom attach implementations, and add an example by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/249
  • runtime: fix per cpu map low performance by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/255
  • runtime: Add cmake options to control build runtime interact with kernel map by @hp77-creator in https://github.com/eunomia-bpf/bpftime/pull/256
  • tools: add support for AOT cli by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/257
  • runtime/agent: Add top level exception handlers by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/260
  • runtime/agent: implement detaching by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/264
  • fix issue Unable to build on newer LLVM #268 by @NobinPegasus in https://github.com/eunomia-bpf/bpftime/pull/276
  • fix: #185 The bpftime build system won't rebuild libbpf when libbpf's… by @Kailian-Jacy in https://github.com/eunomia-bpf/bpftime/pull/278
  • vm: integrate ubpf & add compat layer for different vm implementations by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/273
  • vm: add AOT runner, API, and bench tool by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/258
  • Add feature Use std::chrono instead of clock_gettime by @NobinPegasus in https://github.com/eunomia-bpf/bpftime/pull/284
  • Make llvm-jit work with bpftrace by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/286
  • fix: fix segmentation fault about bashreadline by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/288
  • fix: using the openssl resolved path in sslsniff by @rphang in https://github.com/eunomia-bpf/bpftime/pull/290
  • Update README.md by @yuanrui77 in https://github.com/eunomia-bpf/bpftime/pull/293
  • fix: bash stucks when injected by bpftime agent by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/295
  • Add libbpftime.a archive when BPFTIMEBUILDSTATIC_LIB option is provided by @hp77-creator in https://github.com/eunomia-bpf/bpftime/pull/294
  • runtime: add network related helpers and maps by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/297
  • fix: remove memory allocation in hash maps by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/298
  • Update README.md by @yuanrui77 in https://github.com/eunomia-bpf/bpftime/pull/300
  • fix: do not override symbols in userland eBPF programs with symbols provided by bpftime's bundled libbpf by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/305
  • hp77 | Add Option for build without libbpf by @hp77-creator in https://github.com/eunomia-bpf/bpftime/pull/302
  • hp77 | Fix version script not available on macos by @hp77-creator in https://github.com/eunomia-bpf/bpftime/pull/315
  • Fix performance: use new hash map implement by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/299
  • Allow defining shared memory size at runtime by @NobinPegasus in https://github.com/eunomia-bpf/bpftime/pull/285
  • Fix: debug log cannot be print when build in debug mode by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/317
  • llvm-jit: patch lddw helpers at compile time by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/323
  • fix: improve error message and handling in syscall-server by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/321
  • bench: add new micro benchmark about maps and read/write userspace memory by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/334
  • fix: log runtime output to env var "BPFTIMELOGOUTPUT" by @Kailian-Jacy in https://github.com/eunomia-bpf/bpftime/pull/301
  • vm: use the llvmbpf as submodule by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/336
  • [Replaces 248] Support read /sys/bus/event_source/devices/uprobe/type on old kernel versions by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/333
  • add xdp-counter example by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/339
  • fix: compile on old cmake version and add PATH by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/346
  • feat:add lcov and codecov support by @kenlig in https://github.com/eunomia-bpf/bpftime/pull/352
  • docs: fix broken links in readme by @Nugine in https://github.com/eunomia-bpf/bpftime/pull/350
  • feat: add unit tests from kernel by @kenlig in https://github.com/eunomia-bpf/bpftime/pull/354
  • Add more unit tests to increase coverage by @kenlig in https://github.com/eunomia-bpf/bpftime/pull/355
  • fix: docker ci unable to run by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/364
  • feat:Prevent segmentation fault in proberead & probewrite by @Sy0307 in https://github.com/eunomia-bpf/bpftime/pull/368
  • fix ubpf & llvm-jit compile error by @Sy0307 in https://github.com/eunomia-bpf/bpftime/pull/369
  • fix: use boostshmstring when an agent_config being setup on shared memory by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/371
  • Support dynamic vm switch instead of setting in compile time by @Sy0307 in https://github.com/eunomia-bpf/bpftime/pull/373
  • deps: update bpftool version by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/363
  • update submodule llvmbpf by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/379
  • Improve benchmark and config by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/382
  • Add benchmark scripts for experiments by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/387
  • Add benchmark build and test to CI by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/389
  • Add experiments to benchmark CI and publish them by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/391
  • Add bpftrace CI by @Sy0307 in https://github.com/eunomia-bpf/bpftime/pull/380
  • Add codecov config file and threshold by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/390
  • Add simple attach impl to provide simpler way to register some basic attach impls by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/393
  • Fix a typo in README [skip ci] by @NoobZang in https://github.com/eunomia-bpf/bpftime/pull/395
  • fix: benchmark/requirements.txt to eliminate critical vulnerability by @yasir-ai in https://github.com/eunomia-bpf/bpftime/pull/398
  • benchmark: add new visualization script for performance metrics by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/399
  • Implement bpf_get_stackid by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/394
  • Add GPU support into bpftime by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/400
  • doc: add attach doc for gpu by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/402
  • benchmark: add cuda probe microbench and trampoline C++ code by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/403
  • cuda-attach: support multiple cuda thread by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/413
  • Update README.md by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/414
  • GPU: Support GPU map (per-thread array map) for CUDA by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/423
  • Update CITATION.cff and README.md to reflect new paper by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/422
  • fix: update readme of cuda-counter-gpu-array example by @XiaoYiXiaoYang in https://github.com/eunomia-bpf/bpftime/pull/433
  • fix: Resolve compilation failure on AArch64 by @NoobZang in https://github.com/eunomia-bpf/bpftime/pull/432
  • feat: Add ARM64 Docker support and build test script by @yunwei37 in https://github.com/eunomia-bpf/bpftime/pull/437

New Contributors

  • @lnicola made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/88
  • @ShawnZhong made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/150
  • @caizixian made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/182
  • @Zheaoli made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/200
  • @Viveksati5143 made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/225
  • @hp77-creator made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/241
  • @fr0m-scratch made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/245
  • @aneeshdamle11 made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/244
  • @Sanket-0510 made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/240
  • @Kailian-Jacy made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/278
  • @rphang made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/290
  • @yuanrui77 made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/293
  • @kenlig made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/352
  • @Nugine made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/350
  • @Sy0307 made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/368
  • @NoobZang made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/395
  • @yasir-ai made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/398
  • @XiaoYiXiaoYang made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/433

Full Changelog: https://github.com/eunomia-bpf/bpftime/compare/v0.0.3...v0.1.0

- C++
Published by yunwei37 6 months ago

bpftime - v0.0.3

Support interact with kernel and other types.

Linux plumbers meeting version:

We talked about it in LPC 23 today, and the slides: https://lpc.events/event/17/contributions/1639 Stream: https://youtube.com/watch?v=zDNZY0HQOMw&t=1765s

The draft paper: https://arxiv.org/abs/2311.07923

- C++
Published by yunwei37 over 2 years ago

bpftime - v0.0.2

What's Changed

  • Update with embedded-ebpf uprobe & update CLI with syscall trace by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/13
  • Add support for ebpf-verifier by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/14

Full Changelog: https://github.com/eunomia-bpf/bpftime/compare/v0.0.1...v0.0.2

- C++
Published by yunwei37 over 2 years ago

bpftime - v0.0.1

This is a pre-release for the core component, for Prove-of-Concept working.

What's Changed

  • Tools: add a new CLI in rust and related CI tests by @Officeyutong in https://github.com/eunomia-bpf/bpftime/pull/12

New Contributors

  • @Officeyutong made their first contribution in https://github.com/eunomia-bpf/bpftime/pull/12

Full Changelog: https://github.com/eunomia-bpf/bpftime/commits/v0.0.1

- C++
Published by yunwei37 over 2 years ago