The most relevant changes for this version are:
- Changing trace/open gadget to send absolute file path with symlink resolution in the events by @slashben in #1837
- Enrich new containers with ContainerImageName by @claudiamarcubina in #1682
- gadgets/run: Add JSON output by @burak-ok in #1817
- Use
cosignto sign all release assets by @eiffel-fl in #1280 - gadgets/prometheus: Add support for user space histograms by @mqasimsarfraz in #1864
Other changes are:
General Improvements
- add extra path for runc on talos by @matthyx in #1821
- socket enricher: support dual stack sockets by @alban in #1816
- Polish some code by @eiffel-fl in #1836
- pkg/prometheus: Implement timeout in test by @mauriciovasquezbernal in #1833
- pkg/prometheus: Move config to independent package by @mauriciovasquezbernal in #1845
- ig container image: docs and fixes for kubectl-debug and Docker Desktop on Windows by @alban in #1809
- ig: Switch to use container name from runtime and show runtime metadata in gadgets by @blanquicet in #1702
- pkg/gadgets: Align profile tcprtt eBPF code with upstream. by @eiffel-fl in #1848
- Add port filtering to
profile tcprttby @eiffel-fl in #1828 - trace/exec: add cwd field by @mauriciovasquezbernal in #1700
- Introduce initial version of CODEOWNERS by @mauriciovasquezbernal in #1855
- top/ebpf: Hide the runtime container name by @blanquicet in #1860
- Adding "/usr/local/bin/runc" to the list of potential runc paths by @slashben in #1867
- container images: add descriptions and other labels by @alban in #1857
- containerd and cri-o: Enrich initial containers with container image name by @claudiamarcubina in #1876
- Add env variable to specificy runc/runtime path by @eiffel-fl in #1880
- gadgets/run: Fix handling of --host parameter by @mauriciovasquezbernal in #1901
- gadgets/run: Remove unused field by @mauriciovasquezbernal in #1904
- go.mod: Use upstream cilium/ebpf. by @eiffel-fl in #1908
- Hide
ContainerImageNamecolumn by default by @claudiamarcubina in #1905 - design: Add containerized gadgets design doc by @mauriciovasquezbernal in #1856
- Docker-ig: Enrich containers with container image name by @claudiamarcubina in #1910
- experimental: Fix detection logic by @mauriciovasquezbernal in #1893
- tree-wide: Define style for C (ebpf) code by @mauriciovasquezbernal in #1933
Bug Fixes
- cmd/common/registry: fix
--helpfor gadgets without parser, fix--verboseby @flyth in #1839 - cmd: Fix json pretty output by @mauriciovasquezbernal in #1840
- Makefile: ig: stop on build error by @alban in #1844
- Move DNS trace latency calculation to BPF by @wedaly in #1846
- cmd/ig: Fix order and visible columns in list-containers command by @blanquicet in #1852
- container-collection: fix fd leak for initial containers by @alban in #1854
Documentation Improvements
- A few fixes to the architecture doc by @larssb in #1807
- docs: tcpdrop: listing similar tools by @alban in #1762
- CONTRIBUTING: Update by @mauriciovasquezbernal in #1824
- Update oomkill.md, fixed typo "perl" to "tail". by @guettli in #1823
- ig container image: add documentation by @alban in #1841
- docs: ig: update the columns for kubectl-debug by @alban in #1853
- docs: Fix prometheus.md formatting by @mqasimsarfraz in #1894
- docs: add examples how to run ig in a custom pod by @alban in #1887
Testing and Continue Integration
- pkg/gadgets: Add unit test for snapshot socket. by @eiffel-fl in #1815
- integration: Run snapshot socket test on AKS. by @eiffel-fl in #1820
- pkg/gadgets: Add unit test for trace signal. by @eiffel-fl in #1886
- pkg/gadgets: Polish trace signal unit test. by @eiffel-fl in #1898
- ci: Fix btfgen by @mauriciovasquezbernal in #1900
- ci: Use secrets through env variables when accessed in run blocks. by @eiffel-fl in #1903
- pkg/gadgets: Add timeout waiting for child process in trace signal unit test by @eiffel-fl in #1906
- Revert trace signal unit test by @eiffel-fl in #1909
- integration: Pass testing.T object to helper functions by @mauriciovasquezbernal in #1915
- pkg/gadgets: Add back unit test for trace signal. by @eiffel-fl in #1914
Statistics
This release adds 9929 new lines and removes 3156 among 362 files.
Inspektor Gadget is built on top of the following languages:
| Language | files | blank | comment | code |
|---|---|---|---|---|
| C/C++ Header | 43 | 33257 | 394 | 250294 |
| Go | 524 | 13080 | 13187 | 95936 |
| Markdown | 92 | 2153 | 0 | 7589 |
| SVG | 8 | 1 | 2 | 5177 |
| C | 37 | 1023 | 670 | 4517 |
| YAML | 72 | 125 | 371 | 3387 |
| Protocol Buffers | 2 | 181 | 786 | 733 |
| make | 15 | 145 | 62 | 590 |
| Bourne Shell | 25 | 123 | 197 | 385 |
| Dockerfile | 12 | 78 | 66 | 241 |
| JSON | 5 | 0 | 0 | 219 |
| Perl | 1 | 18 | 13 | 54 |
| Bourne Again Shell | 1 | 4 | 3 | 16 |
| -------- | -------- | -------- | -------- | -------- |
| SUM: | 837 | 50188 | 15751 | 369138 |
New Contributors
- @matthyx made their first contribution in #1821
- @larssb made their first contribution in #1807
- @guettli made their first contribution in #1823
- @slashben made their first contribution in #1837
Full Changelog: v0.18.0...v0.19.0