No description
Find a file
Johan Tibell 64e6ba1259 Improve scalability of counters a lot
Counters now scale orders of magnitudes better as the number of
writers to the same counter increases. Here's the results on our
current benchmark on a 6 core machine:

        cores
            1       6
before  1.87s  81.09s
after   0.11s   0.32s

Note how the very heavy contention gives a slowdown rather than a
speedup as the number of cores increases, but the new implementation
slows down much less than the old one and is also generally faster.
2014-04-08 17:25:58 +02:00
assets Add unminified bootstrap source 2014-03-02 22:16:49 +01:00
benchmarks Add a benchmark 2014-04-08 16:01:28 +02:00
cbits Improve scalability of counters a lot 2014-04-08 17:25:58 +02:00
examples Change basic example to not blow the stack 2013-02-22 09:42:43 -08:00
System/Remote Improve scalability of counters a lot 2014-04-08 17:25:58 +02:00
.gitignore Add .gitignore 2011-10-29 13:30:20 -07:00
.travis.yml travis-ci config: ekg only builds on GHC 7.4 and later 2013-11-05 21:36:06 +01:00
CHANGES.md Renamed change log so it can be picked up by Hackage 2014-03-05 21:35:40 +01:00
ekg.cabal Improve scalability of counters a lot 2014-04-08 17:25:58 +02:00
LICENSE Initial import 2011-10-29 13:29:32 -07:00
LICENSE.icons Change icons to Creative Commons Attribution 3.0 licensed ones 2012-04-03 18:27:06 -07:00
LICENSE.javascript Add original (non-minified) JS files 2012-04-13 18:46:03 +02:00
README.md Fleshed out README 2011-12-27 16:48:26 -08:00
Setup.hs Initial import 2011-10-29 13:29:32 -07:00

EKG: Remote monitoring of running processes over HTTP

This library lets you remotely monitor a running process over HTTP. It provides a simple way to integrate a monitoring server into any application.

Getting started

Adding monitoring to your application is simple. Just launch the monitoring server as soon as your application starts

import System.Remote.Monitoring

main = do
     forkServer "localhost" 8000
     ...

and then visit http://localhost:8000/ in your web browser.

JSON API

The monitoring server also lets you to retrieve the stats as JSON. Simply send the server an HTTP GET request with the Accept header set to "application/json":

curl -H "Accept: application/json" http://localhost:8000/

You can use the JSON API to e.g. write applications that monitor other applications.

Get involved!

Please report bugs via the GitHub issue tracker.

Master git repository:

git clone https://github.com/tibbe/ekg.git

Authors

This library is written and maintained by Johan Tibell, johan.tibell@gmail.com.