logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

gethostlatency.bt - Show latency for getaddrinfo/gethostbyname[2] calls. Uses bpftrace/eBPF.

Author

       Brendan Gregg

Description

       This traces and prints when getaddrinfo(), gethostbyname(), and gethostbyname2() are called, system wide,
       and  shows  the responsible PID and command name, latency of the call (duration) in milliseconds, and the
       host string.

       This tool can be useful for identifying DNS latency, by identifying which remote host name  lookups  were
       slow, and by how much.

       This  tool  currently  uses  dynamic  tracing  of  user-level  functions  and  registers,  and  may  need
       modifications to match your software and processor architecture.

       Since this uses BPF, only the root user can use this tool.

Examples

       Trace host lookups (getaddrinfo/gethostbyname[2]) system wide:
              # gethostlatency.bt

Fields

       TIME   Time of the command (HH:MM:SS).

       PID    Process ID of the client performing the call.

       COMM   Process (command) name of the client performing the call.

       LATms  Latency of the call, in milliseconds.

       HOST   Host name string: the target of the lookup.

Name

       gethostlatency.bt - Show latency for getaddrinfo/gethostbyname[2] calls. Uses bpftrace/eBPF.

Os

       Linux

Overhead

       The rate of lookups should be relatively low, so the overhead is not expected to be a problem.

Requirements

       CONFIG_BPF and bcc.

See Also

tcpdump(8)

USER COMMANDS                                      2018-09-08                               gethostlatency.bt(8)

Source

       This is from bpftrace.

              https://github.com/bpftrace/bpftrace

       Also look in the bpftrace distribution for a  companion  _examples.txt  file  containing  example  usage,
       output, and commentary for this tool.

       This is a bpftrace version of the bcc tool of the same name. The bcc tool provides command line options.

              https://github.com/iovisor/bcc

Stability

       Unstable - in development.

Synopsis

gethostlatency.bt