Features
- Added iotracing AutoTracing capability
- Added general hardware failure detection (CPU, Memory, PCIe)
- Added MetaX GPU failure detection
- Added physical link detection support
- Added support for Amazon EKS deployment
- Added support for Aliyun ACK deployment
- Added dropwatch namespace cookie support
- Added container throttled_time metric
- Added compatibility with kubelet systemd cgroup driver
- Added automatic detection of kubelet cgroup driver type
- Added, optimized, and standardized the huatuo-bamai configuration file
- Added Github CI/CD automated testing
- Added unit testing, integration testing, and end-to-end testing
- Enhanced golangci-lint static code analysis rules
- Added daemonset YAML deployment files
- Added new Metric API interfaces
- Added compatibility support for 5.15.x kernel series
Bug Fixes & Improvements
- Optimized local storage format
- Optimized and refactored code in multiple modules
- Improved and enriched documentation at https://huatuo.tech/docs/
What's Changed
- feat: Add IO tracing functionality by @alahaiyo in #54
- feature: add-daemonsethuatuo-daemonset.minimal.yaml by @haipengzzz in #57
- iotracing: replace hardcoded register access with PT_REGS_PARM macros by @alahaiyo in #60
- case: support hardware failure detection by @redsky110 in #59
- bpf/ras: fix arm64 build error by @redsky110 in #61
- bpf/cgroup_css: support containerd by @yyrdl in #63
- iotracing: fix BPF verifier error: Arg#0 type PTR not supported by @alahaiyo in #67
- feat: add new counter metric func by @rea1shane in #68
- Submit a batch of code optimizations by @hao-lee in #72
- Makefile: add golangci-lint version check: by @huhong-web in #71
- Fix workflow error: Missing dependencies for golangci-lint by @huhong-web in #74
- core/docs/pkg: fix typos in codebase by @nashuiliang in #80
- build: update daemonset yaml by @fanzu8 in #77
- chore(docker): parse ES address from config in run.sh health check by @kongfei605 in #86
- ci: add Lint & Build by @fanzu8 in #88
- github: main language statistics ignore vendor files by @fanzu8 in #82
- build: fix docker run deps es and kubelet by @fanzu8 in #89
- ci: add check vendor by @fanzu8 in #90
- gitignore: remove vmlinux.h by @fanzu8 in #91
- fix: 'iotracing' not found by @fanzu8 in #92
- test: add log unit testcases by @liuchangyan in #97
- procfsutil: simplify HostnameByPid implementation by @ioworker0 in #98
- iotracing: refactor file path handling to support multiple directories by @sancppp in #99
- workflow: add OS Distro test by qemu by @fanzu8 in #101
- fix: FsSupported substring matching issue by @alahaiyo in #109
- test: add integration framework and sockstat test demo by @liuchangyan in #105
- test: extend unit testcases of filerotator by @liuchangyan in #107
- Fix format in README_CN.md by @black-desk in #111
- fix(utils/executil): fix issue110 get uncorrect container name by @huhong-web in #113
- ci(lint): add commits linter for pr check by @huhong-web in #119
- fix: docs: console links for quickstart by @fanzu8 in #122
- ci: refactor qemu env by @fanzu8 in #117
- test: add integration test(vmstat, netdev, tcp_memory, mountinfo, netstat) by @huhong-web in #124
- fix: lint check no effect by @fanzu8 in #127
- ci: disable check on arm64 due to slowness by @fanzu8 in #128
- fix: correct softirq_latency metric behavior by @avalonLZ in #130
- ci: upgrade golang to 1.24.0 by @fanzu8 in #129
- feat(core/events/dropwatch): show stack offsets instead of absolute addresses by @huhong-web in #131
- fix: procfs defaultPaths update error by @liuchangyan in #123
- test: add storage unit testcases by @liuchangyan in #132
- ci: add gcc dependency in workflows by @liuchangyan in #134
- test(internal/procfs/sysfs): add unit test and add DefaultNetClass for net_class by @huhong-web in #135
- feat(metax): add lib build and metrics by @liuchangyan in #133
- test(internal): add unit testing for procfs and utils(incomplete) by @huhong-web in #141
- ci: add nostatic process of bamai release by @liuchangyan in #140
- test(internal/utils/executil): add unit testing for exec by @huhong-web in #142
- docs: add MetaX GPU monitoring metrics by @liuchangyan in #144
- test: add unit testing for link down and storage/null by @huhong-web in #145
- feat: ci: add end to end test and refactor test by @fanzu8 in #148
- ci: add log check for integration by @fanzu8 in #149
- test: add unit testing of pkg and internal by @huhong-web in #150
- refactor: modify the variable name by @huhong-web in #151
- ci: qemu: adapt act (local run github workflow) by @fanzu8 in #153
- ci: qemu: install only if cmd does not exist by @fanzu8 in #154
- test: add unit testing and buf fixed by @huhong-web in #155
- test: lib: print if wait_until failed by @fanzu8 in #156
- fix: correct misspellings in identifiers, error messages, and log strings by @Avenger-285714 in #157
- fix: test: check log failed or wait timeout should exit by @fanzu8 in #159
- fix: test failed due to rename by @fanzu8 in #160
- docs: add integration tests description by @liuchangyan in #152
- fix(test): prevent process from becoming zombie by @huhong-web in #161
- feat: add unit test in VM and optimize the build by @fanzu8 in #162
- test: add unit testcases of internal bpf by @liuchangyan in #163
- fix(build): docker image build failed due to introduced mockery dependency by @fanzu8 in #166
New Contributors
- @alahaiyo made their first contribution in #54
- @rea1shane made their first contribution in #68
- @huhong-web made their first contribution in #71
- @nashuiliang made their first contribution in #80
- @kongfei605 made their first contribution in #86
- @ioworker0 made their first contribution in #98
- @sancppp made their first contribution in #99
- @black-desk made their first contribution in #111
- @avalonLZ made their first contribution in #130
- @Avenger-285714 made their first contribution in #157
Full Changelog: v2.1.0...v2.2.0