I literally just submitted a ticket to an Azure SDK because every API call was taking on the order of 100s of milliseconds.
This is because they were sequentially trying things in a loop and using exceptions for flow control.
If you use an APM, the overhead of this is monstrous.
This particular function is called in every authenticated Azure call by default. Using any such API turns the debug output into a wall of spurious errors scrolling past like the Matrix.
To top it off, they use asynchronous code in a sequential style, so the latency is strictly worse than naive synchronous code. This is a for a bunch of back to back HTTP API calls.
They closed the ticket with a “this is what the style guide says to do” and now millions of customers have to just live with this.
If you ever wondered why nothing takes less than a second in Azure, it’s just a handful of reasons like this.
An easy fix to reduce API response times from seconds to milliseconds… rejected.
This is because they were sequentially trying things in a loop and using exceptions for flow control.
If you use an APM, the overhead of this is monstrous.
This particular function is called in every authenticated Azure call by default. Using any such API turns the debug output into a wall of spurious errors scrolling past like the Matrix.
To top it off, they use asynchronous code in a sequential style, so the latency is strictly worse than naive synchronous code. This is a for a bunch of back to back HTTP API calls.
They closed the ticket with a “this is what the style guide says to do” and now millions of customers have to just live with this.
If you ever wondered why nothing takes less than a second in Azure, it’s just a handful of reasons like this.
An easy fix to reduce API response times from seconds to milliseconds… rejected.