ekg-json-0.1.0.6: JSON encoding of ekg metrics

Safe HaskellNone
LanguageHaskell2010

System.Metrics.Json

Contents

Description

Encoding of ekg metrics as JSON. The encoding defined by the functions in this module are standardized and used by the ekg web UI. The purpose of this module is to let other web servers and frameworks than the one used by the ekg package expose ekg metrics.

Synopsis

Converting metrics to JSON values

sampleToJson :: Sample -> Value #

Encode metrics as nested JSON objects. Each "." in the metric name introduces a new level of nesting. For example, the metrics [("foo.bar", 10), ("foo.baz", "label")] are encoded as

{
  "foo": {
    "bar": {
      "type:", "c",
      "val": 10
    },
    "baz": {
      "type": "l",
      "val": "label"
    }
  }
}

valueToJson :: Value -> Value #

Encodes a single metric as a JSON object. Example:

{
  "type": "c",
  "val": 89460
}

Newtype wrappers with instances

newtype Sample #

Newtype wrapper that provides a ToJSON instances for the underlying Sample without creating an orphan instance.

Constructors

Sample Sample 
Instances
Show Sample # 
Instance details

Defined in System.Metrics.Json

ToJSON Sample #

Uses sampleToJson.

Instance details

Defined in System.Metrics.Json

newtype Value #

Newtype wrapper that provides a ToJSON instances for the underlying Value without creating an orphan instance.

Constructors

Value Value 
Instances
Show Value # 
Instance details

Defined in System.Metrics.Json

Methods

showsPrec :: Int -> Value -> ShowS #

show :: Value -> String #

showList :: [Value] -> ShowS #

ToJSON Value #

Uses valueToJson.

Instance details

Defined in System.Metrics.Json