The TCP RTT check reports on roundtrip times between the host the Agent is running on and any host it is communicating with. This check is passive and only reports RTT times for packets being sent and received from outside the check. The check itself does not send any packets.
This check is only shipped in the 64-bit DEB and RPM Datadog Agent v5 packages. The check is not available with Datadog Agent v6.
Setup
Follow the instructions below to install and configure this check for an Agent running on a host. For containerized environments, see the Autodiscovery Integration Templates for guidance on applying these instructions.
Installation
The TCP RTT check-also known as go-metro-is packaged with the Agent, but requires additional system libraries. The check uses timestamps provided by the PCAP library to compute the time between any outgoing packet and the corresponding TCP acknowledgment. As such, PCAP must be installed and configured.
Debian-based systems should use one of the following:
Edit the go-metro.yaml file in your agent’s conf.d directory. See the sample go-metro.yaml for all available configuration options.
The following is an example file that shows the TCP RTT times for app.datadoghq.com and 192.168.0.22:
Because of different package names for different distributions, if the instructions above don’t work for you, issue an apt-cache search libcap or yum search libcap for a shortlist of packages that provide the binary. Contact Datadog support, if you need assistance.
Note: go-metro logs to its own file - found in /var/log/datadog/go-metro.log. Additionally, go-metro runs standalone so it does not appear on the Agent’s status output.
Finally, because the go-metro binary is only bundled with the 64-bit RPM and DEB distributions of the Datadog Agent, it is only available in those packaged versions, that is go-metro is unavailable with the source install or 32-bit packages.
Validation
To validate that the check is running correctly, you should see system.net.tcp.rtt metrics showing in the Datadog interface. Also, if you Run the Agent’s status subcommand, you should see something similar to the following: