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