Azure App Services

The .NET Raygun APM Azure Site Extension profiles Windows Azure App Service applications. It runs the Raygun Agent as a continuous WebJob and loads the Raygun profiler into the application worker.

  • Use a Windows App Service running .NET Framework or a supported .NET runtime.
  • Use a Windows App Service plan that supports Always On, and enable it. Plans without Always On are not supported for the continuous Agent WebJob.
  • Disable Application Insights Profiler and any other CLR profiler. A .NET process can load only one profiler.
  • Ensure WEBJOBS_STOPPED is absent or set to false.
  • Restart the whole App Service after installing or upgrading the extension.

note: The extension does not use a fixed application port. It selects an unused ephemeral UDP port during installation and configures both the application profiler and Agent with that same port.

  1. Open the App Service in the Azure portal.
  2. Open Settings > Environment variables (called Configuration in some portal versions).
  3. Add an application setting named Raygun_ApiKey and set it to the API key for the Raygun application that will receive the traces.
  4. Enable Always On in the App Service general settings.
  5. Open Development Tools > Extensions.
  6. Add .NET Raygun APM and accept its terms.
  7. Restart the whole App Service after installation finishes.
  8. Generate traffic through real application endpoints and confirm traces appear in Raygun.

The extension maps Raygun_ApiKey to the profiler at runtime. The API key is not stored in the extension package.

Azure runs the application worker and continuous WebJob in separate sandboxes. Loopback and private-IP unicast do not reliably route profiler traffic between those sandboxes.

The extension therefore configures an Azure-only multicast bridge:

Application worker + RaygunProfiler.dll
    -> UDP 239.100.15.215:<installer-selected ephemeral port>
    -> RaygunAPM WebJob + RaygunAgent.exe
    -> HTTPS to Raygun

The multicast group is restricted to the Azure extension configuration. Standard Windows and Linux installations use loopback and do not enable multicast. Do not configure WEBSITES_PORT, WEBJOBS_PORT, or a sandbox IP for Raygun profiler traffic.

After restarting the App Service:

  1. Open WebJobs and confirm the RaygunAPM continuous WebJob is running.
  2. Open Kudu Process Explorer and confirm RaygunAgent.exe is running. DaasRunner.exe is an Azure diagnostics process, not the Raygun Agent.
  3. Confirm the application worker loaded RaygunProfiler.dll.
  4. Confirm PROTON_WIRE_COMMAND_PORT in the application environment matches TraceUdpListeningPort in the Agent configuration.
  5. Confirm the multicast address is 239.100.15.215.
  6. Invoke more than a health-check route and verify new traces continue to arrive for several minutes.

A loaded profiler DLL proves only that the CLR attached it. It does not prove that profiler commands reached the Agent or that Raygun accepted traces.

Install the new extension version and restart the whole App Service. Versioned profiler files are kept while an existing worker can still have the previous DLL loaded.

To uninstall, remove .NET Raygun APM from Extensions and restart the whole App Service. Remove the Raygun_ApiKey application setting if it is no longer required.

If profiling does not start, see Azure App Services troubleshooting.