metrics.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:dango.py 作者: khazhyk 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号