This is pre-release software and should be treated as such. We are giving you early access to the beta to enable you to view web transactions. Please use this beta as an opportunity to provide feedback and guide us as we add more features and work toward a production release of the SDK.
New Relic offers support for many of the popular agent languages, including Java, .NET, Node.js, PHP, Python, and Ruby. However, some users are looking for insights into web apps written in a variety of languages and environments, which is why New Relic created an SDK that could be hooked into any language.
Compatibility and requirements
The Agent SDK helps you use New Relic to gain visibility into application performance for apps that were not written in one of our supported languages. Make sure your app meets these requirements.
Note: As a standard security measure for data collection, New Relic requires that your application server supports SHA-2 (256-bit). SHA-1 is not supported.
The instructions in this tutorial assume your application is written in C or C++. If you are not using C or C++, then you will need to create a wrapper around the APIs.
How to create your wrapper will vary from language to language. For example, with perl you can use SWIG or XS. Other languages have direct support for calling native functions.
|Operating system and compiler support||
The SDK only supports 64 bit Linux at this time.
The SDK libraries for build environments use glibc 2.12 or higher. If you need a release built using an older version of glibc, create a request via the standard support channels.
You will need to install:
The SDK dynamically links to the openssl and cURL libraries. The SDK works with the following libraries:
|Library||Compiled against||Known to work|
|libopenssl||1.0.2a||1.0.0r, 1.0.1e, 1.0.1m|
Some portions of the Agent SDK's transaction library are thread-safe, while others are not. The following activities should be considered thread-safe:
- Starting transactions on different threads
- Starting, modifying, and ending segments on different threads for different transactions
The following activities should not be considered thread-safe:
- Modifying and ending a single transaction from different threads
- Starting, modifying, and ending segments on different threads within the same transaction
For more help
Additional documentation resources include: