Граф коммитов

9 Коммитов

Автор SHA1 Сообщение Дата
Ed Morley 9dae58cbbc
Bug 1340216 - Make pulse_listener_{pushes,jobs} report to New Relic (#4745)
Since these Django management commands are infinite duration (they run
continuously listening for Pulse messages), they cannot be added to the
list of Django management commands in `newrelic.ini` that are automatically
tracked by the New Relic Python agent.

Instead, we need to wrap the finite duration function within the Pulse
listener command that represents a discrete unit of work that New Relic
can report as an individual non-web transaction.

See:
https://docs.newrelic.com/docs/agents/python-agent/supported-features/python-background-tasks#wrapping
2019-03-04 16:10:58 +00:00
Sarah Clements 24bda1ed83
Bug 1508228 - Remove Intermittents Commenter celery task (#4300)
Remove celery task and change Commenter weekly_mode default arg in
preparation for the move to the heroku scheduler
2018-11-27 14:14:38 -08:00
Ed Morley 037a233960
Bug 1503576 - New Relic: Instrument cycle_data & update_bugscache (#4214)
Since we now run them as Django management commands (rather than
scheduled Celery tasks), which New Relic only instruments if explicitly
instructed.
2018-11-01 18:02:20 +00:00
Ed Morley 2418a694a0
Bug 1483301 - Raise the New Relic Python agent's shutdown_timeout (#3922)
So that the agent has longer to upload the final submission when
Heroku restarts gunicorn (eg daily restarts or deploys).

See:
https://docs.newrelic.com/docs/agents/python-agent/configuration/python-agent-configuration#shutdown-timeout
2018-08-15 11:35:14 +02:00
Ed Morley 0f87eb959b Bug 1340203 - Make some Django management commands report to New Relic
The name of suitable (finite duration) management commands have to be
defined in the New Relic config file, since Django management commands
are not annotated by default:
https://docs.newrelic.com/docs/agents/python-agent/supported-features/python-background-tasks#django

We'll likely want to expand this list in the future, particularly if we
switch from celery beat schedules and towards the Heroku scheduler in
bug 1176492 (since it will run management commands directly, outside of
Celery).
2017-02-16 17:04:08 +00:00
Ed Morley 4bae1c0394 Bug 1338359 - Set NEW_RELIC_CONFIG_FILE in the Vagrant environment too
So that `newrelic.ini` is picked up when using the newrelic-admin
wrapper, for parity with production and to ease agent debugging locally.
2017-02-10 15:49:03 +00:00
Ed Morley 6650a4d9db Bug 1250573 - Explicitly disable New Relic browser monitoring
It's been switched off via the New Relic web UI config page for some
time, however it makes sense to explicitly turn it off via the agent
config (which cannot then be overridden by the web UI).
2016-05-03 17:39:51 +01:00
Ed Morley cd79f9a96a Bug 1223496 - Make New Relic capture request parameters too
See:
https://docs.newrelic.com/docs/agents/python-agent/attributes/python-agent-attributes#requestParameters
https://docs.newrelic.com/docs/agents/python-agent/attributes/python-attribute-examples#ex_req_params
2015-11-18 10:36:59 +00:00
Ed Morley 9ca5cb3763 Bug 1182425 - Add a config file for the New Relic Python agent
The settings for the New Relic Python agent are defined via the
following methods (later items override the earlier ones):
1. Agent defaults
2. Environment variables
3. Local agent configuration file (iff `NEW_RELIC_CONFIG_FILE` set)
4. Server-side configuration (ie via the New Relic website)
5. Per-request configuration

Some settings can only be controlled by a subset of these methods, eg
the more security-sensitive ones (like whether request parameters should
be recorded) must be set via [3].

In addition, once [4] is activated, *all* settings that can be set via
their website will override those from 1-3, even if they are set to the
empty string. As such, it's recommended to *only* use the local agent
config file for settings that are unavailable on the website.

Stage/prod do currently have their own config file (managed via puppet,
forked from the standard IT config), however it turns out it's unused
since `NEW_RELIC_CONFIG_FILE` isn't defined. This explains why
bug 1141036 didn't actually make any difference.

To change New Relic settings (that can't be set via the website) on
Heroku, we're going to need to commit a config file to the repo anyway,
so we might as well use that same file for stage/prod too, so we can
modify the config there without requiring puppet changes. I've not
copied the unused stage/prod config file from puppet, since it's crufty
and mostly contains defaults.

This commit is a no-op until `NEW_RELIC_CONFIG_FILE` is defined in each
environment. The `log_file` setting within will make the NEW_RELIC_LOG
environment variable redundant. That variable is currently set to
'stderr' for stage/prod and 'stdout' for Heroku, so I've settled on
'stdout'.

In later bugs (eg for bug 1223496) more useful options will be added,
but we'll at least be able to start pointing at the config file using
`NEW_RELIC_CONFIG_FILE` in the meantime.

For the agent defaults and more info, see:
https://docs.newrelic.com/docs/agents/python-agent/installation-configuration/python-agent-configuration
2015-11-17 18:30:29 +00:00