Skip to content

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