How do I identify different consumer processes in ADS if I have multiple EMA consumers ?

I need an ID to associate the ADS consumer with the process on my local machine

Best Answer

  • umer.nalla
    Answer ✓

    Hi @duncan_kerr

    I don't currently have access to an ADS monitor - so, can you confirm what the identifier consists of - does it correlate to any ID in your consumer config? I suspect it may just be some arbitrary value allocated by the ADS.

    In terms of the AppID - you should be able to set this using the OmmConsumerConfig:applicationID() function - Must be unique for each application. Range 257 to 65535 is available for site-specific use. Range 1 to 256 is reserved.

    You should, however, check with your Market Data team before using a particular value - many MDS / DACS Admin teams allocate unique AppIDs to individual applications - for the purposes of tracking data usage.


Answers

  • I can see each process in ADS has an AppID and an identifier. can I use either of these in EMA to differentiate between subscribers?

  • Hi Umer - Ive been experimenting, and it seems I can set AppId as a string. this can then be used to identify processes in ADSmon, ADHmon and their error logs. It also doesnt seem to break DACS. Can you comment on this approach pls? Here you can see my name in ADSmon:

    image

  • Hi @duncan_kerr

    This would be counter to our API and TREP + DACS documentation and therefore I cannot say what if any side effects it would have - if not now, then in the future (if they decided to enforce the restrictions specified in my reply above).

    I will ask internally from the TREP experts and if I get anything meaningful back I will post here.

  • thanks. If it does turn out to be a problem, could you ask the experts if they can think of an alternative? It can be very time consuming debugging 100's of consumers without knowing which one is which!

  • Hi @duncan_kerr

    I did ask but I did not hear back - I have chased again.

    You mentioned local machine previously - so, just to be clear - are these

    1. multiple instances of the same consumer application running on your PC
    2. different consumer apps on your PC?

    Is there a particular reason you cannot use a numeric ID for each app/instance?

  • Hi @duncan_kerr

    When the DACs expert did some tests using 'dunc' as the AppID, it was replaced with 256 (default) in the DACS server.

    You can ask your DACS team to login to DACS UI and see what your Appid is showning up as.

    The official guidance is that whilst using the non-numeric value may work for now in terms of ADS monitoring etc, this can't be guaranteed in the future.

  • Umer - the reason numneric IDs are difficult is that ine would always have to lookup what each one means. Also I have many people running apps against an ADS, so It'd be imopossible to keep track of numeric IDs. Can I suggest that if AppIds are no good, then to add a new field (AppName) which gets logged in error logs and displayed in ADSmon. It would be hugely useful.

    Duncan

  • Hi @duncan_kerr

    Does each user not have a unique DACS ID, as well as position?

    I can certainly suggest this to the product team but I am not sure likely it would be to be added - as it would require changes to multiple components, the APIs, the TREP components such as ADS and ADH as well as the Dacs server.

    Most other organisations do have a central AppId register and the Market Data team or DACs admin team usually allocate unique IDs to each application.