Understanding RET adapter log files
This page looks at a typical all-adapter.log
file for the RET Adapter Toolkit’s example calendar adapter (examples/CalendarAdapter
in the RET Adapter Toolkit).
Start-up log messages
A typical start-up sequence begins with the following messages:
2015 Mar 19 11:40:20.200 +0000 - [main] INFO com.caplin.motif.fx.ret.calendar.CalendarAdapter - **********Starting Calendar Adapter.******** 2015 Mar 19 11:40:20.203 +0000 - [main] INFO com.caplin.motif.fx.ret.calendar.CalendarAdapter - Version: null
The adapter loads application configuration properties from its adapter.properties
file:
2015 Mar 19 11:40:20.213 +0000 - [main] INFO com.caplin.motif.fx.ret.calendar.config.CalendarAdapterInitialiser - Loading datasource configuration properties file <E:\Development\Stash\rettoolkit\clients\Example\CalendarAdapter\Blade\DataSource\..\overrides\CalendarAdapter\etc\adapter.properties> 2015 Mar 19 11:40:20.251 +0000 - [main] INFO com.caplin.motif.fx.ret.calendar.config.CalendarAdapterInitialiser - [Datasource Properties] 2015 Mar 19 11:40:20.251 +0000 - [main] INFO com.caplin.motif.fx.ret.calendar.config.CalendarAdapterInitialiser - No adapter configuration listener registered. Not loading any custom configuration
The adapter loads TrAPI connection properties from its trapi-connection.properties
file:
2015 Mar 19 11:40:20.276 +0000 - [main] INFO com.caplin.ret.trapi.configuration.TrAPIUnderlyingManager - Initialising connections 2015 Mar 19 11:40:20.314 +0000 - [main] INFO com.caplin.ret.trapi.configuration.TrAPIProperties - [Common Properties] USE_MOCKS = true, PORT = <SCS Relay port>, RECONNECTION_EXPONENTIAL_INITIAL_INTERVAL = 5, RET_LOG_ENABLED = true, HOST = <SCS Relay host>, RECONNECTION_EXPONENTIAL_MAX_INTERVAL = 600 [CalendarConnection] USE_MOCKS=true, SIMULATE_LOMS_TIMEOUT_CURRENCY_PAIR=, MODIFY_STRATEGY_TIMEOUT=120000, SIMULATE_LOMS_ACTIVE_ORDER_CURRENCY_PAIR=, CAN_TRADE_ON_SETTLEMENT_CCY_HOLIDAYS=null, TRAPI_PROPERTIES=, STRATEGY_ACTIVATE_TRANSACTION_TIMEOUT=null, LBN_RECONNECTION_ATTEMPTS=0, CONNECTION_TYPE=direct_scs, ADD_USERSET_USERS=false, CONNECTION_POOL_KEY=default_connection_pool_key, RET_LOG_APPEND=true, LOAD_CURRENCY_PAIRS=false, SIMULATE_LOMS_DORMANT_ORDER_CURRENCY_PAIR=, ADD_USER_TO_OWN_USERSET=true, CUSTOM_TRANSITIONS=, RET_LOG_ENABLED=true, ORDER_MODIFY_TRANSACTION_TIMEOUT=null, HOST=<SCS Relay host>, RET_LOG_LOCATION=var, ORDER_TYPE=market, STRATEGY_SUBMIT_AND_ACTIVATE_TRANSACTION_TIMEOUT=null, LBN_LOG_LOCATION=var, CLIENT=null, RECONNECTION_INTERVAL=5, INSTRUMENTS=, SIMULATE_LOMS_REGISTER_FAIL_CURRENCY_PAIR=, ENCRYPTION_TYPE=none, LOAD_INVERSE_CURRENCY_PAIRS=false, SL_MARKUP_SOURCE=null, MARKET_ORDER_RESOURCE=GID.orders, USER_GROUPS_TO_LOAD=, PASSWORD=*****, LBN_MOCK_SERVER_HOST=<LBN Mock server host>, SIMULATE_LOMS_ACTIVATE_FAIL_CURRENCY_PAIR=, RECONNECTION_EXPONENTIAL_INITIAL_INTERVAL=5, LBN_MOCK_SERVER_PORT=<LBN Mock server port>, USE_CHECK_PRICE_TOLERANCE=false, TP_MARKUP_SOURCE=null, TIMEOUT_MULTIPLIER=0.990, STRATEGY_LOCK_TRANSACTION_TIMEOUT=null, LBN_LOG_NAME=LBN_@.log, TRADING_CONNECTION_STAGING_INTERVAL=5000, STRATEGY_SUBMIT_ONLY_TRANSACTION_TIMEOUT=null, TRANSFER_PROTOCOL=standard, SEND_PEER_INFO=false, RECONNECTION_ATTEMPTS=-1, USERSET_USERS=, LIMIT_ORDER_RESOURCE=BT.Server.LOMS, DEFAULT_TRANSACTION_TIMEOUT=15000, USERNAME=username, RATE_SUBSCRIPTION_THREAD_POOL_SIZE=12, CONF_DIRECTORY=etc, USE_AS_MONITOR=false, SIMULATE_LOMS_ORDER_FILL_CURRENCY_PAIR=, LBN_RESOURCE=GID.orders, LABEL=CalendarConnection, LAS_RESOURCE=GID.logs, LBN_HEARTBEAT=10, USE_COMPRESSION=false, CURRENCY_PAIRS_TO_LOAD=, URL_ENCODE_TAKER_ORDER_CUSTOM=false, HEARTBEAT=10, STRATEGY_DEACTIVATE_TRANSACTION_TIMEOUT=null, START_LBN_MOCK_SERVER=false, RFQ_CONCURRENCY_LIMIT=1000, LBN_LOG_APPEND=true, ORDER_ACCOUNT_TRANSACTION_TIMEOUT=null, PORT=<SCS Relay port>, USE_FOR_TRADING=false, STRATEGY_UNLOCK_TRANSACTION_TIMEOUT=null, ORDER_DELETE_TRANSACTION_TIMEOUT=null, CACHE_ORDER_HISTORIES=true, RECONNECTION_EXPONENTIAL_MAX_INTERVAL=600, ORDER_CANCEL_TRANSACTION_TIMEOUT=null, RET_LOG_NAME=ret.log, SIMULATE_SETTLEMENT_DATES_FOR_CURRENCY_PAIRS= 2015 Mar 19 11:40:20.314 +0000 - [main] INFO com.caplin.ret.trapi.configuration.TrAPIUnderlyingManager - Using default configuration loader.
One important property to check is USE_MOCKS , which indicates whether the adapter is running against mock data provided by the RET Adapter Toolkit.
|
The following messages describe TrAPI version numbers and licence information:
2015 Mar 19 11:40:20.343 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** INFO ** Using System Properties> 2015 Mar 19 11:40:20.345 +0000 - [main] WARN com.caplin.motif.fx.ret.common.configurationproperties.ConfigurationLoaderImpl - The configuration file <trapi.lic> does not exist in configuration directories 2015 Mar 19 11:40:20.345 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <Using licence file:> 2015 Mar 19 11:40:20.347 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <> 2015 Mar 19 11:40:20.347 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <TrAPI - Trading Application Interface Library: TrAPI-3.5.126.BD> 2015 Mar 19 11:40:20.348 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <TrAPI using JavaLib: 3.5.953 (Core: 3.5.21.4 r232610)> 2015 Mar 19 11:40:20.348 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <TrAPI using PrAPI: 1.0.129> 2015 Mar 19 11:40:20.348 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <TrAPI using native JCL comms: 3.5.21.4 r232610> 2015 Mar 19 11:40:20.350 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <TrAPI using Licence Handler: 23> 2015 Mar 19 11:40:20.350 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <TrAPI using API Common: 2.0.63> 2015 Mar 19 11:40:20.350 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <>
The messages below describe the creation of Refinitiv proxy user connections, based on the definitions in the trapi-configuration.properties
file:
2015 Mar 19 11:40:20.350 +0000 - [main] INFO com.caplin.ret.trapi.connection.DefaultConnectionManager - Connections created 2015 Mar 19 11:40:20.359 +0000 - [main] INFO com.caplin.ret.trapi.concurrent.ExecutorManager - Created scheduled single-threaded executor <com.caplin.ret.trapi.concurrent.executor.ScheduledSingleThreadExecutor@f7c31d> 2015 Mar 19 11:40:20.360 +0000 - [main] INFO com.caplin.ret.trapi.concurrent.ExecutorManager - Created scheduled single-threaded executor <com.caplin.ret.trapi.concurrent.executor.ScheduledSingleThreadExecutor@ff2413> ...
If the TrAPI connection property ret_log_enabled
is set to true, the adapter logs the following messages:
2015 Mar 19 11:40:20.506 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** INFO ** Using com.m_systems.trapi.log.enable:[true]> 2015 Mar 19 11:40:20.506 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** INFO ** Using com.m_systems.trapi.log.location:[var]> 2015 Mar 19 11:40:20.506 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** INFO ** Using com.m_systems.trapi.log.name:[ret.log]> 2015 Mar 19 11:40:20.506 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** INFO ** Using com.m_systems.trapi.log.append:[true]> 2015 Mar 19 11:40:20.512 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** INFO ** Using message log:[file:[E:\Development\Stash\rettoolkit\clients\Example\CalendarAdapter\Blade\DataSource\var\ret.log]]> 2015 Mar 19 11:40:20.718 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** INFO ** Using com.m_systems.trapi.proxy_load_account_details:[true]> 2015 Mar 19 11:40:20.718 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** INFO ** Using com.m_systems.trapi.callback_threads:[10]>
In this example, no TrAPI licence is available, and the adapter logs the following message:
2015 Mar 19 11:40:20.720 +0000 - [main] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** ERROR ** com.m_systems.utils.TrAPI_e$b: Unable to read the licence stream.>
Connections to TrAPI are initialised:
2015 Mar 19 11:40:20.722 +0000 - [main] INFO com.caplin.ret.trapi.connection.ConnectionProperties - getMockCurrencyPairFormatsConfigurationFile() called on configuration loader 2015 Mar 19 11:40:20.722 +0000 - [main] INFO com.caplin.ret.trapi.connection.ConnectionProperties - getMockCurrencyPairFormatsConfigurationFile() returning path <E:\Development\Stash\rettoolkit\clients\Example\CalendarAdapter\Blade\DataSource\etc\currency_pair_formats.csv> 2015 Mar 19 11:40:20.737 +0000 - [main] INFO com.caplin.ret.trapi.connection.ConnectionProperties - GetMockCurrencySeedsConfigurationFile() called on configuration loader 2015 Mar 19 11:40:20.737 +0000 - [main] INFO com.caplin.ret.trapi.connection.ConnectionProperties - GetMockCurrencySeedsConfigurationFile() returning path <E:\Development\Stash\rettoolkit\clients\Example\CalendarAdapter\Blade\DataSource\etc\currencyseeds.csv> 2015 Mar 19 11:40:20.761 +0000 - [main] INFO com.caplin.ret.trapi.rates.impl.TrAPIRatesProxy - TrAPIRatesProxy initialised for <username> 2015 Mar 19 11:40:20.764 +0000 - [main] INFO com.caplin.ret.trapi.connection.ConnectionProperties - getMockCurrencyPairFormatsConfigurationFile() called on configuration loader 2015 Mar 19 11:40:20.765 +0000 - [main] INFO com.caplin.ret.trapi.connection.ConnectionProperties - getMockCurrencyPairFormatsConfigurationFile() returning path <E:\Development\Stash\rettoolkit\clients\Example\CalendarAdapter\Blade\DataSource\etc\currency_pair_formats.csv> 2015 Mar 19 11:40:20.774 +0000 - [main] INFO com.caplin.ret.trapi.connection.DefaultConnectionManager - Added connection for user <username> and label <CalendarConnection> 2015 Mar 19 11:40:20.775 +0000 - [main] INFO com.caplin.ret.trapi.connection.DefaultConnectionManager - Connections created 2015 Mar 19 11:40:20.775 +0000 - [main] INFO com.caplin.ret.trapi.connection.DefaultConnectionManager - Connections created 2015 Mar 19 11:40:20.775 +0000 - [main] INFO com.caplin.ret.trapi.connection.DefaultConnectionManager - Connections created 2015 Mar 19 11:40:20.775 +0000 - [main] INFO com.caplin.ret.trapi.connection.CompositeConnectionFactory - Composite Connection Manager initialised. 2015 Mar 19 11:40:21.168 +0000 - [main] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - Adding composite status listener <com.caplin.motif.fx.ret.calendar.CalendarAdapterStatusListener@51ef4e> 2015 Mar 19 11:40:21.169 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.calendar.CalendarAdapterStatusListener - Received on status down. 2015 Mar 19 11:40:21.169 +0000 - [main] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - Adding composite status listener <com.caplin.motif.fx.ret.common.adapterstatus.AdapterStatusPublisher@6db33c> 2015 Mar 19 11:40:21.170 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.AdapterStatusPublisher - Setting DataSource status to <DOWN> 2015 Mar 19 11:40:21.170 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.AdapterStatusPublisher - Adapter already <DOWN>, doing nothing 2015 Mar 19 11:40:21.181 +0000 - [main] INFO com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener - Created scheduled single-threaded executor <com.caplin.ret.trapi.concurrent.executor.ScheduledSingleThreadExecutor@c1186f> 2015 Mar 19 11:40:21.181 +0000 - [main] INFO com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener - Adding connection label <CalendarConnection> 2015 Mar 19 11:40:21.183 +0000 - [main] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - Added RET Connection Status Listeners <[RETMarketOrderConnectionStatusListener{isUp=false, connectionLabels=[CalendarConnection], connections=[Connection with user name [username]]}]> 2015 Mar 19 11:40:21.183 +0000 - [main] INFO com.caplin.motif.fx.ret.calendar.config.CalendarAdapterInitialiser - TrAPI manager initialised. 2015 Mar 19 11:40:21.183 +0000 - [main] INFO com.caplin.motif.fx.ret.calendar.CalendarAdapter - Initiating connection to TrAPI 2015 Mar 19 11:40:21.183 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - Attempting to set status <DOWN>, all connection status listeners <[RETMarketOrderConnectionStatusListener{isUp=false, connectionLabels=[CalendarConnection], connections=[Connection with user name [username]]}]>, down connection status listeners <[RETMarketOrderConnectionStatusListener{isUp=false, connectionLabels=[CalendarConnection], connections=[Connection with user name [username]]}]>
The messages below relate to the initalisation of a MarketOrderConnection:
2015 Mar 19 11:40:21.183 +0000 - [main] INFO com.caplin.ret.trapi.connection.MarketOrderConnection - Connect called for user <username> from host <SCS Relay host> and port <SCS Relay port> 2015 Mar 19 11:40:21.184 +0000 - [main] INFO com.caplin.ret.trapi.connection.MarketOrderConnection - Connect called for user <username> 2015 Mar 19 11:40:21.184 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.calendar.CalendarAdapterStatusListener - Received on status down. 2015 Mar 19 11:40:21.184 +0000 - [main] INFO com.caplin.ret.trapi.connection.MarketOrderConnection - Calling PerformConnection for user: <username>, Host: <SCS Relay host> Port: <SCS Relay port> 2015 Mar 19 11:40:21.184 +0000 - [main] INFO com.caplin.ret.trapi.connection.MarketOrderConnection - Perform connection called for proxy user <username>, host<SCS Relay host>, port<SCS Relay port>, connection label <CalendarConnection> no client 2015 Mar 19 11:40:21.184 +0000 - [main] INFO com.caplin.ret.trapi.connection.MarketOrderConnection - Connecting to RET for user <username>, host<SCS Relay host>, port<SCS Relay port> with connection label <CalendarConnection> 2015 Mar 19 11:40:21.184 +0000 - [main] INFO com.caplin.ret.trapi.connection.MarketOrderConnection - Connection completed for user <username>, host<SCS Relay host>, port<SCS Relay port> with connection label <CalendarConnection> 2015 Mar 19 11:40:21.184 +0000 - [main] INFO com.caplin.ret.trapi.connection.MarketOrderConnection - Connection successful for user <username>, host<SCS Relay host>, port<SCS Relay port> with connection label <CalendarConnection>
In the following messages, the status of the MarketOrderConnection is set to <UP>
:
2015 Mar 19 11:40:21.184 +0000 - [main] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderEventListenerProxy - Set performReconnection to <true> for user <username> 2015 Mar 19 11:40:21.185 +0000 - [main] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderEventListenerProxy - onConnect call for user <username> 2015 Mar 19 11:40:21.185 +0000 - [main] INFO com.caplin.ret.trapi.connection.MarketOrderConnection - User <username>: Connected successfully to host <SCS Relay host> and port <SCS Relay port> 2015 Mar 19 11:40:21.185 +0000 - [main] INFO com.caplin.motif.fx.ret.calendar.CalendarAdapter - Finished initiating to TrAPI, waiting for connection up or connection down callback 2015 Mar 19 11:40:21.186 +0000 - [caplin.DedicatedSerialExecutor-<thread:0>] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderEventListenerProxy - Sending onTradingUnavailable to Trading Connection Listener for id <com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener/com.caplin.ret.trapi.connection.MarketOrderConnection/03ed3749-0786-47da-8685-e39560597313> for connection name <username>, label <CalendarConnection> 2015 Mar 19 11:40:21.184 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.AdapterStatusPublisher - Setting DataSource status to <DOWN> 2015 Mar 19 11:40:21.186 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.AdapterStatusPublisher - Adapter already <DOWN>, doing nothing 2015 Mar 19 11:40:21.186 +0000 - [caplin.DedicatedSerialExecutor-<thread:0>] INFO com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener - Receiving onConnectionDown connection event for user <username> and connection label <CalendarConnection>. 2015 Mar 19 11:40:21.186 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - After connection down called. 2015 Mar 19 11:40:21.186 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - Set status to <DOWN> 2015 Mar 19 11:40:21.187 +0000 - [caplin.DedicatedSerialExecutor-<thread:0>] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderEventListenerProxy - Sending onTradingAvailable to Trading Connection Listener for id <com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener/com.caplin.ret.trapi.connection.MarketOrderConnection/03ed3749-0786-47da-8685-e39560597313> for connection name <username>, label <CalendarConnection> 2015 Mar 19 11:40:21.187 +0000 - [pool-22-thread-1] INFO com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener - Connections in close of day awaiting reconnection <[]> 2015 Mar 19 11:40:21.187 +0000 - [caplin.DedicatedSerialExecutor-<thread:0>] INFO com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener - Receiving onConnectionUp connection event for user <username> and connection label <CalendarConnection> 2015 Mar 19 11:40:21.187 +0000 - [pool-22-thread-1] INFO com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener - Handling connection down for user <username> and connection label <CalendarConnection>. 2015 Mar 19 11:40:21.188 +0000 - [pool-22-thread-1] INFO com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener - Attempting to set listener <com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener/com.caplin.ret.trapi.connection.MarketOrderConnection/03ed3749-0786-47da-8685-e39560597313> status to <DOWN> 2015 Mar 19 11:40:21.188 +0000 - [pool-22-thread-1] INFO com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener - Setting listener <com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener/com.caplin.ret.trapi.connection.MarketOrderConnection/03ed3749-0786-47da-8685-e39560597313> status to DOWN 2015 Mar 19 11:40:21.188 +0000 - [caplin.DedicatedSerialExecutor-<thread:0>] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderEventListenerProxy - Sending onTradingAvailable to Trading Connection Listener for id <com.caplin.ret.trapi.rates.impl.TrAPIRatesProxy:1426765220760> for connection name <username>, label <CalendarConnection> 2015 Mar 19 11:40:21.188 +0000 - [pool-22-thread-1] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - On Connection status Listener DOWN received from listener <RETMarketOrderConnectionStatusListener{isUp=false, connectionLabels=[CalendarConnection], connections=[Connection with user name [username]]}>
The messages below show the TrAPIRatesProxy that is used as a single entry point via the RET Integration API to receive all rate-related callbacks from the RET system:
2015 Mar 19 11:40:21.188 +0000 - [caplin.DedicatedSerialExecutor-<thread:0>] INFO com.caplin.ret.trapi.rates.impl.TrAPIRatesProxy - Received connection UP for user <username> and label <CalendarConnection> 2015 Mar 19 11:40:21.189 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - Attempting to set status <DOWN>, all connection status listeners <[RETMarketOrderConnectionStatusListener{isUp=false, connectionLabels=[CalendarConnection], connections=[Connection with user name [username]]}]>, down connection status listeners <[RETMarketOrderConnectionStatusListener{isUp=false, connectionLabels=[CalendarConnection], connections=[Connection with user name [username]]}]> 2015 Mar 19 11:40:21.189 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.calendar.CalendarAdapterStatusListener - Received on status down. 2015 Mar 19 11:40:21.189 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.AdapterStatusPublisher - Setting DataSource status to <DOWN> 2015 Mar 19 11:40:21.189 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.AdapterStatusPublisher - Adapter already <DOWN>, doing nothing 2015 Mar 19 11:40:21.189 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - After connection down called. 2015 Mar 19 11:40:21.189 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - Set status to <DOWN> 2015 Mar 19 11:40:21.190 +0000 - [pool-22-thread-1] INFO com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener - Handling connection up for user <username> and connection label <CalendarConnection> 2015 Mar 19 11:40:21.190 +0000 - [pool-22-thread-1] INFO com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener - Attempting to set listener <com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener/com.caplin.ret.trapi.connection.MarketOrderConnection/03ed3749-0786-47da-8685-e39560597313> status to <UP> 2015 Mar 19 11:40:21.190 +0000 - [pool-22-thread-1] INFO com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener - Setting listener <com.caplin.motif.fx.ret.common.adapterstatus.RETMarketOrderConnectionStatusListener/com.caplin.ret.trapi.connection.MarketOrderConnection/03ed3749-0786-47da-8685-e39560597313> status to <UP>
The messages below show that when one connection is <UP>
, the adapter’s DataSource status is also be set to <UP>
:
2015 Mar 19 11:40:21.191 +0000 - [pool-22-thread-1] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - On Connection status Listener UP received from listener <RETMarketOrderConnectionStatusListener{isUp=true, connectionLabels=[CalendarConnection], connections=[Connection with user name [username]]}> 2015 Mar 19 11:40:21.191 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - Attempting to set status <UP>, all connection status listeners <[RETMarketOrderConnectionStatusListener{isUp=true, connectionLabels=[CalendarConnection], connections=[Connection with user name [username]]}]>, down connection status listeners <[]> 2015 Mar 19 11:40:21.191 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.calendar.CalendarAdapterStatusListener - Received on status up. Clearing FXCalendarAdapter cache 2015 Mar 19 11:40:21.192 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.AdapterStatusPublisher - Starting DataSource and setting status to <UP>
The message below message shows that the adapter’s status is now <UP>
:
2015 Mar 19 11:40:21.193 +0000 - [caplin.DedicatedSerialExecutor-<thread:2>] INFO com.caplin.motif.fx.ret.common.adapterstatus.CompositeStatusManager - Set status to <UP>
From this point onwards, the adapter’s status would appear as Up on the Liberator status page. |
The message below records a connection confirmation from Liberator:
2015 Mar 19 11:14:47.569 +0000 - [datasource.peer(0)] INFO com.caplin.motif.fx.ret.common.adapterstatus.AdapterStatusPublisher - Received connected message from peer <liberator1> with peer ID <0>
Request-handling log messages
This section looks at messages recording the receptions and serving of subscription requests.
On thread 5 of thread pool 18 a request is made to receive the tenor date CALENDAR/TENORDATES/EURUSD/user1@caplin.com
:
2015 Mar 19 11:19:08.545 +0000 - [pool-18-thread-5] INFO com.caplin.motif.fx.ret.calendar.request.CalendarServiceRequestListener - Received Tenor Dates request <RETTenorDateSubjectInfo [username=user1@caplin.com, getSubject()=/CALENDAR/TENORDATES/EURUSD/user1@caplin.com, getCurrencyPair()=EURUSD]> with callback <com.caplin.motif.fx.calendar.TenorDateDataProvider$1$1@126ec30c>
On thread 6 of thread pool 18 a request is made to receive the settlement date /CALENDAR/SETTLEMENTDATE/EURUSD/2015/04/user1@caplin.com
:
2015 Mar 19 11:19:08.579 +0000 - [pool-18-thread-6] INFO com.caplin.motif.fx.ret.calendar.request.CalendarServiceRequestListener - Received Settlement Dates request for <RETSettlementDateSubjectInfo [username=user1@caplin.com, getSubject()=/CALENDAR/SETTLEMENTDATE/EURUSD/2015/04/user1@caplin.com, getCurrencyPair()=EURUSD, getYear()=2015, getMonth()=04]> on callback <com.caplin.motif.fx.calendar.SettlementDateDataProvider$1$1@46ff33c6>
TrAPILogger
implements RET ILogDevice
to handle RET log messages. You will see a lot of the following log lines as RET attempts to log every incoming message regardless of length. In the case of a historical trade request, these lines can exceed two million characters, this then causes Log4J to throw an OutOfMemoryError
. Therefore, it is necessary to truncate the log lines to 5000 characters to avoid running out of JVM heap space:
2015 Mar 19 11:19:09.197 +0000 - [pool-18-thread-3] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** DEBUG ** GID.DateServer connected> 2015 Mar 19 11:19:09.251 +0000 - [WorkerThread 3] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** DEBUG ** GID.DateServer disconnected> 2015 Mar 19 11:19:09.251 +0000 - [WorkerThread 3] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** DEBUG ** GID.DateServer completely disconnected>
The log messages below describe data retrieval from Refinitiv for settlement date requests:
2015 Mar 19 11:19:10.414 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - GetValidSettlementDays called for year <2015> month <04> and currency pair <EURUSD>, instrument <FX.CROSS> 2015 Mar 19 11:19:10.416 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Date <20150403> for currency pair <EURUSD> is INVALID because it is a holiday other than a settlement currency holiday <[5]> 2015 Mar 19 11:19:10.416 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Date <20150404> for currency pair <EURUSD> is INVALID because it is a <rest day> 2015 Mar 19 11:19:10.417 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Date <20150405> for currency pair <EURUSD> is INVALID because it is a <rest day> 2015 Mar 19 11:19:10.418 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Date <20150406> for currency pair <EURUSD> is INVALID because it is a holiday other than a settlement currency holiday <[5]> 2015 Mar 19 11:19:10.420 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Date <20150411> for currency pair <EURUSD> is INVALID because it is a <rest day> 2015 Mar 19 11:19:10.421 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Date <20150412> for currency pair <EURUSD> is INVALID because it is a <rest day> 2015 Mar 19 11:19:10.428 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Date <20150418> for currency pair <EURUSD> is INVALID because it is a <rest day> 2015 Mar 19 11:19:10.429 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Date <20150419> for currency pair <EURUSD> is INVALID because it is a <rest day> 2015 Mar 19 11:19:10.431 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Date <20150425> for currency pair <EURUSD> is INVALID because it is a <rest day> 2015 Mar 19 11:19:10.432 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Date <20150426> for currency pair <EURUSD> is INVALID because it is a <rest day> 2015 Mar 19 11:19:10.434 +0000 - [pool-18-thread-6] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Returning <[20150401, 20150402, 20150407, 20150408, 20150409, 20150410, 20150413, 20150414, 20150415, 20150416, 20150417, 20150420, 20150421, 20150422, 20150423, 20150424, 20150427, 20150428, 20150429, 20150430]> for GetValidSettlementDays called for year <2015> month <04> and currency pair <EURUSD>, instrument <FX.CROSS> 2015 Mar 19 11:19:10.435 +0000 - [pool-18-thread-6] INFO com.caplin.motif.fx.ret.calendar.request.CalendarServiceRequestListener - Generated settlement Dates for <EURUSD> <04/2015> is <[20150401, 20150402, 20150407, 20150408, 20150409, 20150410, 20150413, 20150414, 20150415, 20150416, 20150417, 20150420, 20150421, 20150422, 20150423, 20150424, 20150427, 20150428, 20150429, 20150430]>
The log messages below describe data retrieval from Refinitiv for tenor date requests:
2015 Mar 19 11:19:10.446 +0000 - [pool-18-thread-5] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Received GetTenorDates for currency pair <EURUSD> and instrument <FX.CROSS> 2015 Mar 19 11:19:10.446 +0000 - [pool-18-thread-5] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - Retrieving Value dates for tenors <[ON, TODAY, TN, TOM, SPOT, 1D, SN, 1W, 2W, 3W, 1M, 2M, 3M, 4M, 5M, 6M, 7M, 8M, 9M, 10M, 11M, 1Y, 15M, 18M, 2Y, 3Y, 4Y, 5Y]> for requested currency pair <EURUSD> and instrument <FX.CROSS>
These log messages below describe data being published for a /CALENDAR/SETTLEMENTDATE/EURUSD/2015/04/user1@caplin.com
request:
2015 Mar 19 11:19:10.447 +0000 - [pool-18-thread-6] INFO com.caplin.motif.fx.ret.calendar.request.CalendarServiceRequestListener - Published settlement Dates for <EURUSD> <04/2015> is <[20150401, 20150402, 20150407, 20150408, 20150409, 20150410, 20150413, 20150414, 20150415, 20150416, 20150417, 20150420, 20150421, 20150422, 20150423, 20150424, 20150427, 20150428, 20150429, 20150430]>
As mentioned before, RET attempts to log every incoming message regardless of character length. In the case of a historical trade request, these lines can exceed two million characters, which can cause Log4J to throw an OutOfMemoryError
. It is necessary to truncate these lines to a max length of 5000 characters to avoid running out of JVM heap space:
2015 Mar 19 11:19:10.482 +0000 - [pool-18-thread-5] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** DEBUG ** GID.DateServer connected> 2015 Mar 19 11:19:10.577 +0000 - [pool-18-thread-5] INFO com.caplin.ret.trapi.logging.TrAPILogger - TrAPI Log ==> <** DEBUG ** GID.DateServer connected>
The log messages below describe data retrieval from Refinitiv for tenor date requests:
2015 Mar 19 11:19:10.629 +0000 - [pool-18-thread-5] INFO com.caplin.ret.trapi.fx.execution.impl.TrAPIMarketOrderCalendarService - GetTenorDates for currency pair <EURUSD> and instrument <FX.CROSS>. Tenors received <[ON, TODAY, TN, TOM, SPOT, 1D, SN, 1W, 2W, 3W, 1M, 2M, 3M, 4M, 5M, 6M, 7M, 8M, 9M, 10M, 11M, 1Y, 15M, 18M, 2Y, 3Y, 4Y, 5Y]> and final result to be returned <{10M=20160125, 11M=20160223, 15M=20160623, 18M=20160923, 1D=20150324, 1M=20150423, 1W=20150330, 1Y=20160323, 2M=20150526, 2W=20150407, 2Y=20170323, 3M=20150623, 3W=20150413, 3Y=20180323, 4M=20150723, 4Y=20190325, 5M=20150824, 5Y=20200323, 6M=20150923, 7M=20151023, 8M=20151123, 9M=20151223, ON=20150319, SN=20150324, SPOT=20150323, TN=20150320, TODAY=20150319, TOM=20150320}>
The log messages below describe a tenor date request:
2015 Mar 19 11:19:10.634 +0000 - [pool-18-thread-5] INFO com.caplin.motif.fx.ret.calendar.request.CalendarServiceRequestListener - Generated Tenor Dates for currency pair <EURUSD> is <{10M=20160125, 11M=20160223, 15M=20160623, 18M=20160923, 1D=20150324, 1M=20150423, 1W=20150330, 1Y=20160323, 2M=20150526, 2W=20150407, 2Y=20170323, 3M=20150623, 3W=20150413, 3Y=20180323, 4M=20150723, 4Y=20190325, 5M=20150824, 5Y=20200323, 6M=20150923, 7M=20151023, 8M=20151123, 9M=20151223, ON=20150319, SN=20150324, SPOT=20150323, TN=20150320, TODAY=20150319, TOM=20150320}> 2015 Mar 19 11:19:10.657 +0000 - [pool-18-thread-5] INFO com.caplin.motif.fx.calendar.TenorDates - Publishing {10M=20160125, 11M=20160223, 15M=20160623, 18M=20160923, 1D=20150324, 1M=20150423, 1W=20150330, 1Y=20160323, 2M=20150526, 2W=20150407, 2Y=20170323, 3M=20150623, 3W=20150413, 3Y=20180323, 4M=20150723, 4Y=20190325, 5M=20150824, 5Y=20200323, 6M=20150923, 7M=20151023, 8M=20151123, 9M=20151223, ON=20150319, SN=20150324, SPOT=20150323, TN=20150320, TODAY=20150319, TOM=20150320} Tenor Dates for subject /CALENDAR/TENORDATES/EURUSD/user1@caplin.com
These logs describe data being published for a /CALENDAR/TENORDATES/EURUSD/user1@caplin.com
request:
2015 Mar 19 11:19:10.665 +0000 - [pool-18-thread-5] INFO com.caplin.motif.fx.ret.calendar.request.CalendarServiceRequestListener - Published Tenor Dates for currency pair <EURUSD> is <{10M=20160125, 11M=20160223, 15M=20160623, 18M=20160923, 1D=20150324, 1M=20150423, 1W=20150330, 1Y=20160323, 2M=20150526, 2W=20150407, 2Y=20170323, 3M=20150623, 3W=20150413, 3Y=20180323, 4M=20150723, 4Y=20190325, 5M=20150824, 5Y=20200323, 6M=20150923, 7M=20151023, 8M=20151123, 9M=20151223, SPOT=20150323, TODAY=20150319, TOM=20150320}>