Human readable data from captured data?

If I capture data to file, using rsslIoctl (channel, RSSL_TRACE,...), the file contains entries like:

<fieldEntry fieldId="16" data="1309 07E3"/>

I'm looking for a tool to convert this into something more human readable, i.e more like:

<fieldEntry fid="TRADE_DATE" data="...">. It would be really great if the data could be translated to the appropriate format depending on the data type specified for the FID.

Best Answer

  • Hello @svante.lindahl1

    You may use rmdstestclient tool to capture data from Elektron to the xml file which is human readable then you can replay this data later using sink_driven_src tools.

    The example captured data in the xml file:

    <fieldEntry fieldId="1" dataType="RSSL_DT_UINT" data="852"/>
    <fieldEntry fieldId="2" dataType="RSSL_DT_UINT" data="151"/>
    <fieldEntry fieldId="259" dataType="RSSL_DT_UINT" data="249"/>

    For more details to use the tools to record and play data, please refer to Quick Start Guide to Recording and Playback of Elektron Data

Answers

  • @svante.lindahl1

    If it's the RSSL XML trace log from ESDK C++ and RFA C++, you may try the RSSL trace log with my tool on GitHub. It was created for troubleshooting purposes.

    https://github.com/xipherix/Example.EMARFACPP.Tool.RSSLXMLTraceConverter


    You have to download the .NET Core SDK from

    https://dotnet.microsoft.com/download/dotnet-core/3.0

    and then run following dotnet publish command under a folder named

    rsslxmltracedataconverter to build executable file on .NET Core support platform.


    For example, on Windows 10 you can use

    dotnet publish -c release -r win10-x64 -o ./release_build

    Please find more -r option for other platforms from

    https://docs.microsoft.com/en-us/dotnet/core/rid-catalog


    Then copy folder Dict to folder release_build, and then you may copy the sample XML data to XML file like test.xml or use the file generated by ESDK or RFA C++ with the following a command

    rsslxmltracedataconverter.exe -s test.xml -o testconverted.xml

    or

    ./rsslxmltracedataconverter -s test.xml -o testconverted.xml


    It will convert the XML data to testconverted.xml and output should contain XML element like below sample

    <fieldEntry fieldId="16" fieldName="TRADE_DATE" decodedData="19/9/2019" data="1309 07E3" />


    The tools will scan for XML element name "fieldEntry, and it must contain "fieldId" and "data" and then it will look up fieldName and dataType using a value from fieldId. Next step it will convert Hex string in XML element named data to a value depending on the data type.

    I test it with a general trace log from EMA and RFA. Therefore, I do not guarantee that it will be able to cover all data types. Anyway, it should be able to convert primitive data types and MRN Story data.


  • Looks like you have some really useful stuff there, but I'm confined to using Linux.

  • @svante.lindahl1

    .NET Core SDK supports Linux.

    Please find the list from section Build-apps SDK.

    https://dotnet.microsoft.com/download/dotnet-core/3.0

  • rmdstestclient was what I wanted/needed. Thank you!

  • Yes, rmdstestclient works fine for my purpose. Thank you.