For a deeper look into our Elektron API, look into:
Overview | Quickstart | Documentation | Downloads | Tutorials | Articles
Is there a way for us to configure the rmdstestclient to also record the timestamp at which each message was received and then have the sink_driven_src put that timestamp in a separate FID of the message during playback? This would allow us to more accurately simulate exactly what happens when consuming the data in a live production setting.
For rmdstestclient, you may try using option -m and -micro to log the message timestamp.
Here there are the descriptions:
-? print help (False) -S Service Name or Comma Separated Services List. Max 10 Services can be specified. Format serviceName@connectionType@SvrHostname@sipcVersion -f Item List File ... -m Prepend timestamp (milliseconds) (False) -micro Prepend timestamp (microseconds) (False) ...
For example,
rmdstestclient -h 192.168.27.46 -S API_ELEKTRON_EPD_RSSL -u rmds -f items.txt -X -V -a
And this is another example for adding -m and -micro to running arguments:
rmdstestclient -h 192.168.27.46 -S API_ELEKTRON_EPD_RSSL -u rmds -f items.txt -X -V -a -m -micro
The time values are timestamp when rmdstestclient receives messages.
Hope this helps.
No, sink_driven_src uses "capture" file to replay data, while the received timestamps are recorded into "log" file.
For end-to-end latency measurement, you may find useful the performance tools that are included within Elektron SDK, EMA->Examples->PerfTools, complete with the source code
Got it. Is there anyway for us to get the source code to rmdstestclient and sink_driven_src so that we can make custom modifications to it?
Both rmdstestclient and sink_driven_source are part of infrastructure tools, not developer kits, so no, the source code is not available.
To simulate exactly what happens in production, in terms of time received, you may wish to talk to your Account team about a product called ReplayService