Rest api equivalent for ADSMON stats

james_molohon
james_molohon Explorer
edited May 14 in TREP Infrastructure

I don't have direct access to the ADSMON tool, but our server is set up to allow access via REST api.
I'm looking for where in the API i would find equivalent stats to what the tool displays under
Data Streams:
opensFromOverflowQueue
streamIdMismatch


These are the resources available in the API:
Configuration Resources
/configs
/configs/routes
/configs/routes/<routeName>/services
/configs/routes/<routeName>/services/<serviceName>/parameters/<parameterName>
/configs/services/<serviceName>/parameters/<parameterName>
/configs/parameters/<parameterName>

Shared Memory Resources
/sharedmem
/sharedmem/classes
/sharedmem/classes/<className>
/sharedmem/classes/<className>/instances
/sharedmem/classes/<className>/instances/<instanceName>
/sharedmem/classes/<className>/instances/<instanceName>/variables/<variableName>
/sharedmem/classes/<className>/variables/<variableName>

Shared Memory Predefined Resources
/sharedmem/print/process
/sharedmem/print/users
/sharedmem/print/mounts
/sharedmem/print/services
/sharedmem/print/servers
/sharedmem/print/commlinks
/sharedmem/print/rrmp
/sharedmem/print/ipc
/sharedmem/print/dacs

Item Database Resources
/itemdb/cache
/itemdb/state
/itemdb/services/<serviceName>/cache
/itemdb/services/<serviceName>/state
/itemdb/services/<serviceName>/items/<itemName>/cache
/itemdb/services/<serviceName>/items/<itemName>/state

Answers

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @james_molohon

    Thank you for reaching out to us.

    Yes, you can use the ADS REST API to retrieve ADS stats.

    The endpoint is /sharedmem. For example:

    First, you can use the /sharedmem/print/mounts endpoint to get the list of mounts.

    bash-4.4$ curl http://127.0.0.1:8080/sharedmem/print/mounts
    [{"Instance":"86dd62c6c51e.1.ads.userDatabase.mount1","Class":"Consumer.SinkDist","Variables":[],"Children":[{"Instance":"86dd62c6c51e.1.ads.userDatabase.mount1.attributes","Class":"ConsumerAttributes.SinkDist","Variables":[{"Name":"name","Type":"String","Value":"user"},{"Name":"position","Type":"String","Value":"192.168.1.115/net"},{"Name":"applicationKey","Type":"String","Value":"256"},{"Name":"channel","Type":"Numeric","Value":24},{"Name":"protocol","Type":"Numeric","Value":7}]},{"Instance":"86dd62c6c51e.1.ads.userDatabase.mount1.dataStreams","Class":"ConsumerDataStream","Variables":[{"Name":"total","Type":"Numeric","Value":1}]}]}]b

    Then, you the instance with the /sharedmem/classes/ConsumerDataStream/instances/<instance>.dataStreams to retrieve the require stats.

    bash-4.4$ curl http://127.0.0.1:8080/sharedmem/classes/ConsumerDataStream/instances/86dd62c6c51e.1.ads.userDatabase.mount1.dataStreams
    {"Instance":"86dd62c6c51e.1.ads.userDatabase.mount1.dataStreams","Class":"ConsumerDataStream","Variables":[{"Name":"opens","Type":"Numeric","Value":1},{"Name":"normalOpens","Type":"Counter","Value":1},{"Name":"snapshotOpens","Type":"Counter","Value":0},{"Name":"recoverableOpens","Type":"Counter","Value":0},{"Name":"nonRecoverableOpens","Type":"Counter","Value":0},{"Name":"viewRequests","Type":"Counter","Value":0},{"Name":"permissionDenials","Type":"Counter","Value":0},{"Name":"updatePermDenials","Type":"Counter","Value":0},{"Name":"mapEntryPermDenials","Type":"Counter","Value":0},{"Name":"recoverableCloses","Type":"Counter","Value":0},{"Name":"nonRecoverableCloses","Type":"Counter","Value":0},{"Name":"preemptionCloses","Type":"Counter","Value":0},{"Name":"updatesDelayed","Type":"Counter","Value":0},{"Name":"updatesMerged","Type":"Counter","Value":0},{"Name":"updatesExtracted","Type":"Counter","Value":0},{"Name":"updatesFiltered","Type":"Counter","Value":0},{"Name":"opensFromOverflowQueue","Type":"Counter","Value":0},{"Name":"thresholdOverflowTime","Type":"Numeric","Value":0},{"Name":"streamIdMismatch","Type":"Counter","Value":0},{"Name":"appendixAReq","Type":"Counter","Value":0},{"Name":"total","Type":"Numeric","Value":1},{"Name":"cached","Type":"Numeric","Value":1},{"Name":"active","Type":"Numeric","Value":1},{"Name":"stale","Type":"Numeric","Value":0},{"Name":"paused","Type":"Numeric","Value":0},{"Name":"private","Type":"Numeric","Value":0},{"Name":"privateStale","Type":"Numeric","Value":0},{"Name":"pending","Type":"Numeric","Value":0},{"Name":"pendingOut","Type":"Numeric","Value":0},{"Name":"recovery","Type":"Numeric","Value":0},{"Name":"preemption","Type":"Numeric","Value":0},{"Name":"maxUpdateDelay","Type":"Numeric","Value":0},{"Name":"percentOverflowTime","Type":"String","Value":"0.0"}],"Children":[]}

    For more information, please contact the ADS support team directly via MyAccount,