From a1c2d458de0ea0eec02583d46a8838a1bb158940 Mon Sep 17 00:00:00 2001 From: James Tanner Date: Tue, 17 Nov 2020 17:48:13 -0500 Subject: [PATCH 1/5] get a csv of playbook_on_stats event data --- awx/main/analytics/collectors.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/awx/main/analytics/collectors.py b/awx/main/analytics/collectors.py index 0f51ad179a..db58395a63 100644 --- a/awx/main/analytics/collectors.py +++ b/awx/main/analytics/collectors.py @@ -309,6 +309,25 @@ def events_table(since, full_path, until, **kwargs): return _copy_table(table='events', query=events_query, path=full_path) +@register('events_table_playbook_stats', '1.1', format='csv', description=_('playbook on stats records'), expensive=True) +def events_table_playbook_stats(since, full_path, until, **kwargs): + events_query = '''COPY (SELECT main_jobevent.id, + main_jobevent.created, + main_jobevent.uuid, + main_jobevent.parent_uuid, + main_jobevent.event, + main_jobevent.failed, + main_jobevent.changed, + main_jobevent.playbook, + main_jobevent.job_id, + main_jobevent.event_data + FROM main_jobevent + WHERE (main_jobevent.created > '{}' AND main_jobevent.created <= '{}' AND event='playbook_on_stats') + ORDER BY main_jobevent.id ASC) TO STDOUT WITH CSV HEADER + '''.format(since.isoformat(),until.isoformat()) + return _copy_table(table='events_playbook_stats', query=events_query, path=full_path) + + @register('unified_jobs_table', '1.1', format='csv', description=_('Data on jobs run'), expensive=True) def unified_jobs_table(since, full_path, until, **kwargs): unified_job_query = '''COPY (SELECT main_unifiedjob.id, From 9cf294f3d70b2adb432751c87ff66ee0cd9cfd18 Mon Sep 17 00:00:00 2001 From: James Tanner Date: Wed, 18 Nov 2020 09:57:22 -0500 Subject: [PATCH 2/5] implement ryanp suggestion --- awx/main/analytics/collectors.py | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/awx/main/analytics/collectors.py b/awx/main/analytics/collectors.py index db58395a63..18ffcd680c 100644 --- a/awx/main/analytics/collectors.py +++ b/awx/main/analytics/collectors.py @@ -288,6 +288,7 @@ def events_table(since, full_path, until, **kwargs): main_jobevent.parent_uuid, main_jobevent.event, main_jobevent.event_data::json->'task_action' AS task_action, + (CASE WHEN event = 'playbook_on_stats' THEN event_data END), main_jobevent.failed, main_jobevent.changed, main_jobevent.playbook, @@ -309,25 +310,6 @@ def events_table(since, full_path, until, **kwargs): return _copy_table(table='events', query=events_query, path=full_path) -@register('events_table_playbook_stats', '1.1', format='csv', description=_('playbook on stats records'), expensive=True) -def events_table_playbook_stats(since, full_path, until, **kwargs): - events_query = '''COPY (SELECT main_jobevent.id, - main_jobevent.created, - main_jobevent.uuid, - main_jobevent.parent_uuid, - main_jobevent.event, - main_jobevent.failed, - main_jobevent.changed, - main_jobevent.playbook, - main_jobevent.job_id, - main_jobevent.event_data - FROM main_jobevent - WHERE (main_jobevent.created > '{}' AND main_jobevent.created <= '{}' AND event='playbook_on_stats') - ORDER BY main_jobevent.id ASC) TO STDOUT WITH CSV HEADER - '''.format(since.isoformat(),until.isoformat()) - return _copy_table(table='events_playbook_stats', query=events_query, path=full_path) - - @register('unified_jobs_table', '1.1', format='csv', description=_('Data on jobs run'), expensive=True) def unified_jobs_table(since, full_path, until, **kwargs): unified_job_query = '''COPY (SELECT main_unifiedjob.id, From d6f9c5a0b693c5db6d51e76e1bfcd9c1eec2af9b Mon Sep 17 00:00:00 2001 From: James Tanner Date: Wed, 18 Nov 2020 11:28:22 -0500 Subject: [PATCH 3/5] get the modified column too --- awx/main/analytics/collectors.py | 1 + 1 file changed, 1 insertion(+) diff --git a/awx/main/analytics/collectors.py b/awx/main/analytics/collectors.py index 18ffcd680c..8fc55ff466 100644 --- a/awx/main/analytics/collectors.py +++ b/awx/main/analytics/collectors.py @@ -284,6 +284,7 @@ def _copy_table(table, query, path): def events_table(since, full_path, until, **kwargs): events_query = '''COPY (SELECT main_jobevent.id, main_jobevent.created, + main_jobevent.modified, main_jobevent.uuid, main_jobevent.parent_uuid, main_jobevent.event, From 153a1ecd391f56840d015350cab53b1b632c3db8 Mon Sep 17 00:00:00 2001 From: James Tanner Date: Wed, 18 Nov 2020 11:30:48 -0500 Subject: [PATCH 4/5] bump minor --- awx/main/analytics/collectors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx/main/analytics/collectors.py b/awx/main/analytics/collectors.py index 8fc55ff466..a38e2317d1 100644 --- a/awx/main/analytics/collectors.py +++ b/awx/main/analytics/collectors.py @@ -280,7 +280,7 @@ def _copy_table(table, query, path): return file.file_list() -@register('events_table', '1.1', format='csv', description=_('Automation task records'), expensive=True) +@register('events_table', '1.2', format='csv', description=_('Automation task records'), expensive=True) def events_table(since, full_path, until, **kwargs): events_query = '''COPY (SELECT main_jobevent.id, main_jobevent.created, From 3e7554974ae52b781d3c48fde51aa87cf9db7887 Mon Sep 17 00:00:00 2001 From: James Tanner Date: Wed, 18 Nov 2020 12:12:29 -0500 Subject: [PATCH 5/5] set a column name so it doesnt end up as "case" --- awx/main/analytics/collectors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx/main/analytics/collectors.py b/awx/main/analytics/collectors.py index a38e2317d1..b0ac43cc65 100644 --- a/awx/main/analytics/collectors.py +++ b/awx/main/analytics/collectors.py @@ -289,7 +289,7 @@ def events_table(since, full_path, until, **kwargs): main_jobevent.parent_uuid, main_jobevent.event, main_jobevent.event_data::json->'task_action' AS task_action, - (CASE WHEN event = 'playbook_on_stats' THEN event_data END), + (CASE WHEN event = 'playbook_on_stats' THEN event_data END) as playbook_on_stats, main_jobevent.failed, main_jobevent.changed, main_jobevent.playbook,