Skip to content

Commit 3d2c0e3

Browse files
authored
feat!: Remove newrelic from base dependencies (#504)
This will reduce the dependency set for deployers not using New Relic. See DEPR: openedx/public-engineering#360 Also, update docs around choice of backends.
1 parent 8151afe commit 3d2c0e3

File tree

7 files changed

+10
-11
lines changed

7 files changed

+10
-11
lines changed

CHANGELOG.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ Change Log
1414
Unreleased
1515
----------
1616

17+
8.0.0 - 2025-05-22
18+
------------------
19+
* **BREAKING CHANGE**: ``newrelic`` removed from dependencies. Users of New Relic should install the package separately in their services. `See relevant DEPR <https://github.com/openedx/public-engineering/issues/360>`_.
20+
1721
7.4.0 - 2025-04-10
1822
------------------
1923
* Same as 7.3.0

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ This repository includes shared utilities for:
2424
* `Logging Utilities`_: Includes log filters and an encrypted logging helper.
2525

2626
* `Monitoring Utilities`_: Includes Middleware and utilities for enhanced monitoring.
27-
At this time, supports NewRelic monitoring.
27+
Supports several monitoring backends.
2828

2929
* `Plugin Infrastructure`_: Enables enhanced Django Plugin capabilities.
3030

edx_django_utils/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
EdX utilities for Django Application development..
33
"""
44

5-
__version__ = "7.4.0"
5+
__version__ = "8.0.0"

edx_django_utils/monitoring/README.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
Monitoring Utils
22
================
33

4-
This is our primary abstraction from 3rd party monitoring libraries such as newrelic.agent. It includes middleware and utility methods for adding custom attributes and for better monitoring memory consumption.
4+
This is our primary abstraction from 3rd party monitoring libraries such as New Relic, Datadog, and OpenTelemetry. It includes middleware and utility methods for adding custom attributes and for better monitoring memory consumption.
55

66
See ``__init__.py`` for a list of everything included in the public API.
77

8-
If, for some reason, you need low level access to the newrelic agent, please extend this library to implement the feature that you want. Applications should never include ``import newrelic.agent`` directly.
8+
If, for some reason, you need low level access to a monitoring library, please extend this library to implement the feature that you want. Applications should never include ``import newrelic.agent`` (or similar) directly.
99

1010
Choice of monitoring tools
1111
--------------------------
1212

13-
The most complete feature support is for New Relic (the default), but there is also initial support for OpenTelemetry and Datadog.
13+
The most complete feature support is for New Relic (the default), but there is also relatively complete support for Datadog and preliminary support for OpenTelemetry. Private or alternative implementations can also be used.
1414

1515
The Django setting ``OPENEDX_TELEMETRY`` can be set to a list of implementations, e.g. ``['edx_django_utils.monitoring.NewRelicBackend', 'edx_django_utils.monitoring.OpenTelemetryBackend']``. All of the implementations that can be loaded will be used for all applicable telemetry calls.
1616

requirements/base.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
Django # Web application framework
66
django-waffle # Allows for feature toggles in Django.
7-
newrelic # New Relic agent for performance monitoring
87
psutil # Library for retrieving information on running processes and system utilization
98
stevedore # Used by plugins to make importing easier
109
django-crum # Used by logging filters

requirements/base.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ django-crum==0.7.9
2020
# via -r requirements/base.in
2121
django-waffle==4.2.0
2222
# via -r requirements/base.in
23-
newrelic==10.12.0
24-
# via -r requirements/base.in
2523
pbr==6.1.1
2624
# via stevedore
2725
psutil==7.0.0

requirements/test.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,7 @@ iniconfig==2.1.0
4646
mock==5.2.0
4747
# via -r requirements/test.in
4848
newrelic==10.12.0
49-
# via
50-
# -r requirements/base.txt
51-
# -r requirements/test.in
49+
# via -r requirements/test.in
5250
opentelemetry-api==1.33.1
5351
# via
5452
# -r requirements/test.in

0 commit comments

Comments
 (0)