def __init__(self, bot, config, http):
self.declare_metric(
"opcodes", prometheus_client.Counter, 'Opcodes', ['opcode'])
self.declare_metric(
"dispatch_events", prometheus_client.Counter, 'Dispatch Events', ['event'])
self.declare_metric(
"command_triggers", prometheus_client.Counter, 'Command Triggers', ['command'])
self.declare_metric(
"command_completions", prometheus_client.Counter, 'Command Completions', ['command'])
self.declare_metric(
"command_errors", prometheus_client.Counter, 'Command Errors', ['command', 'error'])
self.declare_metric(
"command_timing", prometheus_client.Histogram, 'Command Timing', ['command'])
self.declare_metric(
"server_count", prometheus_client.Gauge, "Server Count",
function=lambda: len(self.bot.guilds))
self.declare_metric(
"member_count", prometheus_client.Gauge, "Member Count", ['status'])
for status in discord.Status:
self.member_count.labels(status=status.name).set_function(
_count_members_fac(bot, status))
for opcode in OPCODE_NAMES.values():
self.opcodes.labels(opcode=opcode)
for dispatch_name in DISPATCH_NAMES:
self.dispatch_events.labels(event=dispatch_name)
self._in_flight_ctx = {}
self.bot = bot
http.add_handler("GET", "/metrics", self.handle_metrics)
评论列表
文章目录