# profile_tasks – adds time information to tasks

- Synopsis
- Requirements
- Parameters
- Examples
- Status

## Synopsis

- Ansible callback plugin for timing individual tasks and overall execution time.
- Mashup of 2 excellent original works: https://github.com/jlafon/ansible-profile, https://github.com/junaid18183/ansible_home/blob/master/ansible_plugins/callback_plugins/timestamp.py.old
- Format: `<task start timestamp> (<length of previous task>` <current elapsed playbook execution time>)
- It also lists the top/bottom time consuming tasks in the summary (configurable)
- Before 2.4 only the environment variables were available for configuration.

## Requirements

The below requirements are needed on the local master node that executes this callback.

- whitelisting in configuration - see examples section below for details.

## Parameters

Parameter | Choices/Defaults | Configuration | Comments
--- | --- | --- | ---
output_limit - | Default: 20 | ini entries: [callback_profile_tasks] task_output_limit = 20 env:PROFILE_TASKS_TASK_OUTPUT_LIMIT | Number of tasks to display in the summary

sort_order
-

Choices:
- descending ←
- ascending
- none

ini entries:

[callback_profile_tasks]
sort_order = descending

env:PROFILE_TASKS_SORT_ORDER

Adjust the sorting output of summary tasks

## Examples

    example: >
      To enable, add this to your ansible.cfg file in the defaults block
        [defaults]
        callback_whitelist = profile_tasks
    sample output: >
    #
    #    TASK: [ensure messaging security group exists] ********************************
    #    Thursday 11 June 2017  22:50:53 +0100 (0:00:00.721)       0:00:05.322 *********
    #    ok: [localhost]
    #
    #    TASK: [ensure db security group exists] ***************************************
    #    Thursday 11 June 2017  22:50:54 +0100 (0:00:00.558)       0:00:05.880 *********
    #    changed: [localhost]
    #

## Status

- This callback is not guaranteed to have a backwards compatible interface. [preview]
- This callback is maintained by the Ansible Community. [community]

### Authors

- UNKNOWN

Hint

If you notice any issues in this documentation, you can edit this document to improve it.

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.