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 - 
- 
on_start(*args, **kwargs)
- What to do when the run() method is called.
 - 
- 
on_stop(*args, **kwargs)
- What to do when the stop() method is called.
 - 
- 
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
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: 
 - 
- 
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.