metrex v0.0.2 Metrex.Meter

Meter metrics implementation. Timeseries counter approach to increment, decrement using unixtime stamp.

Examples

Static meters

Add list of counters into config.exs file to autostart counters:

config :metrex,
  meters: ["pageviews"]

On-demand meters

To create on-demand meters, you need to call start_link function:

# Initialize counter with 0
Metrex.Meter.start_link("special_clicks")

# Initialize counter with x(number)
Metrex.Meter.start_link("special_clicks", %{1475452816 => 35, 1475452816 => 28})

Meter operations

Meter operations are increment, decrement, count and dump:

# Increment a meter by 1
Metrex.Meter.increment("pageviews")

# Increment a meter by x(number)
Metrex.Meter.increment("pageviews", 5)

# Decrement a meter by 1
Metrex.Meter.decrement("pageviews")

# Decrement a meter by x(number)
Metrex.Meter.decrement("pageviews", 3)

# Get latest meter count
Metrex.Meter.count("pageviews")

# Get meter for unixtime
Metrex.Meter.count("pageviews", 1475452816)

# Dump meter map related to a metric
Metrex.Meter.dump("pageviews")

Summary

Functions

Display current counter

Decrement metric by given val

Return all metric data

Increment metric by given val

Start a new meter metric

Functions

count(metric)

Display current counter

count(metric, time)
decrement(metric, val \\ 1)

Decrement metric by given val

dump(metric)

Return all metric data

increment(metric, val \\ 1)

Increment metric by given val

start_link(metric)

Start a new meter metric

start_link(metric, map)