59 lines
1.9 KiB
YAML
59 lines
1.9 KiB
YAML
- hosts: controller
|
|
vars:
|
|
osprofiler_traces_dir: '/opt/stack/osprofiler-traces'
|
|
tasks:
|
|
- name: Create directory for traces
|
|
become: True
|
|
become_user: stack
|
|
file:
|
|
path: '{{ osprofiler_traces_dir }}'
|
|
state: directory
|
|
owner: stack
|
|
group: stack
|
|
|
|
- name: Read connection string from a file
|
|
command: "cat /opt/stack/.osprofiler_connection_string"
|
|
register: osprofiler_connection_string
|
|
|
|
- debug:
|
|
msg: "OSProfiler connection string is: {{ osprofiler_connection_string.stdout }}"
|
|
|
|
- name: Get list of traces
|
|
command: "osprofiler trace list --connection-string {{ osprofiler_connection_string.stdout }}"
|
|
become: True
|
|
become_user: stack
|
|
register: osprofiler_trace_list
|
|
|
|
- debug:
|
|
msg: "{{ osprofiler_trace_list }}"
|
|
|
|
- name: Save traces to files
|
|
shell: |
|
|
osprofiler trace list --connection-string {{ osprofiler_connection_string.stdout }} > {{ osprofiler_traces_dir }}/trace_list.txt
|
|
cat {{ osprofiler_traces_dir }}/trace_list.txt | tail -n +4 | head -n -1 | awk '{print $2}' > {{ osprofiler_traces_dir }}/trace_ids.txt
|
|
|
|
while read p; do
|
|
osprofiler trace show --connection-string {{ osprofiler_connection_string.stdout }} --html $p > {{ osprofiler_traces_dir }}/trace-$p.html
|
|
done < {{ osprofiler_traces_dir }}/trace_ids.txt
|
|
become: True
|
|
become_user: stack
|
|
|
|
- name: Gzip trace files
|
|
become: yes
|
|
become_user: stack
|
|
shell: "gzip * -9 -q | true"
|
|
args:
|
|
chdir: '{{ osprofiler_traces_dir }}'
|
|
|
|
- name: Sync trace files to Zuul
|
|
become: yes
|
|
synchronize:
|
|
src: "{{ osprofiler_traces_dir }}"
|
|
dest: "{{ zuul.executor.log_root }}"
|
|
mode: pull
|
|
copy_links: true
|
|
verify_host: true
|
|
rsync_opts:
|
|
- "--include=/**"
|
|
- "--include=*/"
|