File: //home/arjun/projects/env/lib/python3.10/site-packages/flower/__pycache__/events.cpython-310.pyc
o
/weN � @ s� d dl Z d dlZd dlZd dlZd dlZd dl mZ d dlmZ d dlm Z d dl
mZ d dlmZ
d dlmZmZ d dlmZ d dlmZ e�e�Zdad d
� ZG dd� d�ZG d
d� de�ZG dd� dej�ZdS )� N)�Counter)�partial)�
EventReceiver)�State)�Gauge� Histogram)�PeriodicCallback)�optionsc C s t d u rt� a t S �N)�PROMETHEUS_METRICS�PrometheusMetrics� r
r
�F/home/arjun/projects/env/lib/python3.10/site-packages/flower/events.py�get_prometheus_metrics s r c @ s e Zd Zdd� ZdS )r c C sr t ddg d��| _tddddgtjd�| _td d
ddg�| _tddddg�| _td
ddg�| _ tdddg�| _
d S )N�flower_events_totalzNumber of events)�worker�type�task�flower_task_runtime_secondszTask runtimer r )�buckets�!flower_task_prefetch_time_secondszDThe time the task spent waiting at the celery worker to be executed.�flower_worker_prefetched_tasksz4Number of tasks of given type prefetched at a worker�flower_worker_onlinezWorker online status�1flower_worker_number_of_currently_executing_tasksz/Number of tasks currently executing at a worker)�PrometheusCounter�eventsr r �task_runtime_metric_buckets�runtimer �
prefetch_time�number_of_prefetched_tasks�
worker_online�*worker_number_of_currently_executing_tasks��selfr
r
r �__init__ s. ���
�zPrometheusMetrics.__init__N)�__name__�
__module__�__qualname__r$ r
r
r
r r s r c s( e Zd Z� fdd�Z� fdd�Z� ZS )�EventsStatec s* t � j|i |�� t�t�| _t� | _d S r
)�superr$ �collections�defaultdictr �counterr �metrics)r# �args�kwargs�� __class__r
r r$ <