How to develop PagerDuty support in C#
We are currently working on version of AppBeat which will have support for PagerDuty (third party incident management tool).
Their API is very easy to use. Here is code example from AppBeat which sends PagerDuty notifications:
namespace AppBeat.Core.Notifications { class PagerDuty { //NOTE: this is dispatched in separate thread, exception handling is done by NotificationManager public static bool Send(ThirdPartyDispatcher.CustomNotification notification) { var settings = (Types.CustomNotificationPagerDuty)notification.Settings;
if (string.IsNullOrWhiteSpace(settings.ServiceKey)) { throw new Exception("ServiceKey is required!
New website monitoring features (coming soon)
Hello AppBeat users.
Most of our users are currently very happy with our service which gives us a lot of confidence that we are building right tool for you. Thank you for this!
We just wanted to notify you that we are currently finalizing work on new AppBeat version (1.1) which will bring new cool features. We will give you more control about core AppBeat behaviour and we will add more personalization options (we won’t say much more at this point, stay tuned for version 1.
AppBeat Wish List - how would you improve our monitoring solution?
What would you like to see in future versions of our monitoring app?
We have created draft of initial ideas. We would like to encourage you to vote for your favorite feature or publish your own request.
Currently we have following ideas:
AppBeat monitoring API
For example, custom clients can be made. Realtime user monitoring reports
Put AppBeat JavaScript snippet on your page and monitor real time user performance. Mobile apps
Coming very soon: Website Speed Test
We are currently doing final internal review of our API for synthetic website speed testing!
var harResponse = AppBeat.PageSpeed.API.RunTest(test.PublicId, test.Url, test.Location);
We have build entire infrastructure for this from grounds up in record time. We will provide multiple test locations and simple page for everyone to use.
Later we will provide special REST API for website speed testing and we will also integrate this functionality into AppBeat monitoring as free bonus.
C# - how to lock without deadlocks
In C# there is built-in keyword lock which enables you to create thread-safe methods. However, you must be aware that if you are not careful, you can create deadlock conditions where your method waits for lock indefinitely.
How lock keyword works? As described in “Locks and exceptions do not mix” blog article, in C# 4 compiler translates lock statement into this:
bool lockWasTaken = false; var temp = obj; try { Monitor.