cgroup_perf_recap – Profiles system activity of tasks and full execution using cgroups

From Get docs
< Callback PluginsAnsible/docs/2.9/plugins/callback/cgroup perf recap


cgroup_perf_recap – Profiles system activity of tasks and full execution using cgroups

New in version 2.8.


Synopsis

  • This is an ansible callback plugin utilizes cgroups to profile system activity of ansible and individual tasks, and display a recap at the end of the playbook execution

Requirements

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

  • whitelist in configuration
  • cgroups

Parameters

Parameter Choices/Defaults Configuration Comments

control_group

- / required

ini entries: [callback_cgroup_perf_recap]control_group = VALUE


env:CGROUP_CONTROL_GROUP

Name of cgroups control group

cpu_poll_interval

float

Default:

0.25

ini entries: [callback_cgroup_perf_recap]cpu_poll_interval = 0.25


env:CGROUP_CPU_POLL_INTERVAL

Interval between CPU polling for determining CPU usage. A lower value may produce inaccurate results, a higher value may not be short enough to collect results for short tasks.

display_recap

boolean

  • no
  • yes

ini entries: [callback_cgroup_perf_recap]display_recap = yes


env:CGROUP_DISPLAY_RECAP

Controls whether the recap is printed at the end, useful if you will automatically process the output files

file_name_format

string

Default:

"%(feature)s.%(ext)s"

ini entries: [callback_cgroup_perf_recap]file_name_format = %(feature)s.%(ext)s


env:CGROUP_FILE_NAME_FORMAT

Format of filename. Accepts %(counters), %(task_uuids), %(features), %(exts). Defaults to %(features.%(ext)s) when file_per_task is False and %(counters-%(task_uuid)s-%(feature)s.%(ext)s) when True

file_per_task

boolean

  • no

  • yes

ini entries: [callback_cgroup_perf_recap]file_per_task = no


env:CGROUP_FILE_PER_TASK

When set as True along with write_files, this callback will write 1 file per task instead of 1 file for the entire playbook run

memory_poll_interval

float

Default:

0.25

ini entries: [callback_cgroup_perf_recap]memory_poll_interval = 0.25


env:CGROUP_MEMORY_POLL_INTERVAL

Interval between memory polling for determining memory usage. A lower value may produce inaccurate results, a higher value may not be short enough to collect results for short tasks.

output_dir

path

Default:

"/tmp/ansible-perf-%s"

ini entries: [callback_cgroup_perf_recap]output_dir = /tmp/ansible-perf-%s


env:CGROUP_OUTPUT_DIR

Output directory for files containing recorded performance readings. If the value contains a single %s, the start time of the playbook run will be inserted in that space. Only the deepest level directory will be created if it does not exist, parent directories will not be created.

output_format

string

  • csv

  • json

ini entries: [callback_cgroup_perf_recap]output_format = csv


env:CGROUP_OUTPUT_FORMAT

Output format, either CSV or JSON-seq

pid_poll_interval

float

Default:

0.25

ini entries: [callback_cgroup_perf_recap]pid_poll_interval = 0.25


env:CGROUP_PID_POLL_INTERVAL

Interval between PID polling for determining PID count. A lower value may produce inaccurate results, a higher value may not be short enough to collect results for short tasks.

write_files

boolean

  • no

  • yes

ini entries: [callback_cgroup_perf_recap]write_files = no


env:CGROUP_WRITE_FILES

Dictates whether files will be written containing performance readings



Notes

Note

  • Requires ansible to be run from within a cgroup, such as with cgexec -g cpuacct,memory,pids:ansible_profile ansible-playbook ...
  • This cgroup should only be used by ansible to get accurate results
  • To create the cgroup, first use a command such as sudo cgcreate -a ec2-user:ec2-user -t ec2-user:ec2-user -g cpuacct,memory,pids:ansible_profile


Status

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.


© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/plugins/callback/cgroup_perf_recap.html