How to specify two services in the ADS testclient/testserver (from infra tools package) ?
Hi,
I would like to use the testclient/testserver to record and playback data to performance test an application.
Quick Start Guide to Recording and Playback of Refinitiv Real-Time Data | Refinitiv Developers
I got it working for one service. However our application consumes data from two services configured in the ADS.
I tried with multiple services as shown below in the command but only one got picked up.
./testclient -S Service1 -S Service2 -ef ./rics1.txt -h ads1 -u rtds -ct rssl -rf 8 -obf recBin.dat -p 14002
Is is possible to record and playback data from two ADS services using the testclient/testserver in infra tools package ?
Thanks in advance.
Mani
Best Answer
-
Hello @Mani.A ,
testclient only accepts one service parameter. testserver only replays one service.
One way I can think of, to setup this test is
1. To record the two services separately, into separate files, by means of testclient.
service1 -> one recording
service2 -> another recording
3. replay separately, via two testservers into an RTDS (ADH+ADS), have both testservers connected to a test ADH and replay, while consumer connected to test ADS and consuming the two services. Schematically speaking:
---
testserver_service1 testserver_service2
ADH
ADS
CustomConsumer
---
Hope this approach is of help
1
Answers
-
Thank you @zoya faberov for your quick response .
My apologies for my late response as I was away for a while.
I'm not clear on the step 3. Any documentation or pointers on how to feed/replay data to an ADS+ADH server ?
Can I just replay data to an existing ADS+ADH to a test services that I create on the later ?
Thanks in advance.
Mani
0 -
Hello @Mani.A ,
Please see REFINITIV REAL-TIME DEMO TOOLS manual on My Refinitiv (or with your local copy of infra tools or with infra) and look for testserver -> Advanced Data Hub for example usage for ADH connection.
Absolutely, you can create test services and replay on these new services.
Or if you are in a test/non-prod environment, may be easier to stop an already configured service(s) that is(are) running, and replay via testserver on this configured service.
3 -
Thank you
@zoya faberov I will try that.0 -
Hi @zoya faberov and All,
I tried replaying data into an existing ADS server using the below command and got an error.
./testserver -S IDN_RDF -bdf RecBin.dat -U 100 -N my-ads-server-hostname
---Error: Invalid options.
The listen option (-K) or published items (-pb # or -f <filename>) must be specified.The documentation says -N ipc_server. Is ipc_server my ads server ?
I didn't specify -K and I want to feed data to an existing client, not accept any client connections.
I see that -pb of -f options are cache related ?
Any pointers appreciated ?
Thanks in advance.
Mani
0 -
The -N option is for a TCP port used by the testserver. For example, the default TCP port for the RSSL interactive provider is 14002. Thus, you need to configure a route in RTDS (Refinitiv Real-Time Distribution System (ADH, ADS)) to connect to the testserver on that specified TCP port. It requires the -K option for the interactive provider.
Otherwise, you can run the testserver in the non-interactive mode. In the non-interactive mode, the testserver will establish a connection to RTDS so RTDS must be configured to accept a connection from the test server. The command will look like this:
The following picture shows how the testserver connects to RTDS in interactive and non-interactive modes.
To configure RTDS to support an interactive or non-interactive provider, you can contact the RTDS support team directly via MyRefinitiv.
0 -
Thank you @Jirapongse for your prompt response.
Looks like I made some progress. I now get the below error message. I guess I need a username/account to access the ADS as a producer. I will reach out to our market data team. If you think otherwise, please let me know.
./testserver -S IDN_RDF -k ads-server -N 14002 -sn 1 -pb 10 -pbn RDT -U 1 -u adsUser
Initialized RSSL library.
Successfully loaded RWF data dictionary
Loaded refresh: 35 updates: 15
Configured 10 items.
Channel initialization in progress. (No more messages printed until connection)
SockOptions: TCP_NODELAY=1 SNDBUF=12582912 RCVBUF=12582912 bytes
UPA peer component version: ads3.5.4.L1.linux.rrg 64-bit
RSSL publisher login request denied.
Reason: Login rejected. Non-consumer attempting login.Thanks
Mani
0 -
The TCP port 14002 is for the subscription. You can't run testserver to connect to that port.
The default TCP port for non-interactive providers is 14003 (distribution_rssl_source). You need to enable it on ADS. I am using ADS POP and the configurations could be as follows
!!! RSSL
*ads*enableRsslServer : True
!*ads*rsslServerPort : distribution_rssl_source
!*ads*distribution_rssl_source*serverToClientPings : True
!*ads*distribution_rssl_source*clientToServerPings : True
!*ads*distribution_rssl_source*pingTimeout : 30
!*ads*distribution_rssl_source*minPingTimeout : 6
!*ads*distribution_rssl_source*maxConnections : 100
!*ads*distribution_rssl_source*guaranteedOutputBuffers : 200
!*ads*distribution_rssl_source*maxOutputBuffers : 400
!*ads*distribution_rssl_source*compressionType : 0
!*ads*distribution_rssl_source*zlibCompressionLevel : 3
!*ads*distribution_rssl_source*interfaceName :
!*ads*distribution_rssl_source*reusePort : False
!*ads*distribution_rssl_source*connectionType : 0
!*ads*distribution_rssl_source*serverCert :
!*ads*distribution_rssl_source*serverPrivateKey :Next, you need to have the non-interactive service in the configuration, as follows.
!!! Non-interactive Cache for posting
*ads*DIST_CACHE*cacheLocation : ssl
*ads*DIST_CACHE*cacheType : sourceDriven
*ads*DIST_CACHE*maxCache : 50000
*ads*DIST_CACHE*domainsCached : ALL
*ads*DIST_CACHE*capabilityList : 6, 7, 8, 9, 10
*ads*DIST_CACHE*buildCacheFromUpdates : False
*ads*DIST_CACHE*markItemsOkOnUpdate : False
*ads*DIST_CACHE*forwardPostUserInfo : False
*ads*DIST_CACHE*dumpAccessLockFileName :
*ads*DIST_CACHE*dumpAuditUserInfoFileName :
*ads*DIST_CACHE*convertMfeedDataToRWF : False
*ads*DIST_CACHE*validateMfeedToRWFConvForPosts : False
*ads*DIST_CACHE*enableOverrideInsertRecordResp : False
*ads*DIST_CACHE*overrideClearCache : FalseHowever, if you have ADH, you need to enable it on ADH instead. Please contact the RTDS support team to confirm the configurations.
0 -
Thanks @Jirapongse
We do have ADH. All our applications are subscribers and they get data from ADS servers.
My understanding is providers use ADH and the subscribers consume data from ADS. I believe Refinitiv provides data to ADH and our application consumes data from the ADS server.
I understand that we need to enable Provider related config on the ADH to provide/produce data. Our support may be reluctant to make any changes on the ADH.
Is it possible to make changes on only one particular ADS server (without touching the ADH) and provide/produce simulated data to it ? And our test application subscribe to the data on this ADS server.
In fact we are thinking of setting up a test ADS server for this purpose.
Thanks,
Mani
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛