alex-mtx / servicedog

A simple application that helps monitoring Windows based applitations, specially .NET apps.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

servicedog

A service that helps monitoring Windows based applications, specially .net.

The need

In an environment full of application tiers, where distributed applications talk to each oder almost in a streamlined way, it is indispensable having a tool that helps to monitor all these integrations. For that matter we can count on an Application Performance Management - APM. We have very good APM choices out there on Internet but unfortunately, for .net running in Windows, one must to pay very high costs for licences. That is why I decided to build servicedog. It will be free and opensource. Forever.

What does its name mean?

Let's start with an official service dog definition in the USA:
Service animals are defined as dogs that are individually trained to do work or perform tasks for people with disabilities. Examples of such work or tasks include guiding people who are blind, alerting people who are deaf, pulling a wheelchair, alerting and protecting a person who is having a seizure, reminding a person with mental illness to take prescribed medications, calming a person with Post Traumatic Stress Disorder (PTSD) during an anxiety attack, or performing other duties...
Notice how this is paired with our sytems environment: usually systems have a perception that something is wrong, normally they record the problem, but they are rarely designed to adequately address such problems. Our systems have some disabilities that someone else needs to address, just like a service dog does. Sometimes he just need to warn a medical center, call someone's attention or take some medicine to it´s "patient".

Goals

  • near realtime event capturing and notifying.
  • servicing .net and native applications.
  • keeping it simple. Yes, KISS.
  • being robust. 10.000 notifications per second should demand at max 5% of one CPU.
  • being completely independent of serviced systems.
  • having some sort of notification plugins infrastructure, so other people can publish events everywhere.
  • initially perceiving integration problems (on DNS lookups, .net HTTP and WCF clients) and notifying another tool through RabbitMQ.
  • must work on Windows Server 2008 and greater.

Infrastructure

Gathering such problems is totally based on Event Tracing Windows (ETW) infrastructure and dependent on Microsoft TraceEvent Library.

About

A simple application that helps monitoring Windows based applitations, specially .NET apps.

License:MIT License


Languages

Language:C# 100.0%