In the last weeks we were working on the Azure Status Page Generator to give everybody the chance to generate Status Pages within minutes. Start right now with it by visiting our project page at GitHub.
This article digs deeper into the Client Side Meters feature of the Azure Status Page Site Generator.
What is a Meter?
In the Azure Status Page project, a Meter is something that describes a specific metric you would like to measure and observe. Meters can be defined in the Azure Status Page Site Extension as Service Side Meters. Another convenient way is, to define and send meters to your own application. This kind of meters are called Client Side Meters and can be defined and updated via an SDK, delivered from us.
Client Side Meter SDK
Azure Status Page currently offers SDKs for two major platforms. The nodejs SDK is available as NPM component:
npm install azure-status-page-client –save
Azure Status Page also supports C# application e.g. ASP.NET WebServices or WebWorker for background processing. Just install the NuGet package as follows:
Good examples for Client Side Meters are the following, that we are also using in production:
- Queue Triggered WebJob HeartBeat
A worker implemented based on Azure WebJobs and triggered via QueueMessage can be observed with a client side heartbeat meter. Just send a message during every polling to the Azure Status Page. As soon as your worker is blocking or hanging, a filed meter will be detected and you will get notified via PushOver.
- Free Disk-Space for Caches or Max Size of a file Cache
Sometimes using file based caches on the application server can help to speed up your application dramatically. During the maintenance process for the cache the client side meter can send the size of the cache or the free disk space to Azure Status Page. You will get an alert when the cache grows abnormally or your disk space exceeds.
Do you have other ideas for great client side meters? We are planning to offer pre-developed meters as part of our Client SDKs that you can plug into your application directly. Let us know via GitHub Issue or via blog comment what is needed.