Directions (currently really ghetto because it's a proof of concept):
- Install mono on the host system.
- Clone https://github.com/LogosBible/mono.git, switch to the methodrewrite branch, and build/install it.
- Uninstall the official mono package. (or make sure you don't use it)
- Build and install xsp, which can be cloned from https://github.com/mono/xsp.git
- Download either of the official .NET NewRelic agents and extract the contents. (you can get it on your Account Settings page)
- Copy NewRelic.Agent.Core.dll into this directory.
- Run additions/make.sh.
- Run profiler/make.sh.
- Merge the contents of instrumentation/CoreInstrumentation.Mono.xml into the CoreInstrumentation.xml that came with the NewRelic installer.
- Copy
newrelic.xmlfrom the official agent into your web app's directory and rename it tonewrelic.config. If you forget to rename the file, the NewRelic agent will crash with aNullReferenceExceptionwhen trying to write to a nonexistent logger to warn you that you shouldn't have a file callednewrelic.xml. - Do the things that I forgot to write down.
- Run mono with the
--profile=newrelicoption. Make sure that the library built in step 8 is in your library path.CoreInstrumentation.xmlshould be in the working directory.