The section your link pointed to isn't on Inspektor Gadget's page any more, so we've brought you to the top.
Inspektor Gadget is a set of tools and framework for data collection and system inspection on Kubernetes clusters and Linux hosts using eBPFeBPFA Linux technology for running verified programs inside the kernel without changing its source. Tools use it to observe processes, enforce rules and process network traffic.
kubectl gadget deploy --drop-cap-sys-admin
ig image prune
ig image build -t mygadget
sudo ig run --oci-store-user mygadget
gpu-ebpf-bridge --mode=auto --poll-interval=500ms --idle-if-no-gpu --log-level=info
sudo gpu-ebpf-bridge --dump
gpu-ebpf-bridge --host-path=/host --symlink-nvidia-devs --nvml-library-path=/host/usr/lib64/libnvidia-ml.so.1 --mode=real
bridges:
gpu:
enabled: true
accessMode: hostpath
gpu-ebpf-bridge --dump
kubectl gadget run advise_networkpolicy:latest --policy-format cilium
helm upgrade --install gadget gadget/gadget --set resources.requests.cpu=100m --set resources.requests.memory=128Mi --set resources.limits.cpu=500m --set resources.limits.memory=512Mi
ig run trace_link
ig daemon --tls-insecure
ig run bpfstats --gadgets-only
cat my-gadget.yaml | ig run -f -
kubectl gadget undeploy
ig image import <path> --output json
ig run trace_exec --enrich-with-k8s-apiserver --kubeconfig ~/.kube/config
ig image build --builder-image-pull always -t myregistry/mygadget:latest .
ig run audit_seccomp --collect-ustack=true
ig run ghcr.io/inspektor-gadget/gadget/profile_qdisc_latency:latest
ig trace_exec --filter 'comm=foo\,bar'
ig trace dns --paths
ig run gadgets/fdpass
ig image build --verbose <path>
ig run <gadget-image> -f config.yaml
kubectl gadget run ghcr.io/inspektor-gadget/gadget/trace_bind:latest -n my-namespace
kubectl gadget run ghcr.io/inspektor-gadget/gadget/audit_seccomp:latest -n my-namespace
ig run --all-containers trace_sni
ig trace_exec --columns=pid,exe,upper_layer
ig image remove <image-name>
ig trace_mount
ig trace_signal
ig run --oci-image myregistry.com/mygadget:latest --pull IfNotPresent
ig gadgets run --output json /path/to/gadget
IG_RUNTIME_PATH=/usr/local/bin/runc ig gadgets run ...
ig profile tcprtt --port-filter '80,443'
kubectl gadget deploy
local-gadget run --runtime containerd
gadget run <gadget> --timeout 10s
Summary
Inspektor Gadget is an open-source framework for collecting eBPF-based telemetry and inspecting running workloads on Kubernetes clusters and Linux hosts, distributed under Apache 2.0 and GPLv2. It packages eBPF programs as OCIOCIOpen Container Initiative standard, maintained by the Linux Foundation, defining the image format and runtime spec that container tools share so images built once run anywhere OCI-compliant. images called Gadgets, which can be built, signed and pulled from a registry, and it runs as a CLI (ig), though it also supports client-server, API and embeddable Golang library modes. It automatically enriches raw kernel data with Kubernetes and container-runtime context, so filters and output can reference pods and containers rather than namespaces and PIDs, which makes it aimed at platform engineers and SRE teams running observability or security tooling on clusters rather than at end-user application developers. It sits in the eBPF-based container-security and observability space, alongside gadgets for tracing exec, file access, GPUGPUA graphics processing unit, a processor that performs many calculations in parallel. AI workloads use GPUs to speed up model training and inference. workloads and kernel module loading.
Inspektor Gadget is a set of tools and framework for data collection and system inspection on Kubernetes clusters and Linux hosts using eBPF
Which process actually opened, executed or touched a file inside a running container?
traces exec, open and file-access events at the kernel level and enriches each one with the pod, container and image it came from, rather than a raw PID and namespace
Which containers are loading kernel modules or attaching eBPF programs on this node?
traces module-load and BPF-link syscalls system-wide and reports each event against the container that triggered it, so unexpected loader activity can be attributed rather than left as a bare kernel log line
Which pods are being throttled or are pulling unusual GPU memory right now?
runs continuous profiling gadgets against CPU bandwidth throttling and CUDA memory/compute usage per container, so resource contention can be tied to a specific workload instead of a host-wide metric
What ports or network access would a new NetworkPolicy actually need to allow?
watches live traffic and generates a policy scoped by pod selector, so the rule reflects what the workload really talks to rather than a guess
Can I trust the Gadget images I'm about to run on my cluster?
verifies OCI image signatures from the command line, checking both cosign bundles and the legacy signature tag, before the image is pulled into a cluster
Which files are open across all processes on this host right now, and where do they actually resolve to?
takes a point-in-time snapshot of open files per process and resolves symlinked paths, giving the real file behind each open handle rather than the path an application requested
71 capabilities
· 2 backed by code, an API document or a real run
Built from Inspektor Gadget's releases, docs, README and our own runs.
“Seen” marks the month we first spotted a release the vendor didn't date.
Group names and tags are our labels.
+User-space stack tracingshippedCaptures and resolves user-space stack traces within eBPF gadgets, supporting custom symbolizers.10 releases · first seen Feb 2025▸
Shared capability: eBPF-based runtime detection
release
10 total
Adds OTel eBPF Profiler symbolizer to ustack for resolving interpreted-language (e.g. Python, JVM) stack frames in profiling output.
v0.52.0 · May 2026
· source
· release history
Adds a buildid field to ustack output to support client-side symbolization workflows.
v0.45.0 · Oct 2025
· source
· release history
Adds PIE (Position Independent Executable) support in the symbolizer, enabling accurate user-space stack symbolization for PIE binaries.
v0.45.0 · Oct 2025
· source
· release history
Adds generic collect-ustack parameter and templates for user-space stack collection.
v0.40.0 · May 2025
· source
· release history
Gadget stack parameters are renamed from print-*stack to collect-*stack; existing scripts or workflows using the old parameter names will break.
v0.39.0 · Apr 2025
· source
· release history
Renames stack-collection gadget params from print-*stack to collect-*stack.
v0.39.0 · Apr 2025
· source
· release history
+eBPF subsystem and operatorshippedProvides the foundational eBPF operator that loads BPF programs, manages map pinning and iteration, and caches BTF data to avoid redundant work at scale.7 releases · first seen May 2025▸
Shared capability: eBPF-based runtime detection
release
7 total
Adds support for ebpf.SockOps, ebpf.SkSKB, and ebpf.SkMsg eBPF program types in the eBPF operator.
v0.55.0 · Aug 2026
· source
· release history
eBPF operator supports map pinning and non-destructive map iteration.
v0.55.0 · Aug 2026
· source
· release history
eBPF operator now supports map pinning via LIBBPF_PIN_BY_NAME in gadget maps and non-destructive map iteration via iter/bpf_map_elem with GADGET_ITER_TARGET_MAP.
v0.55.0 · Aug 2026
· source
· release history
eBPF operator adds support for ebpf.SockOps, ebpf.SkSKB and ebpf.SkMsg program types.
v0.55.0 · Aug 2026
· source
· release history
Upgrades eBPF library to v0.22.0 with a user-provided BTF cache, reducing repeated BTF work overhead at scale.
v0.54.0 · Jul 2026
· source
· release history
Introduces a user-provided BTF cache in the eBPF subsystem (ebpf v0.22.0 upgrade), reducing repeated BTF processing overhead at scale.
v0.54.0 · Jul 2026
· source
· release history
+Kernel and eBPF internal tracingshippedTraces kernel module loading events, BPF link operations, and CFS bandwidth throttling to monitor low-level system and eBPF subsystem behavior.5 releases · 2 other sources · first seen Feb 2026▸
Shared capability: eBPF-based runtime detection
release
Adds new trace_link gadget for tracing BPF link operations.
v0.53.0 · Jun 2026
· source
· release history
Extends trace_init_module gadget with finit_module syscall support for broader kernel module load tracing.
v0.52.0 · May 2026
· source
· release history
New top_cpu_throttle gadget to detect and surface CFS bandwidth throttling per container/process.
v0.51.0 · Apr 2026
· source
· release history
New trace_init_module gadget to trace kernel module loading events.
v0.50.0 · Mar 2026
· source
· release history
New --gadgets-only flag for the bpfstats gadget filters output to show only Inspektor Gadget eBPF programs instead of all eBPF programs.
v0.49.0 · Feb 2026
· source
· release history
example
Trace BPF link creation/deletion events system-wide to audit eBPF program attachment activity.$ ig run trace_link
v0.53.0 · Jun 2026
· source
Filter bpfstats output to only gadget-owned eBPF programs, replicating the old default behavior after the breaking change.$ ig run bpfstats --gadgets-only
v0.49.0 · Feb 2026
· source
+GPU eBPF bridgeshippedRuns a daemon that polls NVIDIA GPU telemetry via NVML and publishes it into pinned BPF maps so gadgets can correlate GPU data with processes or devices.1 release · 2 other sources · first seen Aug 2026▸
Shared capability: eBPF-based runtime detection
release
gpu-ebpf-bridge userspace daemon publishes GPU telemetry through pinned BPF maps.
v0.55.0 · Aug 2026
· source
· release history
docs
Version: latest gpu-ebpf-bridge is a userspace daemon that polls GPU telemetry via NVML and publishes it through four bpffs-pinned BPF maps. Consumer eBPF gadgets can then join by PID or by device index at event emit time, in one hash lookup, without any inter-process communication with the bridge.
docs update · Aug 2026
· source
gpu-ebpf-bridge Deploy the gpu-ebpf-bridge daemon alongside Inspektor Gadget to expose per-device and per-process GPU telemetry to consumer gadgets.
docs update · Aug 2026
· source
+eBPF CO-RE and symbolization enhancementsshippedExpands eBPF gadget authoring with new helpers and improves user-space stack trace symbol display accuracy.2 releases · first seen May 2026▸
Shared capability: eBPF-based runtime detection
release
Improves user-space stack (ustack) symbol display: removes [N] index prefix and shows binary path with offset instead.
v0.53.0 · Jun 2026
· source
· release history
Adds CO-RE helpers for inode ctime and syscall access, expanding eBPF gadget authoring capabilities.
v0.52.0 · May 2026
· source
· release history
+Python 3.13 profiler supportshippedUpdates the OpenTelemetry eBPF profiler to support Python 3.13 TLS.1 release · first seen Jun 2026▸
Shared capability: eBPF-based runtime detection
Also counts toward: Scripting language support
release
Supports Python 3.13 TLS in the eBPF-based continuous profiler via updated otel-ebpf-profiler.
v0.53.0 · Jun 2026
· source
· release history
+CUDA GPU workload profilingshippedProvides a dedicated gadget for profiling CUDA GPU workloads using eBPF.1 release · first seen Apr 2026▸
Shared capability: eBPF-based runtime detection
release
New profile_cuda gadget for profiling CUDA GPU workloads with eBPF.
v0.51.0 · Apr 2026
· source
· release history
+Other / not yet classified64 featuresFeatures we have not matched to a capability yet. A suggested match is marked.▸
+Gadget output field changesshippedSeveral built-in gadgets have changed their output field names and formats: `top_process` CPU and Memory fields were renamed, and `snapshot_socket` now reports socket state as a human-readable string rather than a numeric enum.34 releases · 1 other source · first seen Nov 2021▸
Also counts toward: Command-line interface
release
34 total
top_process renamed its CPU and Memory fields to shorter names — pipelines or scripts referencing the old field names will break.
v0.57.0 · Oct 2026
· source
· release history
Updates snapshot_socket to report socket state as a human-readable string (e.g., ESTABLISHED, LISTEN) instead of a raw numeric enum.
v0.57.0 · Oct 2026
· source
· release history
top_process has renamed its CPU and Memory fields to shorter names, changing the output schema.
v0.57.0 · Oct 2026
· source
· release history
snapshot_socket now reports socket state as a human-readable string (e.g. ESTABLISHED, LISTEN) instead of a raw numeric enum — any downstream parsing of the numeric value will break.
v0.57.0 · Oct 2026
· source
· release history
Shortens CPU and Memory field names in top_process output to fit narrow terminals.
v0.57.0 · Oct 2026
· source
· release history
Adds from_rootfs field to trace_exec gadget to indicate whether an executed binary originates from the container root filesystem.
v0.48.0 · Jan 2026
· source
· release history
example
Reclaim disk space used by unreferenced blobs in the local OCI store.$ ig image prune
v0.57.0 · Oct 2026
· source
+Process and socket telemetryshippedCollects real-time data on running processes and open network sockets.26 releases · 1 other source · first seen Sep 2021▸
Also counts toward: Command-line interface
release
26 total
Adds count annotation/parameter to top_process gadget for controlling the number of displayed processes.
v0.44.0 · Sep 2025
· source
· release history
Traceloop displays wider parameters column, improving readability of syscall arguments.
v0.43.0 · Aug 2025
· source
· release history
Adds tty field to process/exec event data.
v0.42.0 · Jul 2025
· source
· release history
Removes the --enable-bpfstats requirement from the bpfstats gadget — now always available.
v0.41.0 · Jun 2025
· source
· release history
New qdisc_latency tracer gadget profiles network queuing discipline latency.
v0.38.0 · Mar 2025
· source
· release history
Provides human-readable representations of bytes and time durations in gadget output.
v0.37.0 · Feb 2025
· source
· release history
example
Trace bind() syscalls across all pods in a namespace to detect unexpected port listeners.$ kubectl gadget run ghcr.io/inspektor-gadget/gadget/trace_bind:latest -n my-namespace
v0.31.0 · Aug 2024
· source
+OCI-based gadget packagingshippedEnables the packaging, distribution, and execution of gadgets as container images managed via OCI interfaces.16 releases · 2 other sources · first seen Apr 2023▸
Also counts toward: Command-line interface
release
16 total
Enables ig image build, ig image list, ig image inspect, ig image push, and ig image pull to run as a normal (non-root) user against a per-user OCI store at ~/.ig/oci-store.
v0.56.0 · Sep 2026
· source
· release history
Adds --oci-store-user flag to sudo ig run to read gadgets from the per-user OCI store at ~/.ig/oci-store (built rootlessly) without creating root-owned files in the user home directory.
v0.56.0 · Sep 2026
· source
· release history
Enables gadget authors to define custom parameters directly in gadget.yaml for OCI-packaged gadgets.
v0.44.0 · Sep 2025
· source
· release history
Makes the default OCI registry URL for image-based gadgets configurable at build time.
v0.43.0 · Aug 2025
· source
· release history
Ports profile_cpu to image-based gadget for OCI-distributable CPU profiling.
v0.41.0 · Jun 2025
· source
· release history
Converts traceloop to an image-based gadget, aligning it with the modern gadget distribution model.
v0.39.0 · Apr 2025
· source
· release history
docs
eBPF-based framework for data collection and system inspection on Kubernetes clusters and Linux hosts using OCI-packaged gadgets.
example
Run gadget in a container$ docker run -ti --rm --privileged -v /:/host --pid=host ghcr.io/inspektor-gadget/ig:latest run trace_open:latest
+Process execution tracingshippedTraces every process execution on the node and captures the full argument list by reading directly from the new process's memory.13 releases · 1 other source · first seen Sep 2021▸
release
13 total
Improves trace_exec to read process arguments from the new process address space, capturing more accurate argv data for executed processes.
v0.54.0 · Jul 2026
· source
· release history
Improves trace_exec to read process arguments from the new process address space, yielding more accurate exec argument capture.
v0.54.0 · Jul 2026
· source
· release history
Adds execveat syscall support to trace_exec gadgets, covering exec-via-file-descriptor paths missed by execve alone.
v0.37.0 · Feb 2025
· source
· release history
Adds file field to trace exec to capture the interpreter path for script executions.
v0.36.0 · Jan 2025
· source
· release history
Expands exec argument capture to support up to 256 bytes per argument.
v0.35.0 · Dec 2024
· source
· release history
Enables CO-RE (Compile Once, Run Everywhere) as the default BPF backend for gadgets.
v0.21.0 · Oct 2023
· source
· release history
docs
ig run trace_exec:latest ghcr.io/inspektor-gadget/ig -- ig run trace_exec:latest # ig run trace_exec:latest
seen Aug 2026
· source
+Network connection monitoringshippedCaptures and visualizes active network connections and traffic patterns.14 releases · first seen Aug 2022▸
release
14 total
Introduces generic packet filters and a new tcpdump gadget for packet-level capture and filtering via eBPF.
v0.45.0 · Oct 2025
· source
· release history
Adds accept-only parameter to trace_tcp to filter captured events to accepted connections only.
v0.42.0 · Jul 2025
· source
· release history
Adds syscall filtering support (ported to image-based gadget framework).
v0.41.0 · Jun 2025
· source
· release history
Adds --failed-only option to trace_tcp to surface only failed TCP connections.
v0.37.0 · Feb 2025
· source
· release history
Merges trace_tcpconnect into trace_tcp, unifying TCP connection tracing under a single gadget.
v0.37.0 · Feb 2025
· source
· release history
New profile_tcprtt gadget profiles TCP round-trip times per connection.
v0.33.0 · Oct 2024
· source
· release history
+DaemonSet resource managementshippedExposes Helm chart values for setting CPU and memory requests and limits on the DaemonSet so deployments satisfy cluster resource quotas and admission policies.10 releases · 2 other sources · first seen Jan 2023▸
release
10 total
Enables CPU and memory requests and limits for the Inspektor Gadget DaemonSet via the Helm chart resources field, so deployments fit within cluster resource quotas.
v0.54.0 · Jul 2026
· source
· release history
Enables CPU and memory requests and limits for the Inspektor Gadget DaemonSet via the resources key in the Helm chart values.yaml.
v0.54.0 · Jul 2026
· source
· release history
Adds gadgetConfigMaps support to the Helm charts, enabling configuration via Kubernetes ConfigMaps.
v0.52.0 · May 2026
· source
· release history
Helm chart now supports configuring hostPID and hostNetwork for the DaemonSet.
v0.51.0 · Apr 2026
· source
· release history
Adds Helm imagePullSecrets support for the DaemonSet image, enabling deployments from private registries.
v0.43.0 · Aug 2025
· source
· release history
Supports extra environment variables for the DaemonSet via Helm charts.
v0.42.0 · Jul 2025
· source
· release history
example
Cap Inspektor Gadget DaemonSet resource usage to fit within cluster quotas during Helm install or upgrade.$ helm upgrade --install inspektor-gadget inspektor-gadget/inspektor-gadget --set resources.requests.cpu=100m --set resources.requests.memory=128Mi --set resources.limits.cpu=500m --set…
v0.54.0 · Jul 2026
· source
Constrain Inspektor Gadget DaemonSet resource usage at deploy time to satisfy admission policies or resource quotas.$ helm upgrade --install gadget gadget/gadget --set resources.requests.cpu=100m --set resources.requests.memory=128Mi --set resources.limits.cpu=500m --set resources.limits.memory=512Mi
v0.54.0 · Jul 2026
· source
+DNS monitoringshippedCaptures DNS requests to monitor domain name resolution activity.9 releases · 1 other source · first seen Sep 2021▸
release
9 total
Adds nameserver field to trace_dns output for tracking which DNS server handled each query.
v0.41.0 · Jun 2025
· source
· release history
Supports DNS tracing over TCP (without packet reassembly) in trace_dns.
v0.38.0 · Mar 2025
· source
· release history
Adds additional DNS metadata fields to DNS trace output.
v0.37.0 · Feb 2025
· source
· release history
Adds cwd and exepath fields to trace_dns via the --paths flag for richer process context on DNS events.
v0.36.0 · Jan 2025
· source
· release history
Ports trace_dns to image-based gadget.
v0.31.0 · Aug 2024
· source
· release history
Adds NumAnswers and Addresses fields to DNS trace events for richer network context
v0.15.0 · Apr 2023
· source
· release history
example
Capture DNS queries with working directory and executable path to attribute queries to specific scripts or binaries.$ ig trace dns --paths
v0.36.0 · Jan 2025
· source
+Process signal and OOM tracingshippedTraces signals received by processes and OOM kill events.8 releases · 2 other sources · first seen Apr 2022▸
Also counts toward: Command-line interface
release
8 total
Publishes OCI container config as a string in container-collection events.
v0.41.0 · Jun 2025
· source
· release history
Adds ls and rm aliases for ig image list and ig image remove.
v0.40.0 · May 2025
· source
· release history
Adds --builder-image-pull flag to ig image build to control builder image pull behavior.
v0.40.0 · May 2025
· source
· release history
The ebpf-builder image is renamed to gadget-builder; any references to ebpf-builder in build scripts or configs must be updated.
v0.40.0 · May 2025
· source
· release history
Extends inspect command with eBPF and WASM extra info display.
v0.39.0 · Apr 2025
· source
· release history
New trace_signal gadget for tracing signal handling events
v0.24.0 · Jan 2024
· source
· release history
example
Build a custom gadget image and control how the builder image is pulled (e.g., always pull the latest builder in CI).$ ig image build --builder-image-pull always -t myregistry/mygadget:latest .
v0.40.0 · May 2025
· source
Capture signal delivery events to debug process behavior or security policies$ ig trace_signal
v0.24.0 · Jan 2024
· source
+Gadget image managementverifiedManages OCI-based gadget images including building, listing, removing, and inspecting via CLI commands.6 releases · 3 other sources · first seen May 2025▸
Also counts toward: Command-line interface
release
Adds ig image prune command to reclaim blob disk space in the OCI local store.
v0.57.0 · Oct 2026
· source
· release history
snapshot_socket now reports socket state as a human-readable string (e.g., ESTABLISHED, LISTEN) instead of a raw numeric enum.
v0.57.0 · Oct 2026
· source
· release history
Rootless ig image build/list/inspect/push/pull commands store artifacts in the per-user OCI directory ~/.ig/oci-store instead of the default system store.
v0.56.0 · Sep 2026
· source
· release history
Adds ls and rm aliases for ig image list and ig image remove.
v0.40.0 · May 2025
· source
· release history
Adds --builder-image-pull flag to ig image build to control builder image pull behavior.
v0.40.0 · May 2025
· source
· release history
The ebpf-builder image is renamed to gadget-builder; any references to ebpf-builder in build scripts or configs must be updated.
v0.40.0 · May 2025
· source
· release history
docs
Image store location Gadget images are stored in an OCI store whose location depends on the user: /var/lib/ig/oci-store root ~/.ig/oci-store otherwise. A gadget built as your user is therefore not visible to sudo ig image list All subcommands can be run without root . Only ig run needs it, to load eBPF programs.
docs update · Sep 2026
· source
command line
--oci-store-user — Use user OCI store (~/.ig/oci-store) instead of system-wide store (/var/lib/ig/oci-store)
v0.56.0 · Sep 2026
· command-line history
example
Build a custom gadget image and control how the builder image is pulled (e.g., always pull the latest builder in CI).$ ig image build --builder-image-pull always -t myregistry/mygadget:latest .
v0.40.0 · May 2025
· source
+Network policy advisingshippedWatches real cluster traffic and generates Kubernetes or Cilium NetworkPolicy manifests that can be applied directly to enforce least-privilege network access.7 releases · 2 other sources · first seen Sep 2021▸
release
7 total
Improves advise_networkpolicy to exclude peers that cannot be reliably mapped to a pod (e.g. host-network pods) from generated rules and annotates them instead of producing incorrect policies.
v0.57.0 · Oct 2026
· source
· release history
Adds --policy-format cilium flag to advise_networkpolicy to generate Cilium NetworkPolicy resources alongside existing Kubernetes NetworkPolicy output.
v0.54.0 · Jul 2026
· source
· release history
Adds --policy-format cilium option to advise_networkpolicy, enabling generation of Cilium NetworkPolicy resources in addition to the existing Kubernetes NetworkPolicy output.
v0.54.0 · Jul 2026
· source
· release history
Network policy generator operator (op/generate_networkpolicy) now uses podSelector for Services, improving generated policy accuracy.
v0.51.0 · Apr 2026
· source
· release history
Ports advise_networkpolicy to image-based gadget, enabling OCI-distributed network policy recommendations.
v0.41.0 · Jun 2025
· source
· release history
Adds bpftrace gadget support for eBPF scripting via the CLI
v0.16.0 · May 2023
· source
· release history
docs
Limitations The gadget ignores the following non-identity pod labels when generating policy selectors: controller-revision-hash pod-template-generation pod-template-hash topology.kubernetes.io/region topology.kubernetes.io/zone failure-domain.beta.kubernetes.io/region failure-domain.beta.kubernetes.io/zone
seen Aug 2026
· source
example
Generate a Cilium-native NetworkPolicy by observing live traffic, ready to apply directly to a Cilium-managed cluster.$ kubectl gadget run advise_networkpolicy:latest --policy-format cilium
v0.54.0 · Jul 2026
· source
+LSM event tracingshippedCaptures and reports Linux Security Module events for security policy monitoring.8 releases · 1 other source · first seen May 2024▸
Also counts toward: Command-line interface
release
8 total
Adds ig image verify command to verify gadget image signatures from the CLI.
v0.47.0 · Dec 2025
· source
· release history
Supports cosign bundle format for gadget image signature verification.
v0.47.0 · Dec 2025
· source
· release history
Enables notation signature verification using a local store.
v0.46.0 · Nov 2025
· source
· release history
Adds Notation-based signature verification for gadget artifacts alongside the existing Cosign support.
v0.45.0 · Oct 2025
· source
· release history
Handles gadget signatures during image export and image import operations.
v0.42.0 · Jul 2025
· source
· release history
Caches gadget OCI signatures via ORAS to speed up repeated pulls.
v0.42.0 · Jul 2025
· source
· release history
example
Apply a gadget manifest piped from another command without writing it to disk first.$ cat my-gadget.yaml | ig run -f -
v0.47.0 · Dec 2025
· source
+Structured output formattingshippedAllows trace and process data to be exported in JSON, YAML, or pretty-printed formats.8 releases · 1 other source · first seen Feb 2023▸
Also counts toward: Command-line interface, JSON data export
release
8 total
Sets visibility controls on formatted/derived columns.
v0.42.0 · Jul 2025
· source
· release history
Adds JSON output mode to the image import command.
v0.42.0 · Jul 2025
· source
· release history
JSON output for image-based gadgets now nests process-related fields (comm, pid, tid, uid, gid, pcomm, mntns_id) under a proc leaf node; consumers must update their unmarshaling logic. Built-in gadgets under pkg/gadgets/ are not affected.
v0.35.0 · Dec 2024
· source
· release history
Enhances version command output with JSON format support.
v0.35.0 · Dec 2024
· source
· release history
image list command now supports JSON output.
v0.29.0 · Jun 2024
· source
· release history
Add signal formatter by @mauriciovasquezbernal in https://github.com/inspektor-gadget/inspektor-gadget/pull/2630
v0.28.0 · May 2024
· source
· release history
example
Import a gadget image and get machine-parseable JSON output for scripting or CI pipelines.$ ig image import <path> --output json
v0.42.0 · Jul 2025
· source
+WebAssembly gadget executionshippedEnables loading and executing gadgets written in WebAssembly within the image-based gadget framework.9 releases · first seen Jul 2024▸
Also counts toward: Command-line interface
release
9 total
Adds Rust WASM bindings, enabling gadget authors to write gadgets in Rust targeting the WASM API.
v0.42.0 · Jul 2025
· source
· release history
WASM operator now uses a cache to significantly speed up gadget execution.
v0.40.0 · May 2025
· source
· release history
WASM gadget layer switches from TinyGo to Go 1.24, enabling full Go standard library support in WASM gadgets.
v0.39.0 · Apr 2025
· source
· release history
Adds WASM API support for array and hash map types.
v0.37.0 · Feb 2025
· source
· release history
Adds WASM API functions to interact with perf buffers.
v0.37.0 · Feb 2025
· source
· release history
Adds Unreference (formerly SetRequested) and AddTags methods to the WASM API for datasource and field accessor control.
v0.35.0 · Dec 2024
· source
· release history
+Reduced-privilege deployment modeshippedAllows the DaemonSet and local `ig run` to operate without `CAP_SYS_ADMIN` by relying on `CAP_BPF`, `CAP_PERFMON`, and `CAP_SYS_PTRACE`, switching container detection to podinformer/NRI-based hooks instead of fanotify.7 releases · 1 other source · first seen May 2020▸
Also counts toward: Command-line interface
release
7 total
Enables rootless ig run requiring only cap_bpf, cap_perfmon, and cap_sys_ptrace — without CAP_SYS_ADMIN; falls back to reporting events from already-running containers when fanotify-based enrichment is unavailable.
v0.57.0 · Oct 2026
· source
· release history
Adds --drop-cap-sys-admin flag to kubectl-gadget deploy to drop CAP_SYS_ADMIN and rely on CAP_BPF and CAP_PERFMON instead, disabling fanotify-based container detection and switching to a non-fanotify hook mode (podinformer/nri/crio).︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v0.57.0 · Oct 2026
· source
· release history
Adds --drop-cap-sys-admin flag to kubectl-gadget deploy to enable reduced-privilege gadget deployment in Kubernetes.
v0.57.0 · Oct 2026
· source
· release history
Enables rootless ig run, allowing gadgets to operate without root or CAP_SYS_ADMIN (requiring only cap_bpf, cap_perfmon, and cap_sys_ptrace).
v0.57.0 · Oct 2026
· source
· release history
The --allowed-digests and --allowed-registries flags are replaced by --allowed-gadgets; existing invocations using those flags will break.
v0.31.0 · Aug 2024
· source
· release history
Adds support for the containerd runtime
v0.2.0 · Jul 2020
· source
· release history
example
Deploy the Inspektor Gadget DaemonSet to a cluster without granting CAP_SYS_ADMIN, accepting the trade-off of podinformer/NRI-based container detection instead of fanotify.$ kubectl gadget deploy --drop-cap-sys-admin
v0.57.0 · Oct 2026
· source
+Headless gadget execution and managementshippedEnables running gadgets and the cyber tooling itself without a terminal or UI, supporting headless Kubernetes deployments and background service operation.4 releases · 2 other sources · first seen Oct 2024▸
Also counts toward: Kubernetes-native deployment
release
kubectl-gadget requests are now authenticated via TokenReview and scoped to namespaces by SubjectAccessReview when Kubernetes multi-tenancy is enabled.
v0.56.0 · Sep 2026
· source
· release history
Adds experimental Kubernetes multi-tenancy mode: authenticates every kubectl-gadget request via TokenReview and restricts gadgets to RBAC-authorized namespaces using SubjectAccessReview, enforced in the gadget service via KubeManager.
v0.56.0 · Sep 2026
· source
· release history
Introduces headless mode for Kubernetes deployments, enabling Inspektor Gadget to run without a dedicated UI/CLI consumer.
v0.34.0 · Nov 2024
· source
· release history
Introduces GadgetInstanceManager to run gadgets headless (without a terminal/UI).
v0.33.0 · Oct 2024
· source
· release history
example
Run gadget remotely via gadgetctl$ gadgetctl run trace_open:latest --remote-address=tcp://$IP:1234
Run gadget via kubectl node debug$ kubectl debug --profile=sysadmin node/minikube-docker -ti --image=ghcr.io/inspektor-gadget/ig:latest -- ig run trace_open:latest
+OpenTelemetry profiles supportshippedExports profiling data — including Python stack traces with duplicate-stack aggregation — as OpenTelemetry profiling signals so they can flow into any compatible backend.6 releases · first seen Jan 2025▸
release
Enables OTel/Python stack symbolization for perf_event-based gadgets (e.g. profile_cpu), including aggregation of identical stacks.
v0.55.0 · Aug 2026
· source
· release history
perf_event-based gadgets can now symbolize OTel/Python stacks.
v0.55.0 · Aug 2026
· source
· release history
Adds support for profile names in OpenTelemetry profiles (otel-profiles).
v0.54.0 · Jul 2026
· source
· release history
Adds support for profile name in OpenTelemetry profiles operator.
v0.54.0 · Jul 2026
· source
· release history
Adds service name metadata to OpenTelemetry profiles output.
v0.52.0 · May 2026
· source
· release history
Allows configuring otel-metrics via Helm charts for Kubernetes deployments.
v0.36.0 · Jan 2025
· source
· release history
+Gadget pipeline operatorsshippedEnables data transformation and logic within gadget pipelines using built-in operators like 'env' and 'otel'.6 releases · first seen Mar 2025▸
release
Introduces a logs operator enabling log-stream integration within the gadget pipeline.
v0.51.0 · Apr 2026
· source
· release history
Appends sort fields when the same datasource is specified multiple times in the sort operator.
v0.47.0 · Dec 2025
· source
· release history
Renames snapshotters to iters and makes them repeatable, enabling periodic re-execution of snapshot-style gadgets.
v0.46.0 · Nov 2025
· source
· release history
Supports runtime/Kubernetes filtering in localmanager and kubemanager, enabling more granular gadget targeting.
v0.45.0 · Oct 2025
· source
· release history
New env operator enables creating new data fields from environment variables in gadget pipelines.
v0.38.0 · Mar 2025
· source
· release history
Allows overriding OpenTelemetry export key/name via the otel operator.
v0.38.0 · Mar 2025
· source
· release history
+Core BPF supportshippedImplements CO-RE (Compile Once, Run Everywhere) as the default backend for better kernel compatibility and reduces reliance on BCC.6 releases · first seen Dec 2021▸
release
Updates vmlinux.h to Linux 6.15.5, extending eBPF CO-RE support for the latest kernel.
v0.43.0 · Aug 2025
· source
· release history
Uses CO-RE in socketenricher, making it resilient to kernel struct layout changes.
v0.42.0 · Jul 2025
· source
· release history
Updates syscall table to Linux v6.13.0.
v0.39.0 · Apr 2025
· source
· release history
Enables CO-RE (Compile Once, Run Everywhere) as the default BPF backend for gadgets.
v0.21.0 · Oct 2023
· source
· release history
The default BPF backend is now core; the previous default bcc must be explicitly selected if required.
v0.21.0 · Oct 2023
· source
· release history
Integrates with BTFGen for extended compatibility with older kernels
v0.4.2 · Dec 2021
· source
· release history
+Gadget filteringshippedProvides uniform field-based and syscall-level filtering capabilities across trace and networking gadgets.5 releases · 1 other source · first seen Jan 2025▸
release
Introduces filter expressions based on the Expr language in the filter operator, enabling richer, programmable event filtering.
v0.43.0 · Aug 2025
· source
· release history
Adds syscall filtering support (ported to image-based gadget framework).
v0.41.0 · Jun 2025
· source
· release history
Adds uniform filtering support for networking gadgets.
v0.39.0 · Apr 2025
· source
· release history
Allows escaping commas in filter expressions, enabling filtering on values that contain commas.
v0.37.0 · Feb 2025
· source
· release history
Introduces uniform filtering across gadgets for consistent field-based event filtering.
v0.36.0 · Jan 2025
· source
· release history
example
Filter trace_exec output on a value containing a comma by escaping it, so the filter parser treats it as a single value.$ ig trace_exec --filter 'comm=foo\,bar'
v0.37.0 · Feb 2025
· source
+Mount point tracingshippedCaptures mount and umount system calls to monitor filesystem changes.4 releases · 1 other source · first seen Nov 2021▸
release
Reports network namespace in the trace_mount gadget output.
v0.56.0 · Sep 2026
· source
· release history
New trace_mount gadget for monitoring mount syscalls
v0.24.0 · Jan 2024
· source
· release history
local-gadget now supports tracing mount operations via trace mount.
v0.11.0 · Dec 2022
· source
· release history
Adds mountsnoop gadget to trace mount() and umount() syscalls
v0.4.0 · Nov 2021
· source
· release history
example
Monitor all mount operations across the cluster for policy enforcement or auditing$ ig trace_mount
v0.24.0 · Jan 2024
· source
+OpenTelemetry integrationshippedExports telemetry data and metrics to OpenTelemetry-compatible backends for centralized observability.5 releases · first seen Jan 2025▸
release
Adds OpenTelemetry profiles support to exporters, enabling profiling data to be shipped via the OTel pipeline.
v0.49.0 · Feb 2026
· source
· release history
Adds metricname annotation support to the otel-metrics operator for custom metric naming.
v0.47.0 · Dec 2025
· source
· release history
Allows overriding OpenTelemetry export key/name via the otel operator.
v0.38.0 · Mar 2025
· source
· release history
Allows configuring otel-metrics via Helm charts for Kubernetes deployments.
v0.36.0 · Jan 2025
· source
· release history
Adds OpenTelemetry logs (otel-logs) support for exporting gadget output to OTel-compatible backends.
v0.36.0 · Jan 2025
· source
· release history
+Gadget image inspectionshippedProvides an inspect subcommand to examine gadget images and their contents.5 releases · first seen Oct 2024▸
Also counts toward: Command-line interface
release
All built-in gadgets have been removed treewide; gadgets must now be referenced as OCI images.
v0.42.0 · Jul 2025
· source
· release history
Improves inspect command UX with datasources, fields listing, and consistent sorting.
v0.41.0 · Jun 2025
· source
· release history
Adds inspect command to kubectl-gadget with OCI metadata, mermaid graphs, and eBPF relocation details.
v0.40.0 · May 2025
· source
· release history
Makes inspect pull policy and image verification configurable via new flags.
v0.39.0 · Apr 2025
· source
· release history
Adds inspect subcommand to the image command for examining gadget images.
v0.33.0 · Oct 2024
· source
· release history
+Seccomp violation auditingshippedAudits and reports processes blocked by seccomp policies to identify restricted syscalls.3 releases · 2 other sources · first seen Aug 2024▸
release
Implements advise_seccomp as an image-based gadget.
v0.40.0 · May 2025
· source
· release history
Adds user-space stack capture to gadget audit_seccomp via the collect-ustack parameter.
v0.39.0 · Apr 2025
· source
· release history
Adds audit_seccomp gadget for auditing seccomp policy violations.
v0.31.0 · Aug 2024
· source
· release history
example
Capture user-space call stacks alongside seccomp audit events to identify which code paths trigger policy violations.$ ig run audit_seccomp --collect-ustack=true
v0.39.0 · Apr 2025
· source
Audit seccomp policy violations across containers to identify syscalls being blocked.$ kubectl gadget run ghcr.io/inspektor-gadget/gadget/audit_seccomp:latest -n my-namespace
v0.31.0 · Aug 2024
· source
+SBOM signing and distributionshippedSigns and distributes SBOMs as separate OCI artifacts rather than embedding them in the image index, keeping the image clean while preserving verifiable provenance.3 releases · 1 other source · first seen Jul 2026▸
Also counts toward: Command-line interface
release
Adds ig image prune command to reclaim blob disk space from unreferenced manifests in the local OCI store.
v0.57.0 · Oct 2026
· source
· release history
Prunes unreferenced manifests from the local store's index.json automatically after pulls, builds, and removals, preventing unbounded index growth.
v0.57.0 · Oct 2026
· source
· release history
SBOMs are removed from the image index and signed separately, which may break workflows that retrieve SBOMs directly from the image index.
v0.54.0 · Jul 2026
· source
· release history
example
Reclaim local disk space accumulated by superseded gadget image blobs after repeated pulls or builds.$ ig image prune
v0.57.0 · Oct 2026
· source
+Kubelet endpoint auto-detection improvementsshippedUpdates container runtime socket detection to use the kubelet's /configz endpoint over HTTPS, changing RBAC requirements from nodes/proxy to nodes/configz.4 releases · first seen Sep 2026▸
release
The deployment no longer uses the broad nodes/proxy permission; it now requires nodes/configz (Kubernetes v1.33+).
v0.56.0 · Sep 2026
· source
· release history
Switches container runtime socket auto-detection to use the kubelet's /configz endpoint over HTTPS, requiring only the nodes/configz RBAC permission instead of the broader nodes/proxy (Kubernetes v1.33+; earlier clusters fall back to the configured socket path).
v0.56.0 · Sep 2026
· source
· release history
Kubernetes deployments on v1.33+ now require the nodes/configz RBAC permission instead of nodes/proxy; clusters that granted only nodes/proxy must update their RBAC rules.
v0.56.0 · Sep 2026
· source
· release history
Container runtime socket auto-detection now requires nodes/configz access instead of nodes/proxy when talking to kubelet /configz via HTTPS on Kubernetes v1.33+.
v0.56.0 · Sep 2026
· source
· release history
+GPU telemetry gadgetsshippedProvides ready-made gadgets that surface per-device GPU metrics, per-process GPU usage, and GPU starvation events from those BPF maps in real time.1 release · 3 other sources · first seen Apr 2026▸
release
New CUDA memory metrics gadget for tracking GPU memory usage.
v0.51.0 · Apr 2026
· source
· release history
docs
gpu_top The gpu_top gadget reports real-time per-device GPU telemetry gpu_top_per_pid The gputopper_pid gadget reports per-process GPU usage from the trace_gpu_starvation The tracegpustarvation gadget detects GPU starvation: a process
docs update · Aug 2026
· source
Version: latest The gpu-ebpf-bridge daemon polls NVIDIA GPU telemetry via NVML and publishes it through four bpffs-pinned BPF maps that consumer gadgets read from.
docs update · Aug 2026
· source
gpu_top The gpu_top gadget reports real-time per-device GPU telemetry gpu_top_per_pid The gputopper_pid gadget reports per-process GPU usage from the 📄 trace_gpu_starvation The tracegpustarvation gadget detects GPU starvation: a process
seen Aug 2026
· source
+Telemetry polling configurationverifiedLets operators tune how frequently GPU telemetry is polled and where the BPF maps are pinned on the BPF filesystem.2 releases · 2 other sources · first seen Nov 2024▸
Also counts toward: Command-line interface
release
Monitoring tooling now uses an OpenTelemetry metrics exporter.
v0.35.0 · Dec 2024
· source
· release history
Adds support for named metric exporters and OTLP-gRPC in the otel-metrics operator, enabling direct export to OpenTelemetry collectors.
v0.34.0 · Nov 2024
· source
· release history
command line
--poll-interval — How often to poll the telemetry source
v0.55.0 · Aug 2026
· command-line history
--pin-dir — bpffs directory under which to pin the maps
v0.55.0 · Aug 2026
· command-line history
+Daemon mode operationshippedAllows the tool to run as a background service for continuous monitoring and management of trace gadgets.3 releases · 1 other source · first seen Oct 2023▸
Also counts toward: Command-line interface
release
Adds --tls-insecure flag to ig daemon for insecure TLS connections.
v0.53.0 · Jun 2026
· source
· release history
Returns client version from kubectl-gadget even when the server is unreachable.
v0.37.0 · Feb 2025
· source
· release history
Adds daemon subcommand to ig CLI to run the gadget service in the background.
v0.21.0 · Oct 2023
· source
· release history
example
Start the ig daemon allowing insecure TLS connections, useful in lab environments without valid certificates.$ ig daemon --tls-insecure
v0.53.0 · Jun 2026
· source
+Custom runtime path supportshippedAllows the tool to use a specific runc binary path for container interactions.3 releases · 1 other source · first seen Aug 2023▸
release
Adds runc path detection for MicroK8s environments, enabling Inspektor Gadget to work on MicroK8s clusters.
v0.46.0 · Nov 2025
· source
· release history
Adds runc path support for k0s and Bottlerocket OS, expanding container runtime discovery.
v0.41.0 · Jun 2025
· source
· release history
Add env variable to specificy runc/runtime path
v0.19.0 · Aug 2023
· source
· release history
example
Run the gadget using a non-standard runc binary by setting the runtime path.$ IG_RUNTIME_PATH=/usr/local/bin/runc ig gadgets run ...
v0.19.0 · Aug 2023
· source
+Container lifecycle event monitoringshippedMonitors container creation and deletion events via trace gadgets.3 releases · 1 other source · first seen Jan 2023▸
release
Introduces PreCreateContainer events in the container hook lifecycle.
v0.42.0 · Jul 2025
· source
· release history
Enables tracing of cri-o container events when using the fanotify collector
v0.12.0 · Jan 2023
· source
· release history
Adds tracing of container deletion events in local-gadget
v0.12.0 · Jan 2023
· source
· release history
docs
The Podman API can find existing containers but does not notify us when new containers are created. Inspektor Gadget uses the fanotify+ebpf container hook to detect new containers, but this hook does not support rootless containers.
seen Sep 2026
· source
+Kubernetes endpoint metadata enrichmentshippedEnriches network events with Kubernetes endpoint metadata using the kubeipresolver operator.3 releases · 1 other source · first seen Nov 2024▸
Also counts toward: Command-line interface
release
Adds --kubeconfig option to ig for use with --enrich-with-k8s-apiserver.
v0.41.0 · Jun 2025
· source
· release history
KubeNameResolver now supports image-based gadgets.
v0.40.0 · May 2025
· source
· release history
Adds kubeipresolver operator for image-based gadgets, enriching network events with Kubernetes endpoint metadata.
v0.34.0 · Nov 2024
· source
· release history
example
Enrich ig events with Kubernetes API server metadata using a specific kubeconfig.$ ig run trace_exec --enrich-with-k8s-apiserver --kubeconfig ~/.kube/config
v0.41.0 · Jun 2025
· source
+Filesystem notification tracingshippedMonitors filesystem access by tracing inotify() and fanotify() system calls.4 releases · first seen Sep 2024▸
release
Adds support for Linux 5.4 in the fsnotify gadget.
v0.39.0 · Apr 2025
· source
· release history
Displays fsnotify external API masks as human-readable strings instead of raw integers.
v0.38.0 · Mar 2025
· source
· release history
Adds new fields to fsnotify data source for richer filesystem event data.
v0.33.0 · Oct 2024
· source
· release history
New fsnotify gadget traces calls to inotify() and fanotify() system calls.
v0.32.0 · Sep 2024
· source
· release history
+Block I/O performance analysisshippedTraces and analyzes block device input/output latency and throughput.4 releases · first seen Sep 2021▸
release
New top_blockio gadget shows top block I/O activity, similar to existing top gadgets.
v0.33.0 · Oct 2024
· source
· release history
Adds CO-RE support for profile cpu, trace tcp, profile block-io, and trace capabilities gadgets.
v0.6.0 · Jun 2022
· source
· release history
fanotify mode supports initial containers and container termination
v0.3.1 · Oct 2021
· source
· release history
Adds biolatency gadget as a wrapper for the BCC biolatency tool (CRD only)
v0.3.0 · Sep 2021
· source
· release history
+Offline analysis modeshippedEnables running the tool on local files or environments without a connected Kubernetes cluster.2 releases · 2 other sources · first seen Nov 2021▸
Also counts toward: Command-line interface, Offline mode
release
Adds containerd and cri-o runtimes to the local-gadget command
v0.5.1 · Jun 2022
· source
· release history
Adds local-gadget mode to use Inspektor Gadget without a Kubernetes cluster
v0.4.0 · Nov 2021
· source
· release history
example
Run local-gadget with containerd runtime.$ local-gadget run --runtime containerd
v0.5.1 · Jun 2022
· source
Run trace_open gadget on Kubernetes$ kubectl gadget run trace_open:latest
+Rootless OCI gadget managementshippedAllows building, listing, and inspecting gadget images as a regular user without root privileges using a per-user OCI store.2 releases · 1 other source · first seen Sep 2026▸
Also counts toward: Command-line interface
release
ig image build, list, inspect, push, and pull now use a per-user OCI store at ~/.ig/oci-store instead of a root-owned store; gadgets previously built into the root store will not be visible to rootless ig image commands.
v0.56.0 · Sep 2026
· source
· release history
ig image build/list/inspect/push/pull defaults to a rootless per-user OCI store at ~/.ig/oci-store instead of the shared system store.
v0.56.0 · Sep 2026
· source
· release history
example
Store and share gadgets built as your regular user in ~/.ig/oci-store without needing sudo.$ ig image build -t my-gadget . && sudo ig run --oci-store-user <gadget>
v0.56.0 · Sep 2026
· source
+Helm chart labeling and configuration updatesshippedUpdates Helm charts to include Kubernetes recommended labels by default and support configuring hostPID, hostNetwork, and ConfigMaps.3 releases · first seen Jul 2025▸
Also counts toward: Kubernetes-native deployment
release
Adds gadgetConfigMaps support to the Helm charts, enabling configuration via Kubernetes ConfigMaps.
v0.52.0 · May 2026
· source
· release history
Helm charts now include Kubernetes recommended labels by default, improving resource discoverability and compatibility with standard tooling.
v0.48.0 · Jan 2026
· source
· release history
Adds a default gadget namespace to Helm charts.
v0.42.0 · Jul 2025
· source
· release history
+Container name filteringshippedEnables filtering trace output by specific container names in BCC tools.3 releases · first seen Jul 2020▸
Also counts toward: Command-line interface
release
Supports filtering container collection by image digests.
v0.50.0 · Mar 2026
· source
· release history
Supports exclusion filters and multiple values in container selectors, enabling finer-grained gadget targeting.
v0.48.0 · Jan 2026
· source
· release history
Adds --containername flag to bcc tools for filtering by container name
v0.2.0 · Jul 2020
· source
· release history
+Gadget runtime configuration from fileshippedAllows loading gadget runtime configuration from a file instead of passing many flags inline.2 releases · 1 other source · first seen Oct 2024▸
Also counts toward: Command-line interface
release
Allows -f - to apply a gadget manifest from stdin.
v0.47.0 · Dec 2025
· source
· release history
Adds -f flag to specify gadget runtime configuration from a file.
v0.33.0 · Oct 2024
· source
· release history
example
Load gadget runtime configuration from a file instead of passing many flags inline.$ ig run <gadget-image> -f config.yaml
v0.33.0 · Oct 2024
· source
+Gadget validation and configurationshippedProvides mechanisms for validating gadget parameters via annotations and managing runtime configurations.3 releases · first seen May 2025▸
release
Allows gadgets to specify default values for parameters in their metadata.
v0.42.0 · Jul 2025
· source
· release history
Allows escaping comma characters in string slice parameters for more expressive gadget configuration.
v0.41.0 · Jun 2025
· source
· release history
Introduces value.one-of annotation for gadget parameter validation.
v0.40.0 · May 2025
· source
· release history
+WASM gadget runtimeshippedProvides a WebAssembly-based execution environment for gadgets with access to kernel symbols and syscall information.3 releases · first seen Feb 2025▸
release
Adds getSyscallID() WASM host function to look up a syscall ID by name from guest gadgets.
v0.38.0 · Mar 2025
· source
· release history
Adds kallsymsSymbolExists WASM helper for runtime kernel symbol checks.
v0.37.0 · Feb 2025
· source
· release history
Adds WASM API functions to get syscall names and declarations from gadgets.
v0.37.0 · Feb 2025
· source
· release history
+Process binding event tracingshippedTraces bind system calls to monitor process network interface binding activity.2 releases · 1 other source · first seen Aug 2024▸
release
New fdpass gadget traces file-descriptor passing between processes.
v0.35.0 · Dec 2024
· source
· release history
Adds trace_bind gadget for tracing bind system calls.
v0.31.0 · Aug 2024
· source
· release history
example
Trace file-descriptor passing between processes (e.g. to audit privilege hand-off via SCM_RIGHTS).$ ig run gadgets/fdpass
v0.35.0 · Dec 2024
· source
+Network security profiling extensionsshippedExtends network monitoring with specific TCP drop and retransmission tracing capabilities.3 releases · first seen May 2023▸
Adds ig tcpretrans gadget to monitor TCP retransmissions
v0.16.0 · May 2023
· source
· release history
Adds ig trace tcpdrop gadget to monitor dropped TCP packets
v0.16.0 · May 2023
· source
· release history
+SNI network tracingshippedTraces Server Name Indication requests in TLS/SSL connections.2 releases · 1 other source · first seen Apr 2022▸
Also counts toward: Command-line interface
release
Adds trace_sni subcommand to the ig run command to capture SNI (Server Name Indication) fields from TLS handshakes
v0.25.0 · Feb 2024
· source
· release history
Adds kubectl gadget trace sni command to trace Server Name Indication requests
v0.5.0 · Apr 2022
· source
· release history
example
Capture SNI values from network traffic in a cluster for identifying outbound connections to specific domains.$ ig run --all-containers trace_sni
v0.25.0 · Feb 2024
· source
+Ldpreload hook modeshippedSupports distribution-specific injection mechanisms via ldpreload runc hooks.2 releases · 1 other source · first seen May 2020▸
release
Add env variable to specificy runc/runtime path
v0.19.0 · Aug 2023
· source
· release history
Introduces ldpreload runc hook mode for other distributions via PR #58
v0.1.0 · May 2020
· source
· release history
example
Run the gadget using a non-standard runc binary by setting the runtime path.$ IG_RUNTIME_PATH=/usr/local/bin/runc ig gadgets run ...
v0.19.0 · Aug 2023
· source
+CLI command timeout configurationshippedAllows users to define execution timeouts for trace commands via CLI flags.3 releases · first seen Jun 2022▸
Also counts toward: Command-line interface
release
Adds global flag --timeout to cmd/local-gadget to control command execution duration
v0.13.0 · Feb 2023
· source
· release history
cmd/local-gadget removes the interactive mode that was previously available.
v0.13.0 · Feb 2023
· source
· release history
Implements a timeout parameter for gadget operations
v0.5.1 · Jun 2022
· source
· release history
+Network security profilingshippedGenerates Seccomp policies based on captured syscalls and Kubernetes Security Profiles Operator integration.3 releases · first seen Sep 2021▸
Also counts toward: Command-line interface
release
New advise seccomp-profile subcommand in local-gadget to generate seccomp profiles
v0.12.0 · Jan 2023
· source
· release history
local-gadget adds audit seccomp gadget to audit seccomp profiles attached to containers.
v0.11.0 · Dec 2022
· source
· release history
Adds Seccomp Policy Advisor gadget that generates seccomp policies based on captured syscalls with Kubernetes Security Profiles Operator integration (CRD only)
v0.3.0 · Sep 2021
· source
· release history
+Kubernetes RBAC integrationshippedAuthenticates and scopes `kubectl-gadget` requests via TokenReview and SubjectAccessReview when multi-tenancy is enabled.2 releases · first seen Sep 2026▸
Also counts toward: Multi-tenant management, Role-based access control
release
kubectl-gadget requests are now authenticated via TokenReview and scoped to namespaces by SubjectAccessReview when Kubernetes multi-tenancy is enabled.
v0.56.0 · Sep 2026
· source
· release history
Adds experimental Kubernetes multi-tenancy mode: authenticates every kubectl-gadget request via TokenReview and restricts gadgets to RBAC-authorized namespaces using SubjectAccessReview, enforced in the gadget service via KubeManager.
v0.56.0 · Sep 2026
· source
· release history
+uProbes support for stripped Go binariesshippedEnables uprobes on stripped Go binaries by falling back to .gopclntab sections when the ELF symbol table is absent.2 releases · first seen Sep 2026▸
release
Extends uprobetracer to fall back to Go's .gopclntab section (including the Go 1.26+ .go.module format) when the ELF symbol table is absent, enabling uprobes on stripped Go binaries such as a production kubelet.
v0.56.0 · Sep 2026
· source
· release history
uprobetracer now attaches to stripped Go binaries by falling back to .gopclntab (including Go 1.26+ .go.module) when the ELF symbol table is absent.
v0.56.0 · Sep 2026
· source
· release history
+Trace display and configuration improvementsshippedEnhances trace execution by adding CLI flags for timeout, loop control, clear-screen mode, headless execution, and file-based gadget configuration.1 release · 1 other source · first seen Jun 2022▸
release
Enables clear-screen-before display mode for profile gadgets in the CLI, giving cleaner live output.
v0.48.0 · Jan 2026
· source
· release history
example
Limit gadget operation duration with the new timeout parameter.$ gadget run <gadget> --timeout 10s
v0.5.1 · Jun 2022
· source
+Network latency profilingshippedProfiles network queuing discipline (qdisc) latency to diagnose throughput bottlenecks in containerized environments.2 releases · first seen Feb 2025▸
release
New qdisc_latency tracer gadget profiles network queuing discipline latency.
v0.38.0 · Mar 2025
· source
· release history
Provides human-readable representations of bytes and time durations in gadget output.
v0.37.0 · Feb 2025
· source
· release history
+File descriptor passing tracingshippedTraces file descriptor passing between processes to audit privilege hand-off and resource sharing.1 release · 1 other source · first seen Dec 2024▸
release
New fdpass gadget traces file-descriptor passing between processes.
v0.35.0 · Dec 2024
· source
· release history
example
Trace file-descriptor passing between processes (e.g. to audit privilege hand-off via SCM_RIGHTS).$ ig run gadgets/fdpass
v0.35.0 · Dec 2024
· source
+Mutex and deadlock tracingshippedTraces mutex lock/unlock events and detects deadlocks by analyzing mutex wait graphs for process synchronization issues.2 releases · first seen Oct 2024▸
release
New deadlock gadget detects deadlocks by finding cycles in mutex wait directed graphs, with PID-based filtering and dead-process handling.
v0.35.0 · Dec 2024
· source
· release history
New trace_mutex gadget traces mutex lock/unlock events in running processes.
v0.33.0 · Oct 2024
· source
· release history
+macOS platform supportshippedProvides builds and compatibility for macOS operating systems.2 releases · first seen May 2020▸
release
Adds support for arm64 on both Linux and Darwin
v0.3.0 · Sep 2021
· source
· release history
+File descriptor state snapshottingshippedCaptures a point-in-time view of open files across processes to audit file descriptor states.1 release · first seen Jan 2026▸
release
New snapshot-file gadget captures a point-in-time view of open files across processes.
v0.48.0 · Jan 2026
· source
· release history
+Gadget instance status visibilityshippedExposes the runtime state of running gadget instances for management and debugging.1 release · first seen Nov 2025▸
release
Adds instance status support to gadget-service, enabling visibility into the state of running gadget instances.
v0.46.0 · Nov 2025
· source
· release history
+TTY activity snoopingshippedCaptures terminal activity through a dedicated gadget for monitoring TTY events.1 release · first seen Sep 2025▸
release
New ttysnoop gadget for snooping on TTY/terminal activity.
v0.44.0 · Sep 2025
· source
· release history
+Real-time process resource monitoringshippedProvides a dedicated gadget for real-time per-process CPU and memory monitoring.1 release · first seen Jun 2025▸
release
New top_process gadget via the process operator for real-time per-process resource monitoring.
v0.41.0 · Jun 2025
· source
· release history
+Tool observabilityshippedProvides internal metrics infrastructure for monitoring the cyber tool's own health and performance.1 release · first seen Jun 2025▸
release
Introduces internal metrics infrastructure for observability of Inspektor Gadget itself.
v0.41.0 · Jun 2025
· source
· release history
+Gadget execution event exportshippedEnables the export of gadget execution events as structured JSON for logging and downstream processing.1 other source · first seen Aug 2023▸
Also counts toward: JSON data export
example
Export gadget execution events as JSON for downstream processing or logging.$ ig gadgets run --output json /path/to/gadget
v0.19.0 · Aug 2023
· source
+Gadget performance benchmarkingshippedPublishes performance benchmark graphs in CI to track tool efficiency trends over time.1 release · first seen Apr 2023▸
release
Publishes gadget benchmark graphs in CI to track performance trends across releases
v0.15.0 · Apr 2023
· source
· release history
+High-precision timestampingshippedProvides nanosecond-precision timestamps for all trace events to improve temporal analysis accuracy.1 release · first seen Feb 2023▸
release
Events from all gadgets now include timestamps with nano-precision for higher temporal accuracy
v0.13.0 · Feb 2023
· source
· release history
+File I/O performance analysisshippedTraces file reads, writes, and fsync operations to identify slow file system activity.1 release · first seen Apr 2022▸
Also counts toward: Command-line interface
release
Adds kubectl gadget trace fsslower command to trace open, read, write and fsync operations slower than a threshold
v0.5.0 · Apr 2022
· source
· release history
+Kubernetes-native trace managementshippedManages trace execution lifecycle via a Kubernetes Custom Resource Definition (CRD).1 release · first seen Sep 2021▸
release
Adds programmatic trace control through a new Trace CRD
v0.3.0 · Sep 2021
· source
· release history
+Trace loop controlshippedAllows users to disable the automatic trace logging loop via CLI flags.1 release · first seen May 2020▸
release
Adds --disable-traceloop flag to disable the traceloop feature
v0.1.0 · May 2020
· source
· release history
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
View
Source
No command matches.
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Media
Videos from the release notes, newest first. They play right here.
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian time to a maintainer’s first reply
Nine scores for Inspektor Gadget, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Each score is 0–100 on a published rubric, derived from data this site already shows.
A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
Documentation quality — the release-notes rubric published on the analytics page, unchanged.
Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail Inspektor Gadget puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Issue, contributor and maintainer activity in inspektor-gadget/inspektor-gadget, 2023-10 – 2026-09,
as of 2026-09-25. Twelve-month figures first; the trend lines run
the whole window.
Contributors44−12 vs prior 12 months
Maintainers8+3 joined · −3 left, last 12 months
Bus factor4committers behind half the commits
Community-filed29%of issues opened, last 12 months
Median time to close100 daysfirst maintainer reply 11 days
Open backlog305of 1,228 issues ever filed
Issues opened / month2 · 0communitymaintainers
Open backlog305
Contributors / month6
Commits / month20
Stars2,927
Issue themes, last 12 months
bugs 2%
features 1%
docs 2%
other 95%
Counts from the project's public repository and git history; no individuals
are identified. Maintainers are the committers covering 80% of the last year's
commits. how we measure this
Libraries its release ships
What its latest release locks, checked against known advisories.
None of its release's images build from a lockfile we can read.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can
follow every release here.