question

Upvotes
Accepted
1 0 0 3

Recording and playing back message received timestamp in rmdstestclient and sink_driven_src tool

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.

elektronrefinitiv-realtimeelektron-sdkrmds-test-clientsink-driven-source
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

1 Answer

Upvotes
Accepted
1.9k 6 9 16

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.


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Understood. Is there a way to include these timestamps in the message (either in a separate FID in the message) when sink_driven_src plays back the data? Ideally I want the client receiving the playback message to be able to figure out exactly what time the message was recorded.

@david.lam

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

Click below to post an Idea Post Idea