Skip to content

[DEPR]: newrelic as baseline dependency in Django IDAs #360

@timmc-edx

Description

@timmc-edx

RFC Start Date

2025-05-05

Target Plan Accepted Date

2025-05-19

Target Transition Unblocked Date

Already unblocked.

Earliest Breaking Changes Unblocked Date

Actual plan-accepted date (2025-05-19)

Earliest Open edX Named Release with Breaking Changes

Ulmo - 2025-10

Rationale

edx.org used New Relic for many years, but we have since expanded the options in https://github.com/openedx/edx-django-utils to cover several telemetry backends (Datadog, OpenTelemetry). The new backends are optional and are not included by default, but the newrelic Python package is still specified in the base.in and production.in files of edx-django-utils and a number of IDAs.

To reduce unneeded dependencies, we should remove this package from the base requirements.

This DEPR does not remove any New Relic functionality, just the inclusion of the package as a baseline.

Removal

The newrelic line would be removed from base.in and production.in files.

It would not be removed from test dependencies, e.g. in edx-django-utils's test.in or edx-repo-health's sample repo.

Replacement

Deployers who need New Relic functionality will need to install newrelic separately, e.g. using *_EXTRA_PIP_REQUIREMENTS settings (available now in Tutor) or as a Tutor patch (which could be developed -- see comments).

Deprecation

No response

Migration

No response

Additional Info

No response

Task List

Goal is to remove from base/production/etc. .in requirements files, as seen in this search: NOT is:archived org:openedx /^newrelic/ path:requirements/**.in NOT path:**/test.in NOT path:tests/**

Metadata

Metadata

Labels

deprProposal for deprecation & removal per OEP-21

Type

No type

Projects

Status

Plan Completed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions