Skip to content

[EchoClient] support latency histograms

Florian Fischer requested to merge aj46ezos/emper:echo_client_histo into master

Histograms can only be collected when using a fixed amount of iterations.

When the '--histogram ' argument is passed each Client collects 4 time stamps (each 8 byte):

  1. Before requesting the send operation
  2. After requesting the send operation
  3. After getting unblocked and dispatched because the send operation finished
  4. After getting unblocked and dispatched because the recv operation finished

Taking the timestamps is enabled using a template and thus does not introduce any runtime cost if they are not used except binary size.

Before termination three latencies are calculated and written to the histogram file as csv data for each client and each echo.

  1. total_latency := (T4 - T1)
  2. after_send_latency := (T4 - T2)
  3. after_send_dispatch_latency := (T4 - T3)

Merge request reports