v0.5.0
Release Highlight
- Support experimental function graph tracing
Function Graph Tracing (Experimental)
Function graph tracing is a new tracing method similar to ftrace
's function_graph
tracer. It allows us to trace not only function calls, but also function returns. As a result, we can visualize the depth of the call like below. This feature is currently experimental. It can be removed or modified with breaking change. Please play around it and feel free to give us some feedback.
Note that it relies on a relatively new kernel feature (bpf_get_func_ip
helper), it only works for Linux v5.15 or newer.
$ sudo ipft -m 0xdeadbeef -t function_graph
<skip...>
26956966578343 000 ip_output() {
26956966579469 000 nf_hook_slow() {
26956966580830 000 selinux_ipv4_postroute() {
26956966582109 000 selinux_ip_postroute() {
26956966583280 000 }
26956966584417 000 }
26956966585569 000 }
26956966586827 000 ip_finish_output() {
26956966594966 000 __cgroup_bpf_run_filter_skb() {
26956966596126 000 }
26956966597257 000 __ip_finish_output() {
26956966598533 000 ip_finish_output2() {
26956966599826 000 dev_queue_xmit() {
26956966601079 000 __dev_queue_xmit() {
26956966602573 000 netdev_core_pick_tx() {
26956966603819 000 }
26956966605195 000 validate_xmit_skb_list() {
26956966606320 000 validate_xmit_skb() {
26956966607635 000 netif_skb_features() {
26956966608921 000 passthru_features_check() {
26956966610149 000 }
26956966611460 000 skb_network_protocol() {
26956966612565 000 }
26956966613636 000 }
26956966614933 000 skb_csum_hwoffload_help() {
26956966616047 000 }
26956966617349 000 validate_xmit_xfrm() {
26956966618506 000 }
26956966619576 000 }
26956966620746 000 }
26956966621909 000 dev_hard_start_xmit() {
26956966623503 000 skb_clone_tx_timestamp() {
26956966624695 000 }
26956966626115 000 skb_to_sgvec() {
26956966627231 000 __skb_to_sgvec() {
26956966628426 000 }
26956966629630 000 }
26956966631129 000 }
26956966632560 000 }
26956966633720 000 }
26956966634835 000 }
26956966635963 000 }
26956966637099 000 }
26956966638213 000 }