Johan Tibell

Results 165 comments of Johan Tibell

The `Value` type captures semantic information about the metric being monitoried: ```haskell data Value = Counter {-# UNPACK #-} !Int64 | Gauge {-# UNPACK #-} !Int64 | Label {-# UNPACK...

> the monotonically-increasing semantics of a counter shouldn't matter, because it's implementable in terms of a `gauge`. The distinction makes a difference to the consumer and is why statsd also...

This is in the plans but I haven't had time to work on it yet. I'd like a design where creating e.g. a counter indexed by N dimensions (e.g. integers...

ekg used to do this for its `getX` functions, but I changed it at some point and decided to let others add that kind of functionality on top of ekg....

@tfausak I don't know if I would go as strongly as "not allow", but at work we've found that all dynamically named metrics we're really just single metrics with dimension(s)....

Basically what @lucasdicioccio said. I imagine a new API in ekg-core, lets call it `System.Metrics.MultiDim.Counter` for the sake of this example. (None of this compiles as is, but hopefully gives...

It's not exposed because I want to be able to change the implementation (e.g. to add support for quantiles). However, I am open to adding e.g. `Binary` instances or explicit...

I think depending on binary is OK. If we don't want to commit to a specific library we could instead just offer: ```haskell encodeStats :: Stats -> ByteString decodeStats ::...

> Have you seen HdrHistogram? It's a preferred alternative to an ordinary histogram since it avoids coordinated omission. I have. Unfortunately I believe they suffer from the same problem as...

The main reason is that if you're guaranteed that a counter is non-decreasing, you can detect when a process you're monitoring crashes (because the counter would go backwards) and correct...