ekg: Remote monitoring of processes

[ bsd3, library, network, system ] [ Propose Tags ]

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


[Skip to Readme]
Versions 0.1.0.0, 0.2.0.0, 0.3.0.0, 0.3.0.1, 0.3.0.2, 0.3.0.3, 0.3.0.4, 0.3.0.5, 0.3.1.0, 0.3.1.1, 0.3.1.2, 0.3.1.3, 0.3.1.4, 0.4.0.0, 0.4.0.1, 0.4.0.2, 0.4.0.3, 0.4.0.4, 0.4.0.5, 0.4.0.6, 0.4.0.7, 0.4.0.8, 0.4.0.9, 0.4.0.10, 0.4.0.11, 0.4.0.12, 0.4.0.13, 0.4.0.14, 0.4.0.15
Change log CHANGES.md
Dependencies aeson (>=0.4 && <1.5), base (>=4.5 && <4.12), bytestring (<1.0), ekg-core (==0.1.*), ekg-json (==0.1.*), filepath (<1.5), network (<2.9), snap-core (<1.1), snap-server (<1.2), text (<1.3), time (<1.9), transformers (<0.6), unordered-containers (<0.3) [details]
License BSD-3-Clause
Author Johan Tibell
Maintainer Johan Tibell <johan.tibell@gmail.com>, Mikhail Glushenkov <mikhail.glushenkov@gmail.com>
Revised Revision 4 made by MikhailGlushenkov at Tue Oct 16 21:53:37 UTC 2018
Category System, Network
Home page https://github.com/tibbe/ekg
Bug tracker https://github.com/tibbe/ekg/issues
Source repo head: git clone https://github.com/tibbe/ekg.git
Uploaded by MikhailGlushenkov at Tue Mar 20 14:11:56 UTC 2018
Distributions Debian:0.4.0.15, FreeBSD:0.4.0.8, LTSHaskell:0.4.0.15, NixOS:0.4.0.15
Downloads 20325 total (134 in the last 30 days)
Rating 2.5 (votes: 4) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-03-20 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for ekg-0.4.0.15

[back to package description]

EKG: Remote monitoring of running processes over HTTP Hackage version Build Status

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.

To make full use out of this module you must first enable GC statistics collection in the run-time system. To enable GC statistics collection, either run your program with

+RTS -T

or compile it with

-with-rtsopts=-T

The runtime overhead of -T is very small so it's safe to always leave it enabled.

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.