No description
64e6ba1259
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. |
||
---|---|---|
assets | ||
benchmarks | ||
cbits | ||
examples | ||
System/Remote | ||
.gitignore | ||
.travis.yml | ||
CHANGES.md | ||
ekg.cabal | ||
LICENSE | ||
LICENSE.icons | ||
LICENSE.javascript | ||
README.md | ||
Setup.hs |
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.