2020-12-21 11:45:07 +00:00
|
|
|
# Copyright (c) 2019 Status Research & Development GmbH
|
|
|
|
# Licensed and distributed under either of
|
2021-06-09 14:59:52 +00:00
|
|
|
# * MIT license: http://opensource.org/licenses/MIT
|
|
|
|
# * Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0
|
2020-12-21 11:45:07 +00:00
|
|
|
# at your option. This file may not be copied, modified, or distributed except according to those terms.
|
|
|
|
|
|
|
|
from chronicles import formatIt, expandIt
|
|
|
|
import ../metrics
|
|
|
|
|
|
|
|
when defined(metrics):
|
|
|
|
import tables
|
|
|
|
|
|
|
|
formatIt(Metric):
|
|
|
|
it.toText(showTimestamp = false)
|
|
|
|
|
|
|
|
proc toLog(collector: Collector): seq[string] =
|
|
|
|
result = @[]
|
|
|
|
for metrics in collector.metrics.values():
|
|
|
|
for metric in metrics:
|
|
|
|
result.add(metric.toText(showTimestamp = false))
|
|
|
|
|
|
|
|
proc toLog(c: Counter): auto =
|
|
|
|
Collector(c).toLog()
|
|
|
|
|
|
|
|
formatIt(Counter):
|
|
|
|
it.toLog
|
|
|
|
|
|
|
|
proc toLog(c: Gauge): auto =
|
|
|
|
Collector(c).toLog()
|
|
|
|
|
|
|
|
formatIt(Gauge):
|
|
|
|
it.toLog
|
|
|
|
|
|
|
|
proc toLog(c: Summary): auto =
|
|
|
|
Collector(c).toLog()
|
|
|
|
|
|
|
|
formatIt(Summary):
|
|
|
|
it.toLog
|
|
|
|
|
|
|
|
proc toLog(c: Histogram): auto =
|
|
|
|
Collector(c).toLog()
|
|
|
|
|
|
|
|
formatIt(Histogram):
|
|
|
|
it.toLog
|
|
|
|
|
|
|
|
proc toLog(registry: Registry): seq[seq[string]] =
|
|
|
|
result = @[]
|
|
|
|
{.gcsafe.}:
|
|
|
|
for metricsTable in registry.collect().values():
|
|
|
|
for metrics in metricsTable.values():
|
|
|
|
var res: seq[string]
|
|
|
|
for metric in metrics:
|
|
|
|
res.add(metric.toText(showTimestamp = false))
|
|
|
|
result.add(res)
|
|
|
|
|
|
|
|
formatIt(Registry):
|
|
|
|
it.toLog
|
|
|
|
else:
|
|
|
|
# not defined(metrics)
|
|
|
|
formatIt(Metric):
|
|
|
|
"metrics disabled"
|
|
|
|
|
|
|
|
formatIt(Counter):
|
|
|
|
"metrics disabled"
|
|
|
|
|
|
|
|
formatIt(Gauge):
|
|
|
|
"metrics disabled"
|
|
|
|
|
|
|
|
formatIt(Summary):
|
|
|
|
"metrics disabled"
|
|
|
|
|
|
|
|
formatIt(Histogram):
|
|
|
|
"metrics disabled"
|
|
|
|
|
|
|
|
formatIt(Registry):
|
|
|
|
"metrics disabled"
|
|
|
|
|
|
|
|
# ignored collector
|
|
|
|
expandIt(type IgnoredCollector):
|
|
|
|
ignored = "ignored"
|
|
|
|
|