Parse Kafka protocol
Parse RocketMQ protocol
Output the results of watch command in JSON format
Output to stdout:
Output to file:
Support ipip packet parsing
This latency detail chart is derived from a request sent from the host1 namespace to the host2 namespace on the host below:
+-------------------+
| Host |
| |
| +-----------+ |
| | host1 | |
| | | |
| +-----------+ |
| | |
| | veth0 |
| | |
| +-----------+ |
| | internet | |
| | | |
| +-----------+ |
| | |
| | veth2 |
| | |
| +-----------+ |
| | host2 | |
| | | |
| +-----------+ |
| |
+-------------------+
Features
- feat: Support rocketMQ by @XmchxUp in #231
- feat: Support kafka protocol by @hengyoush in #271
- feat: support for parsing ipip packet by @hengyoush in #257
- feat: Add json-output params to watch command by @sologgfun in #235
- feat: add command-line options to set perf event buffer size by @mannkafai in #247
- feat: Introduce counters to count lost samples in
bpf/events
by @spencercjh in #254 - feat: new version detection by @Laitr0n in #256
- feat(protocol): introduce the concept of streams to prepare for future support of HTTP2 and Mongo by @hengyoush in #258
- feat: add an option to control whether to start gops for purpose of debugging by @hengyoush in #276
- feat: add options to control whether trace dev/socket/ssl events by @hengyoush in #277
- feat: support trace socket event for ipv6 by @hengyoush in #278
- feat: Introduce more flags (match by path prefix or regex expression) to filter HTTP records by @spencercjh in #220
- feat: introduce version cmd by @spencercjh in #234
- feat: Print osinfo when start failed by @hengyoush in #191
- feat: add system info logging when kyanos crash by @hengyoush in #191
- feat: add terminal color check by @hengyoush in #184
- feat(filter): support filter traffic by process name by @hengyoush in #153
Bug fix
- fix: use tracepoint instead of kprobe to trace skb_copy_datagram_iovec by @hengyoush in #243
- fix: fix mysql protcol parser array index out of range issue and gotls load failed issue by @hengyoush in #246
- fix(bpf/ssl): first HTTPS request on the server side might not be captured by @hengyoush in #259
- fix: add check for AttrDataMemberLoc when val is []uint8 by @hengyoush in #273
- fix: handle big syscall data (truncated) properly by @hengyoush in #274
- fix: fix memory leak by @hengyoush in #281
- fix: add rw lock to prevent concurrent map read write by @hengyoush in #198
- fix: supports container-id prefix matching with 12 or more characters by @XmchxUp in #210
- fix(stat): elapsed time is negative by @hengyoush in #213
- fix: add fallback logic for total time when dev in event missed in server side by @hengyoush in #232
- fix: ssl event at server side can't be captured correctly by @hengyoush in #236
- fix: handle MySQL null(/xfb) field correctly by @hengyoush in #239
- fix(bpf/gotls): fix #137 by @hengyoush in #167
- fix: Fix the potential out-of-bounds vulnerability in the slice withi… by @sologgfun in #171
- fix: output logs to file during loading by @hengyoush in #181
- fix: fix latency filter bug by @hengyoush in #182
- fix: fix #159 stuck when load bpf failed by @hengyoush in #183
- fix: fix #154 by @hengyoush in #155
- fix: #157 caught panic when input kyanos watch ssh by @hengyoush in #162
Others
- docs: add debug tips doc by @hengyoush in #240
- test(e2e): add e2e test for sendfile & server side https by @hengyoush in #264
- refactor: optimize logs by @hengyoush in #268
- refactor: change tcp seq type to uint32 by @hengyoush in #280
- docs: add faq docs by @hengyoush in #188
- docs: wrong url to download the init script by @spencercjh in #193
- chore: make
go list -m -json all
works to import the project by goland by @spencercjh in #194 - chore: ignore
.idea
dir by @spencercjh in #195 - chore: introduce an issues translator by @spencercjh in #202
- chore: introduce a new workflow to verify build script on multi platforms by @spencercjh in #196
- chore: init_env cleanup by @XmchxUp in #209
- docs: update FAQ by @XmchxUp in #211
- build: add debugging targets and improve Makefile structure by @Ghostbaby in #215
- refactor: remove fatal log by @hengyoush in #199
- docs: introduce
prettier
andmd-padding
to format all docs by @spencercjh in #221 - test: introduce a script to test flag
--comm
by @spencercjh in #222 - docs: add how to add a new protocol docs by @hengyoush in #223
- test: wait a longer time to ensure process exec event can be handled by @hengyoush in #238
- docs: improve docs highlights root privielge by @hengyoush in #163
- docs(pages): add compilation steps docs by @hengyoush in #141
New Contributors
- @spencercjh made their first contribution in #193
- @XmchxUp made their first contribution in #209
- @Ghostbaby made their first contribution in #215
- @sologgfun made their first contribution in #171
- @zquestz made their first contribution in #144
- @mannkafai made their first contribution in #247
- @Laitr0n made their first contribution in #256
Full Changelog: v1.4.0...v1.5.0-rc1