gethostlatency - Man Page

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

Synopsis

gethostlatency.bt

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.

Requirements

CONFIG_BPF and bcc.

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.

Overhead

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

Source

This is from bpftrace.

https://github.com/iovisor/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

OS

Linux

Stability

Unstable - in development.

Author

Brendan Gregg

See Also

tcpdump(8)

Info

2018-09-08 USER COMMANDS