New Relic .NET Agent Extensions
Extensions that work with the New Relic .NET Agent that will give you more information on various frameworks and modules that can be used with the .NET framework.
To learn how to make these extensions you can go here, then submit a pull request and I'll add them here to help everyone out.
How to use these extensions
If you installed New Relic on your own metal or if you used the Nuget packages the process for adding extensions to what is instrumented is pretty much the same.
- Create an extension file, fork this repo, or just grab whatever is interesting from the source in this repo.
- Navigate to where New Relic is installed (either on your server, locally if you've installed it on you dev machine or if you used the nuget package you'll have a NewRelic folder in your source directory.
- Place your extension (xml) file in the extensions directory (there should already be a coreinstrumetnation.xml file currently in that directory - don't overwrite that one just make sure your's has a different / meaningful name).
- Restart your application and you should be good to go.
Notes
-
The more method "tracers" you add the more your application will be instrumented. You app will eventually take a performance hit if you throw in too many custom instrumentation points. While I have not attempted to instrument everything in the .net framework (yet ;)) just try a few things and see what works for you.
-
If your extension file does not work out initially try the troubleshooting tips or use this amazing tool that will generate custom instrumetnation extensions for you.
-
You can always reach out to me on the Twiters and chat about how to do this as well.
Contribute
Standards
- Follow the details here when generating the instrumentation
- Name the instrumentation file with the following convention: thing_instrumentation.xml where thing is the framework, library, etc that is being instrumented.
- Place it in the corresponding folder that is applicable for the instrumentation. For instance: If you're doing MemcacheD then put MemcacheD_instrumentation.xml in the "NoSql" folder
Collisions
As will many really great things others might have already solved or have started creating instrumentation for something you'd like as well check to see if there is already an instrumentation file for the thing you need. If it does not quite "get you there" then you can always generate a pull request that adds what you need.
Pull requests
- Fork the repository
- Add awesome code or fix an issue with awesome code
- Submit a pull request