Skip to content

Conversation

Zadamsa
Copy link
Contributor

@Zadamsa Zadamsa commented Jul 13, 2025

Summary

Add a new process plugin tcpRtt for IPFIXProbe to compute TCP handshake round-trip time (RTT).

Details

This MR introduces a plugin tcpRtt that tracks TCP SYN and SYN-ACK timestamps and computes the handshake RTT.
The implementation includes:

  • Implementation of plugin in src/plugins/process/tcpRtt
  • IPFIX and UniRec export support
  • Registration of the plugin in CMake and RPM specs
  • Functional test with a sample PCAP

The RTT is computed only when both SYN and SYN-ACK timestamps are available; otherwise, a dummy value is used.

✅ Checks

  • CI pipeline passes (build, tests, rpm build)
  • New code follows clang-tidy rules
  • The change is clearly related to a specific feature (TCP RTT accounting)
  • The MR is rebased on the latest master
  • No unrelated changes are included
  • Functional test added
  • Documentation (e.g. Doxygen) is updated if needed
  • Relevant documentation was updated (if needed)

@hynekkar hynekkar requested a review from SiskaPavel July 14, 2025 06:38
Comment on lines 39 to 40
constexpr size_t MSEC_IN_SEC = 1'000;
constexpr size_t USEC_IN_MSEC = 1'000;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
constexpr size_t MSEC_IN_SEC = 1'000;
constexpr size_t USEC_IN_MSEC = 1'000;
constexpr std::size_t MSEC_IN_SEC = std::chrono::milliseconds(1s).count();
constexpr std::size_t USEC_IN_MSEC = ...

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pouzij chrono pro tyto prevody

@Zadamsa Zadamsa force-pushed the tcp_rtt_plugin branch 2 times, most recently from 3b80a80 to cbaba16 Compare August 3, 2025 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants