edx.org has used New Relic for APM (Application Performance Monitoring) for many years, and it is still arguably the most capable product in this category of services. However, there are many competing tools in this space, some of which are much less expensive or even open source. We would like to avoid imposing New Relic related overhead on Open edX users who don’t actually use the service, and would additionally like to make it easy to install at least one of the open source APM services alongside Open edX development and production environments. This document assembles some initial notes and ideas on how to make this happen.

Open Source APM Options

SkyWalking

SkyWalking is an Apache project licensed under the Apache 2.0 license, making it feasible from a licensing perspective to distribute alongside Open edX.

SigNoz

SigNoz is an “open core” APM service, with the bulk of the code under the MIT license but a handful of “enterprise” features (SSO, audit logs, granular access control, etc.) only available with a commercial license. This could work for development environments, but would have to be compared against other commercial APM solutions for production use.

Pinpoint

Pinpoint is Apache 2.0 licensed, but has a narrower range of supported server side languages than the alternatives (primarily Java and PHP, with Python added 2 years ago).

Elastic APM

Elastic APM is “open source” to the extent that Elasticsearch (one of its dependencies) is. It can be downloaded and installed for most development and production contexts, but has restrictions to prevent commercial competition for Elastic that render it incompatible with most open source licenses. So I don’t think Open edX would want to recommend it as a default, but it could be a viable option for some users.