Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yandex-cloud/skbtrace
Helper tool for generating and running BPFTrace scripts which trace and measure timings related to Linux Networking Stack, specifically SocKet Buffer contents
https://github.com/yandex-cloud/skbtrace
bpftrace ebpf linux network-analysis tracing
Last synced: about 1 month ago
JSON representation
Helper tool for generating and running BPFTrace scripts which trace and measure timings related to Linux Networking Stack, specifically SocKet Buffer contents
- Host: GitHub
- URL: https://github.com/yandex-cloud/skbtrace
- Owner: yandex-cloud
- License: mit
- Created: 2021-10-20T17:53:05.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-07-08T12:59:33.000Z (6 months ago)
- Last Synced: 2024-07-08T16:07:07.884Z (6 months ago)
- Topics: bpftrace, ebpf, linux, network-analysis, tracing
- Language: Go
- Homepage:
- Size: 124 KB
- Stars: 80
- Watchers: 9
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Authors: AUTHORS.md
Awesome Lists containing this project
README
`skbtrace` is a helper tool for generating and running BPFTrace scripts which trace and measure timings related
to Linux Networking Stack, specifically SocKet Buffer contents (hence the name).It can be used to:
- find TCP retransmits even in encapsulated packets;
- roughly measure packet forwarding times;
- simple tcpdump replacement which allows to trace some kernel routines which are not accessible by tcpdump.An example of such routine is `kfree_skb` which is called when kernel frees (drops) packet.
[![Go Reference](https://pkg.go.dev/badge/github.com/yandex-cloud/skbtrace.svg)](https://pkg.go.dev/github.com/yandex-cloud/skbtrace)
#### Usage
For the usage examples see [Usage](USAGE.md)
For full documentation see [skbtrace(1)](docs/skbtrace.md)
#### Building
```bash
go get -u github.com/yandex-cloud/skbtrace
go build -o skbtrace
```or
```bash
git clone github.com/yandex-cloud/skbtrace
make build
```#### Requirements
`skbtrace` is tested with Linux Kernel 4.14 and BPFTrace 0.9.2.
#### Extending
`skbtrace` can be extended by:
- Adding extra shortcut commands and root command child while using one of the visitors
such as `DumpTracerCommand`.
- Extending builder with additional protocols, field and probe descriptions in `SetUp()` method of cli
dependencies structure.
- Or by simply contributing a patch (see [Contributing](CONTRIBUTING.md)).#### License
See [License](LICENSE.md)