New Relic - Open edX Configuration

We’re looking to setup an application performance monitoring (APM) like New Relic. Does anyone have directions on how to do that?

We’ve provisioned our Open edX code using tutor local deployment.

cc @dave @MoisesGonzalezS

You would need to alter the command that is used to run the container to be something like newrelic-admin run-program uwsgi <all-the-other-flags> and also mount your newrelic config file inside the container. You can use the NEW_RELIC_CONFIG_FILE env variable to point to your config file.

1 Like

You can see how this command wrapping was done in the (soon to be deprecated) configuration repo, for reference: configuration/playbooks/roles/edxapp/templates/edx/app/edxapp/lms.sh.j2 at 1fa996029e999b97f7310796fa38813f223f5d8b · openedx/configuration · GitHub

1 Like

Thanks @Tim_McCormack. @dave mentioned that DataDog would be replacing New Relic in the upcoming redwood release. Appreciate any support on New Relic for now though because we won’t be on redwood until later time.

Do you have any configuration details for how to setup the endpoint on New Relic itself? Is it just python connector?

DD isn’t replacing NR in Open edX—I’ve been working on adding some DD and OpenTelemetry support in edx-django-utils, but they would coexist as options. Also see OpenTelemetry Integration Coming Soon! for some related work in the OpenTelemetry space. (In general, we should be moving towards making all of these things be pluggable.)

I don’t have much knowledge on NR integration because it was already set up before I arrived, so all my research has been on DD and OTel. But I believe the newrelic Python package sends APM data directly to NR’s servers, rather than requiring it to go through a local agent like with DD.

1 Like