Struct ILLIXR::data_format::network_latency_result
ClassList > ILLIXR > data_format > network_latency_result
Latency measurement result published to the switchboard. More...
#include <latency_data.hpp>
Inherits the following classes: ILLIXR::switchboard::event
Public Attributes
| Type | Name |
|---|---|
| double | client_to_server_ms Client-Server latency (requires synchronized clocks) |
| double | estimated_clock_offset_ms Estimated clock offset (server - client), assumes symmetric latency. |
| double | estimated_one_way_latency_ms Estimated one-way latency assuming symmetric path (RTT/2) |
| uint64_t | measurement_timestamp_ns When this measurement was taken (client clock) |
| double | round_trip_time_ms Round-trip time in milliseconds (always accurate) |
| uint64_t | sequence_number Sequence number of the measurement. |
| double | server_to_client_ms Server-Client latency (requires synchronized clocks) |
| double | smoothed_clock_offset_ms EMA smoothed. |
| double | smoothed_rtt_ms EMA smoothed. |
Public Functions
| Type | Name |
|---|---|
| network_latency_result () |
|
| network_latency_result (uint64_t seq, double rtt_ms, double c2s_ms, double s2c_ms, double clock_offset_ms, double smoothed_offset, double smoothed_rtt, uint64_t ts) |
Public Functions inherited from ILLIXR::switchboard::event
See ILLIXR::switchboard::event
| Type | Name |
|---|---|
| void | serialize (Archive & ar, const unsigned int version) |
| virtual | ~event () = default |
Detailed Description
This structure contains the measured network latency and related statistics that other plugins can consume. This is published locally (not over network).
Note:
The directional latencies (client_to_server_ms and server_to_client_ms) are only accurate if the client and server clocks are synchronized (e.g., via NTP or PTP). Without synchronization, these values will include clock offset and may even be negative.
Note:
The estimated_clock_offset_ms assumes symmetric network latency. Positive values mean the server clock is ahead of the client clock.
Public Attributes Documentation
variable client_to_server_ms
Client-Server latency (requires synchronized clocks)
double ILLIXR::data_format::network_latency_result::client_to_server_ms;
variable estimated_clock_offset_ms
Estimated clock offset (server - client), assumes symmetric latency.
double ILLIXR::data_format::network_latency_result::estimated_clock_offset_ms;
variable estimated_one_way_latency_ms
Estimated one-way latency assuming symmetric path (RTT/2)
double ILLIXR::data_format::network_latency_result::estimated_one_way_latency_ms;
variable measurement_timestamp_ns
When this measurement was taken (client clock)
uint64_t ILLIXR::data_format::network_latency_result::measurement_timestamp_ns;
variable round_trip_time_ms
Round-trip time in milliseconds (always accurate)
double ILLIXR::data_format::network_latency_result::round_trip_time_ms;
variable sequence_number
Sequence number of the measurement.
uint64_t ILLIXR::data_format::network_latency_result::sequence_number;
variable server_to_client_ms
Server-Client latency (requires synchronized clocks)
double ILLIXR::data_format::network_latency_result::server_to_client_ms;
variable smoothed_clock_offset_ms
EMA smoothed.
double ILLIXR::data_format::network_latency_result::smoothed_clock_offset_ms;
variable smoothed_rtt_ms
EMA smoothed.
double ILLIXR::data_format::network_latency_result::smoothed_rtt_ms;
Public Functions Documentation
function network_latency_result [1/2]
inline ILLIXR::data_format::network_latency_result::network_latency_result ()
function network_latency_result [2/2]
inline ILLIXR::data_format::network_latency_result::network_latency_result (
uint64_t seq,
double rtt_ms,
double c2s_ms,
double s2c_ms,
double clock_offset_ms,
double smoothed_offset,
double smoothed_rtt,
uint64_t ts
)
The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR/illixr_release/ILLIXR/include/illixr/data_format/latency_data.hpp