Commit graph

161 commits

Author SHA1 Message Date
Johan Tibell
404c891610 Follow Int to Int64 changes in ekg-core 2014-04-21 11:42:14 +02:00
Johan Tibell
0f8352cff3 Break out core metric tracking into a new package
The new package, ekg-core, contains the metrics store, modules for
defining metrics, and functions for sampling the metrics.

The counter naming is also changed to include a namespace part. For
example "myapp.requests".

Finally the JSON format has been changed to be more self-descriptive.
2014-04-20 10:18:13 +02:00
Johan Tibell
52bc89f474 Fix memory leak in new counter implementation
Since we're allocating memory for use outside Haskell, we're
responsible for freeing it. Switched to ForeignPtr to automate this.
2014-04-10 15:21:07 +02:00
Johan Tibell
308768c5b1 Use GCC builtins instead of inline asm 2014-04-10 15:16:38 +02:00
Johan Tibell
8ce7d7ea47 Add GHC 7.8.1 to travis-ci config 2014-04-10 08:02:11 +02:00
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
Johan Tibell
7f11142c89 Add a benchmark
The benchmark tests a single heavily contended counter.
2014-04-08 16:01:28 +02:00
Johan Tibell
61228d0ac2 Add CHANGE.md to Cabal file 2014-03-05 21:36:22 +01:00
Johan Tibell
7057a9b37a Renamed change log so it can be picked up by Hackage 2014-03-05 21:35:40 +01:00
Johan Tibell
6ae685e8ea Add unminified bootstrap source
Re-add the minified source as well, as there's been some tiny
modification since I last downloaded the source.

Required by e.g. Debian. Fixes #20.
2014-03-02 22:16:49 +01:00
Edward Kmett
66bb19409a Dependency bump to work with current aeson and text 2014-01-29 03:43:01 -05:00
Johan Tibell
f487ac6b71 Allow sampling of subsets of all metrics 2013-11-21 21:47:28 +01:00
Johan Tibell
cf16f54193 Don't export S.R.Snap.monitor 2013-11-21 21:46:34 +01:00
Johan Tibell
7c0db01966 Change the API of sampleAll 2013-11-21 21:12:04 +01:00
Johan Tibell
d5b4de2923 Whitespace-only in .cabal 2013-11-21 20:34:33 +01:00
Johan Tibell
2e85dba097 travis-ci config: ekg only builds on GHC 7.4 and later 2013-11-05 21:36:06 +01:00
Johan Tibell
c66c4c97ab Whitespace only 2013-11-05 21:07:14 +01:00
Johan Tibell
69f53a150b Add a travis-ci config file 2013-11-05 21:02:12 +01:00
Johan Tibell
bc8955aa30 Move parseHttpAccept to Snap module 2013-11-05 20:52:45 +01:00
Johan Tibell
a2fd56d42c Add a way to get a snapshot of all metrics 2013-05-19 12:14:42 -07:00
Johan Tibell
db950016fc Generalize readAllRefs 2013-05-19 11:57:09 -07:00
Johan Tibell
bb86dce66a Generalize partitionGcStats 2013-05-19 11:53:59 -07:00
Simon Meier
b09050fa6c Factor out and polish counter, gauge, and label serving.
Handlers are no longer triggered by a prefix of their path.
2013-04-10 08:54:14 +02:00
Johan Tibell
9f930bed32 Bump version number to 0.3.1.3 2013-02-22 09:51:00 -08:00
Johan Tibell
f983211d40 Remove another mention of version in UI 2013-02-22 09:50:50 -08:00
Johan Tibell
4963c8a397 Add release notes for 0.3.1.3 2013-02-22 09:49:06 -08:00
Johan Tibell
cd08cac490 Whitespace only 2013-02-22 09:45:19 -08:00
Johan Tibell
a5436c7e2e Change basic example to not blow the stack
It was using sum from the Prelude which is implemented using a
non-strict left fold, causing it to blow the stack.
2013-02-22 09:42:43 -08:00
Johan Tibell
050c472410 Correctly bind the server to the right host name
This allows you to e.g. only listen for connections to localhost. This
fixes #11.
2013-02-21 16:50:42 -08:00
Johan Tibell
19e54b8fbc Add a note on security 2013-02-21 09:51:53 -08:00
Johan Tibell
642a13cfc7 Add release notes for 0.3.1.2 after the fact 2013-02-20 19:27:25 -08:00
Johan Tibell
2760182270 Remove mention of version number from the UI
It was too hard to keep in sync and didn't really serve any purpose.
2013-02-20 19:25:22 -08:00
Johan Tibell
f66b0ede98 Removing warning on base < 4.6 2013-02-20 09:22:33 -08:00
Johan Tibell
d9368753c5 Remove conditional export of GC counter
Previously par_tot_bytes_copied was only exported if base-6.4 or later
was used to compile ekg. Now it's always exported and uses
parAvgBytesCopied (which has the same meaning as parTotBytesCopied) when
ekg is compiled against older versions of base.
2013-02-20 09:14:00 -08:00
Johan Tibell
30ec8af91b Shorten complicated sentence in documentation 2013-02-20 08:27:19 -08:00
Johan Tibell
dc3adf4dd9 Small documentation tweaks 2013-02-20 08:25:26 -08:00
Johan Tibell
60e28182e9 Move documentation of user-defined counters
It was mistakenly moved to an internal module as part of a refactoring.
2013-02-20 08:23:50 -08:00
Conrad Parker
1bf10844ce Split out Common and Snap modules
Move the Snap-specific code to a single module, to allow backends
using other webservers.
2013-01-03 17:17:10 +08:00
Conrad Parker
d782506466 Extract content builders as IO actions 2013-01-03 16:16:20 +08:00
Johan Tibell
d1e8628204 If GC stats aren't available, just return 0 for all values 2012-09-18 23:11:34 +02:00
Johan Tibell
8884284701 Bump version number to 0.3.1.2 2012-09-18 22:56:12 +02:00
Johan Tibell
8ec7f79c6c Check getGcStatsEnabled on 7.6.1 2012-09-18 22:55:07 +02:00
Johan Tibell
27467a61b3 parAvgBytesCopied was renamed in GHC 7.6.1 2012-09-18 22:30:23 +02:00
Johan Tibell
65adb902ed Bump version number to 0.3.1.1 2012-06-25 07:56:21 -07:00
Johan Tibell
e04281ee5b Add release notes for 0.3.1.1 2012-06-25 07:55:26 -07:00
Bas van Dijk
63a9a79816 Bump dependency on snap 2012-06-18 17:14:11 +02:00
Johan Tibell
33b9e8b51a Bump dependency on containers 2012-05-05 08:26:59 -07:00
Johan Tibell
2384bfce22 Update release notes 2012-04-18 07:51:49 -07:00
Johan Tibell
1ee934d162 Add examples to sdist tarball 2012-04-17 19:11:23 -07:00
Johan Tibell
2cf463e0cf Extend example with labels 2012-04-17 19:06:32 -07:00