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
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
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
c66c4c97ab
Whitespace only
2013-11-05 21:07:14 +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
cd08cac490
Whitespace only
2013-02-22 09:45:19 -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
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
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
38f4966ada
Fix documentation error
2012-04-17 18:33:34 -07:00
Johan Tibell
132a6d1618
Documentation improvements
2012-04-17 18:28:16 -07:00
Iustin Pop
72bd777355
Integrate the Label type into Monitoring.hs
...
This adds the framework for being able to actually store and retrieve
labels as part of the server. They are exported in the json objects,
but the client-side files will be updated in a separate patch.
2012-04-17 22:25:24 +02:00
Iustin Pop
42357a50ea
Add a Label metric type
...
This is used to hold Text values, which are free-form and can be used
for (e.g.) hostname, command line, etc.
I've used Text, but I'm not sure whether String would make more sense
for (what are supposed to be) such small values.
2012-04-17 22:21:30 +02:00
Iustin Pop
a3879e049e
Use FunctionalDependencies for internal 'Ref' class
...
This is needed for reference types which don't necessarily have an Int
type (for example, they could be Text, or Double, etc.).
2012-04-17 22:07:42 +02:00
Iustin Pop
3700fcdfac
Fix a simple typo
2012-04-17 21:17:21 +02:00
Johan Tibell
2a77b569c5
Mention that counters are non-negative
2011-12-31 18:39:14 -08:00
Johan Tibell
ac517faa31
Minor doc tweak
2011-12-31 18:29:41 -08:00
Johan Tibell
89ffba4b2a
Doc tweaks
2011-12-31 18:27:11 -08:00
Johan Tibell
c817bdfb5b
Fix doc typo
2011-12-31 18:15:09 -08:00
Johan Tibell
3f26e64280
Actual return the server time in the REST API
2011-12-31 18:10:36 -08:00
Johan Tibell
034ffee2eb
Improve REST API docs
2011-12-31 11:35:44 -08:00
Johan Tibell
3cf252ee96
Improve counter and gauge documentation
2011-12-30 22:37:36 -08:00
Johan Tibell
3832ddfa62
Show built-in counters and gauges in the web interface
...
Reorganized REST API as that was required to support this feature.
2011-12-30 13:34:01 -08:00
Johan Tibell
16cf71f019
Add handler logic for gauges
2011-12-30 11:34:36 -08:00
Johan Tibell
6755998783
Improve docs
2011-12-30 11:33:44 -08:00
Johan Tibell
99539d4b23
Store gauges in addition to references
...
The gauages are not yet served by the server.
2011-12-30 11:02:58 -08:00
Johan Tibell
6bf34dc97e
Add a type for gauges
2011-12-30 10:26:11 -08:00
Johan Tibell
b195b1c48e
Add Counter.modify
2011-12-30 10:13:43 -08:00
Johan Tibell
1a2d637a4e
Document Snap workaround
2011-12-29 18:35:11 -08:00
Johan Tibell
a2e9955fe5
Documentation wibble
2011-12-29 18:29:50 -08:00
Johan Tibell
7d5350badc
Document that it's possible to retrieve a single counter
2011-12-29 18:26:24 -08:00
Johan Tibell
27c346f8f3
Fix bug in URL mapping
2011-12-29 18:14:28 -08:00