Commit graph

174 commits

Author SHA1 Message Date
Sergei Trofimovich
2184a1b2d6 ekg.cabal: allow transformers-0.4
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2014-07-19 00:43:53 +03:00
Johan Tibell
93d2f7198f Bump version number to 0.4.0.1 2014-07-12 12:35:39 +02:00
Oliver Charles
e2fee86469 Correct a JavaScript exception for empty distributions
If you create a distribution but don't write to it, the mean of the
distribution is NaN - which Aeson encodes as `null`. Thus we have to
make sure that when working with the mean, we check for `null`.
2014-07-12 11:02:19 +01:00
Johan Tibell
9a6e426075 Update changelog 2014-05-01 13:13:56 +02:00
Johan Tibell
c8831e5a23 Small documentation clarifications 2014-04-30 22:34:55 +02:00
Johan Tibell
b02310ea1e Try to link to ekg-core instead of re-exports in docs 2014-04-30 22:24:44 +02:00
Johan Tibell
3897d1485c Don't re-export Distribution as a new module
We want to encourage users to use the ekg-core package instead.
2014-04-30 22:17:02 +02:00
Johan Tibell
340fe7005d Add deprecation notice to metrics modules
Users should import these modules from the ekg-core package instead.
2014-04-30 22:12:47 +02:00
Johan Tibell
15ae7a4805 Bump network dependency to include 2.5 2014-04-27 23:24:54 +02:00
Johan Tibell
6418f45ab0 Some haddock improvements 2014-04-24 15:20:44 +02:00
Johan Tibell
f8d7f01ce7 Only expose Distribution write API
This is consistent with other metrics.
2014-04-21 22:33:07 +02:00
Johan Tibell
88996a4157 Move benchmark to ekg-core 2014-04-21 16:42:14 +02:00
Johan Tibell
e74133eb70 Add distribution event type 2014-04-21 15:53:30 +02:00
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