question

Upvotes
Accepted
3 0 1 4

RFA timestamp flow

I am currently looking at timestamp flow, ie exchange time -> trep capture time -> rfa api receive time -> feedhandler time -> db time. I am told trep doesn't tag a timestamp on receipt of a message, but as for the rest, what fields should I use? Does the RFA api provide the ability to timestamp a message on receipt?

treprfarfa-api
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.

Upvotes
Accepted
20.3k 73 10 20

Hi @sohagan857

In terms of Exchange time stamp, There are some commonly used fields like TIM_ACT_MS, TRDTIM_MS, QUOTIM_MS etc. However, the actual fields used and format varies depending on the exchange + asset class etc - since we are dependent on what the exchange supplies to us. So, this is something you would need to check with the Content helpdesk based on your requirements.

In terms of timing the TREP related latency, I recommend you use the sink_driven_src and rmdstestclient to test different scenarios. The sink_driven_src can inject timestamps into the data it publishes which can be then consumed with rmdstestclient to extract the timestamp to determine the latency. This is described briefly in the Tuning Guide section 4.7.2

You can download the above as part of the TREP Infrastructure tools from here under ELEKTRON SDK - TOOLS.

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.

Thank you Umer. I'd prefer nanos, or the most amount of precision per exhange. Would TIMACT be suffice? It states "time" type, but I don't what that means, as 'time' can be of many formats. Do you know what time's format is?

I notice TIMACT_NS, QUOTIM_NS but not TRDTIM_NS too, any reason for the omission of nanos for trade time?

Hi @sohagan857

As mentioned above, we can only publish what each exchange/venue provides us with. So, if they don't provide MS or NS we can't publish it.

Whilst we have defined the _NS fields , where present, they may well only contain MS precision - if that is all we get from the exchange.

As per my earlier reply, I recommend you create a Content type ticket so that the relevant Data Content expert can assist you better - in terms of what is available for your exchange/venue of interest etc.

Ok understood. What format is TIMACT? I can understand it's whatever the exchange gives but it must get normalised. It's off length 5 and doesn't detail if it is formatted into seconds/millis/nanks, or even what timezone it is. Would you know the details behind TIMACT?

Show more comments
Upvotes
13k 32 12 18

Hi @sohagan857, Any of the _MS fields will provide the millisecond resolution like TRDTIM_MS, QUOTIM_MS etc. There are populated by the exchange or data provider. The API does not record any timestamp. If you are interested in profiling the latency, see the ```PerfExamples/Consumer``` packaged with RFA SDK examples.

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.

Upvotes
9.5k 10 5 7

Hello @sohagan857

If you enable RFA Java trace log, you can see received messages with their timestamp when RFA Java received them. For example:

To enable the log file, at the RSSL connection node configuration, please set ipcTraceFlags = 7 and specify logFileName to any filename or “console” like an example below:

The default location of log file is in the application run directory.


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.

Click below to post an Idea Post Idea