Introduction
I covered monitoring concurrent sync requests is a previous post. You can check it out here.
Similar for async is still work in progress, but you could use the monitoring api to get some intel.
I execute this 5 times and then run the following integration -
Let's try both out - firstly, I run the asyncTest integration 5 times, with a ca. 1 second gap between invokes. I then run the scheduled integration which will tell me how many concurrent async requests I have processing.
This is the factory api invoke I will use -
https://design.integration.us-phoenix-1.ocp.oraclecloud.com/ic/api/integration/v1/monitoring/instances?integrationInstance=yourOICInstance&q={startdate:'2025-10-14+13:00:00',enddate:'2025-10-14+14:00:00'}
I set the q value in the ASSIGN Action and also initialise a counter -
The configuration of the invoke is easy. I've already tried out the api in Postman, so I can just copy what I need from there.
"flowType": "ASYNC_ONE_WAY",
I also need the status -
"status": "FAILED",
Valid values are for status are -
- FAILED
- ABORTED
- COMPLETED
- IN_PROGRESS
- RECEIVED
The SWITCH action is configured to ignore these and just increment the counter, for the other 2 states.
There are a couple of caveats here - it is a point in time view of received/in-flight async requests. This is dependent on the parameter values you set. Data will be inaccurate, if the time window is too large. Also, one needs to take into account the time taken to execute the scheduled integration itself. Finally, because of large data volumes, you may only want to check the concurrency for certain async integrations. This is easy, as the factory api lets you query on project/integration.
Net, net - despite the caveats, this may be useful for some folks.
No comments:
Post a Comment