Skip to main content
The inspect command helps you discover which probes are available and compatible with Retis on your system. This is useful when planning your collection strategy or troubleshooting probe issues.

Usage

retis inspect [OPTIONS]

Options

--probe, -p
string
default:"*"
List all probes matching the pattern, or all probes if no pattern is given.Only probes compatible with Retis probing are returned. The pattern supports wildcards. If no probe type is given, ‘kprobe’ is used.Examples:
  • retis inspect -p - List all compatible probes
  • retis inspect -p 'tp:*' - List all compatible tracepoints
  • retis inspect -p 'kprobe:tcp_*' - List all tcp-related kprobes
--kconf
path
Path to kernel configuration file (e.g., /boot/config-6.3.8-200.fc38.x86_64).By default, Retis auto-detects the kernel configuration.

Examples

List All Compatible Probes

List all probes that Retis can use:
retis inspect -p
This performs a compatibility check for each probe, so it may take some time.

List Tracepoint Probes

Find all available tracepoint probes:
retis inspect -p 'tp:*'
Output example:
tp:net:net_dev_queue
tp:net:net_dev_start_xmit
tp:net:netif_receive_skb
tp:net:napi_gro_receive_entry
tp:skb:kfree_skb
tp:skb:consume_skb
Find all kprobes related to TCP:
retis inspect -p 'kprobe:tcp_*'
Output example:
kprobe:tcp_v4_rcv
kprobe:tcp_v4_connect
kprobe:tcp_v6_rcv
kprobe:tcp_v6_connect
kprobe:tcp_sendmsg
kprobe:tcp_recvmsg

Search for Specific Function

If you don’t specify a probe type, Retis searches both kprobes and tracepoints:
retis inspect -p 'ip6_output'
Output:
kprobe:ip6_output
tp:net:ip6_output

Use Cases

Planning Collection

Before starting a collection, inspect which probes are available for your target:
# Check UDP-related probes
retis inspect -p 'udp*'

# Then use them in collection
retis collect -p kprobe:udpv6_rcv -p kprobe:udp_rcv

Troubleshooting

If a probe fails to load during collection, use inspect to verify it exists and is compatible:
retis inspect -p 'kprobe:my_function'
If the probe doesn’t appear in the output, it either doesn’t exist or isn’t compatible with Retis collectors.

Discovering Tracepoints

Find tracepoints in specific subsystems:
# Network tracepoints
retis inspect -p 'tp:net:*'

# SKB tracepoints
retis inspect -p 'tp:skb:*'

# Netfilter tracepoints
retis inspect -p 'tp:nf:*'

How Compatibility Is Determined

Retis only lists probes that are compatible with its collectors. A probe is considered compatible if:
  1. It has parameters that collectors can extract (e.g., struct sk_buff *)
  2. The probe signature matches what collectors expect
  3. The necessary BTF (BPF Type Format) information is available
This filtering ensures you only see probes that will actually work with retis collect.

See Also

collect command

Use discovered probes in collection

Profiles

Pre-configured probe sets

Build docs developers (and LLMs) love