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.

Best Answer

  • 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

    image

    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

    image

    The time values are timestamp when rmdstestclient receives messages.

    Hope this helps.

Answers

  • 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