Sep 25 2022 10:51 AM
Sep 25 2022 10:51 AM
We have developed a solution in PowerApps which contains several cloud flows. These cloud flows are used to check users access, manage data stored in Dataverse, etc. They are called by a 3rd party application.
We have now discovered that we have some flows failing with timeout and other throttling reasons because we are above the limits described at https://support.microsoft.com/en-us/topic/troubleshooting-slow-running-flows-2a51dcd6-0b21-33da-5ce8....
To proper react when we are reaching these limits we need to be able to create alerts and measure the cloud flows, in real time.
How can we perform this? Does anyone has experience with this topic?
Sep 25 2022 11:55 PM
Hi @JeanP435 , in addition to the possible causes stated in the link you provided there are other possible causes for Flow failure or poor performance. Sometimes it's as a simple as non-specific data queries returning large amounts of data, or a pagination issue. Addressing any possible challenges within a Flow's design is obviously the place to start but assuming that has already been explored, close to real-time monitoring could be achieved through minor modifications to your Flow(s).
You would need a SharePoint list or similar to host the Flow state and performance data. You could add to your Flow an action to update the list when a Flow starts, and at intervals throughout the Flow's run with relevant metadata. You could then model the list in a PowerBI report/dashboard, refreshing at short intervals to monitor progress. It would be simple to set visual alerts based on duration, assuming you could decide on expected durations for each Flow or part thereof. This approach would also provide the additional benefit for retaining performance histories for longer than 28 days.
Sep 26 2022 01:34 AM
Thank you @jonlake. for your suggestion. We are considering on adopting it.
We already reviewed other causes of poor performance and we are generating metrics about number of actions used by each flow, to understand if we can optimise further.
One point which stands out from your suggestion though, is that we need to add more actions to actually monitor the actions performance. I wonder if Microsoft thought about some easier and out of the box way to perform this. A way similar to how we monitor CPU, Memory, Disk etc in Azure.
Appreciate your valuable comments.