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.xml
from 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 aNullReferenceException
when 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=newrelic
option. Make sure that the library built in step 8 is in your library path.CoreInstrumentation.xml
should be in the working directory.