Statistics and Monitoring - celery.monitoring¶
Publishing Statistics and Monitoring Celery.
- class celery.monitoring.Statistics(**kwargs)¶
Base class for classes publishing celery statistics.
- type¶
- REQUIRED The type of statistics this class handles.
Required handlers
- publish(**data)¶
Publish statistics to be collected later by StatsCollector.
Parameter: data – An arbitrary Python object containing the statistics to be published.
- run(*args, **kwargs)¶
- Start producing statistics.
- classmethod start(*args, **kwargs)¶
- Convenience method instantiating and running run() in one swoop.
- stop(*args, **kwargs)¶
- Stop producing and publish statistics.
- class celery.monitoring.StatsCollector¶
Collect and report Celery statistics.
- NOTE: Please run only one collector at any time, or your stats
- will be skewed.
- total_tasks_processed¶
- The number of tasks executed in total since the first time collect() was executed on this class instance.
- total_tasks_processed_by_type¶
- A dictionary of task names and how many times they have been executed in total since the first time collect() was executed on this class instance.
- total_task_time_running¶
- The total time, in seconds, it took to process all the tasks executed since the first time collect() was executed on this class instance.
- total_task_time_running_by_type¶
- A dictionary of task names and their total running time in seconds, counting all the tasks that has been run since the first time collect() was executed on this class instance.
- NOTE: You have to run collect() for these attributes
- to be filled.
- collect()¶
- Collect any new statistics available since the last time :methd:`collect` was executed.
- dump_to_cache(cache_key_prefix='celery-statistics')¶
- Store collected statistics in the cache.
- report()¶
Dump a nice statistics report from the data collected since the first time collect() was executed on this instance.
It outputs the following information:
- Total processing time by task type and how many times each
task has been excuted.
Total task processing time.
Total number of tasks executed
- task_time_running(task_id, task_name, args, kwargs, nsecs)¶
Process statistics regarding how long a task has been running (the :class:TaskTimerStats` class is responsible for sending these).
Parameters: - task_id – The UUID of the task.
- task_name – The name of task.
- args – The tasks positional arguments.
- kwargs – The tasks keyword arguments.
- nsecs – The number of seconds (in time.time() format) it took to execute the task.
- class celery.monitoring.TaskTimerStats(**kwargs)¶
- Time a running celery.task.Task.
- class celery.monitoring.TimerStats(**kwargs)¶
A generic timer producing celery statistics.
- time_start¶
- The time when this class was instantiated (in time.time() format.)
- on_finish()¶
What to do when the timers stop() method is called.
Returns: the time in seconds it took between calling start() on this class and stop().
- on_start(task_id, task_name, args, kwargs)¶
- What to do when the timers run() method is called.