Jeff Bradberry
4857c5edcb
Break out the main interval trimming calculation into a new function
2021-04-26 13:31:05 -04:00
Jeff Bradberry
f4d848e596
Log adjustments made to the analytics interval due to the 4-week limit
2021-04-26 13:31:05 -04:00
softwarefactory-project-zuul[bot]
555b25321e
Merge pull request #9982 from jladdjr/jladd_explain_setting_gather_no_matter_what_devel
...
[devel] add clarifying comment re: AUTOMATION_ANALYTICS_LAST_GATHER being set regardless
(the comment in the changeset pretty much says it all)
Reviewed-by: Chris Meyers <None>
2021-04-23 17:07:13 +00:00
Jim Ladd
fb97a79aca
add clarifying comment re: AUTOMATION_ANALYTICS_LAST_GATHER being set regardless
2021-04-21 21:28:32 -07:00
Jeff Bradberry
b9389208dd
Add in the missing dry-run check for csv analytics collectors
2021-04-20 09:36:29 -04:00
Jeff Bradberry
62c7554ec4
Adjust datetimes to be aware when using awx-manage gather_analytics
...
Also, make sure that an explicit `since` parameter will win over
default `until=now()` when calculating the 4-week data limit.
2021-04-06 15:59:54 -04:00
Jeff Bradberry
f85e8a44de
Properly parse datetimes from AUTOMATION_ANALYTICS_LAST_ENTRIES
2021-04-05 13:58:32 -04:00
Jeff Bradberry
6030c5cf4c
Rationalize the interval calculations for analytics gathering
...
- `since` should not be after `until`
- neither `since` nor `until` should be in the future
- `since`, `AUTOMATION_ANALYTICS_LAST_GATHER`, and `AUTOMATION_ANALYTICS_LAST_ENTRIES[key]` should be truncated to 4 weeks prior to `until`
- an explicit `since` parameter should always take precedence over the settings values
2021-04-05 13:58:32 -04:00
Jeff Bradberry
8ce3a14da5
A couple more fixes:
...
- stop trying to ship csv slices when one breaks
- only update LAST_ENTRIES if all of the files in a time/pk slice succeed
- don't allow an explicit --until parameter to set the GATHER/ENTRIES values backwards
2021-04-05 13:58:32 -04:00
Jeff Bradberry
1dacd7e8cf
Only clean up tarballs if we had all successfully ship
2021-04-05 13:58:32 -04:00
Jeff Bradberry
39886da4b6
Deal with datetimes in AUTOMATION_ANALYTICS_LAST_ENTRIES
2021-04-05 13:58:32 -04:00
Jeff Bradberry
99daa4319e
Require the config.json file to be in dry-run tarballs
2021-04-05 13:58:32 -04:00
Jeff Bradberry
3568558571
A couple of bug fixes
2021-04-05 13:58:32 -04:00
Jeff Bradberry
0b31e771b1
Fix the gather_analytics management command
...
Previously, invoking the command with neither of the --ship or
--dry-run flags would result in effectively doing a dry run. With the
stricter checks now in place in analytics.core.gather, let's make sure
that we pass the 'dry-run' parameter in to gather() in the no-flags
case.
2021-04-05 13:58:32 -04:00
Jeff Bradberry
772da61980
If a csv collector is successful but results in no files, increment anyway
2021-04-05 13:58:32 -04:00
Jeff Bradberry
9cde10c93a
Fix problems with the package() function
2021-04-05 13:58:32 -04:00
Jeff Bradberry
1bf37266b4
Differentiate the log level depending on whether we are run from the task
2021-04-05 13:58:32 -04:00
Jeff Bradberry
77f7e88e68
Address the problems with trying to use a JSONField
2021-04-05 13:58:32 -04:00
Jeff Bradberry
3e4e255d3f
Require config collector data for all posts to analytics
...
We need the cluster ID when consuming all incoming data.
2021-04-05 13:58:32 -04:00
Jeff Bradberry
a448cb17d9
Refactor analytics.gather
...
With the change to use pk-based interval slicing for the job events
table, we need analytics.gather to be the code that manages all of the
"expensive" collector slicing. While we are at it, let's ship each
chunked tarball file as we produce it.
2021-04-05 13:58:32 -04:00
Ryan Petrello
c2ef0a6500
move code linting to a stricter pep8-esque auto-formatting tool, black
2021-03-23 09:39:58 -04:00
Alan Rominger
44e6e9344b
Remove mercurial support
2020-12-01 14:06:34 -05:00
Ryan Petrello
4445d096f5
reimplement licensing to work with RHSM and entitlement uploads
...
Co-authored-by: Christian Adams <chadams@redhat.com >
2020-10-30 16:39:57 -04:00
Bill Nottingham
13802fcf2b
Don't return error messages for license errors
...
Just log the exception and return None.
2020-09-10 21:19:07 -04:00
Bill Nottingham
c753324872
Move back to less frequent collections, and split large event tables
...
This should ensure we stay under 100MB at all times.
2020-09-09 17:42:40 -04:00
Bill Nottingham
9f67b6742c
Fail more gracefully if analytics.ship() is called with a bad path,
...
or it's deleted out from under us.
2020-09-09 17:42:40 -04:00
Bill Nottingham
1a15f18be3
Stop using the TowerAnalyticsState solo model
...
This is now tracked in the AUTOMATION_ANALYTICS_LAST_GATHER setting.
2020-09-09 17:42:40 -04:00
Bill Nottingham
40309e6f70
Ensure we do not send large bundles, or empty bundles
...
Collect expensive collectors separately, and in a loop
where we make smaller intermediate dumps.
Don't return a table dump if there are no records, and
don't put that CSV in the manifest.
Fix up unit tests.
2020-09-09 17:42:40 -04:00
Bill Nottingham
1c4b06fe1e
Refactor analytics collectors.
...
- Only have one registration class
- Add description fields
- Add automation collector information to /api/v2/config
2020-09-09 17:10:14 -04:00
Christian M. Adams
4ea648307e
Accept all responses <300 from Insights API
2020-08-28 12:45:50 -04:00
Gabe Muniz
80234c5600
rework the tar to always delete the leftover directories
2020-03-16 19:54:15 +00:00
Bill Nottingham
71ef7cdec1
Use AWX_TASK_ENV when connecting to Red Hat services
2020-02-07 14:29:42 -05:00
Christian Adams
05e6f4ab3c
Add User-Agent to analytics upload POST
2019-11-25 22:22:05 -05:00
Graham Mainwaring
7dd241fcff
Add a --dry-run option to gather analytics locally, even if analytics is disabled in settings.
2019-10-17 13:54:13 -04:00
Christian Adams
9d81b00772
have analytics collections verify with system trusted CA list
2019-10-16 13:32:06 -04:00
Christian Adams
844b8a803f
update frequency of collection for automation analytics
2019-10-09 21:10:48 -04:00
Christian Adams
6309c0a426
Upload using RH cred settings
2019-09-11 13:24:09 -04:00
Ben Thomasson
10d53637ad
Changes uploader to use the insights api directly
2019-09-06 10:58:35 -04:00
Christian Adams
78c0d531bc
Adds versions to analytics collectors and manifest file.
...
- adds 'query_info.json' to contain collection metadata
- adds 'manifest.json' to contain collection file version info
2019-08-27 10:14:14 -04:00
Christian Adams
e72b2fac6d
Delete collection tarball when no longer needed
...
* Delete after shipping it
* Delete when ship() fails
2019-07-01 11:11:44 -04:00
softwarefactory-project-zuul[bot]
bd50e5d6a8
Merge pull request #3896 from rooftopcellist/collection_no_reset
...
collect events based on last ship, not collection
Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
2019-05-17 15:32:48 +00:00
Christian Adams
0c4925afe8
rm extra collection error line
2019-05-16 14:48:41 -04:00
Christian Adams
d0e160a037
collect events based on last ship, not collection
2019-05-14 17:14:44 -04:00
Christian Adams
add8673d7c
rename analytics setting
2019-04-17 15:28:15 -04:00
Christian Adams
4a0778a3d5
exclude implicit project updates
2019-03-28 16:12:30 -04:00
Christian Adams
c481919a49
check for open license
2019-03-27 19:54:25 -04:00
Christian Adams
58f0e42bd6
update setting wording & add instance-enabled field
2019-03-27 19:54:25 -04:00
Christian Adams
a7368cec43
add copy events table and remove events queries
...
add copy unifiedjob table, futher optimization, rm since from job_instance queries
2019-03-27 19:53:00 -04:00
Christian Adams
636153d92c
add insights setting, optimize and consolidate queries
2019-03-27 19:53:00 -04:00
Ryan Petrello
c586fa9821
add a minimal framework for generating analytics/metrics
...
annotate queries & add license analytics
2019-03-27 19:53:00 -04:00