The Atatus .NET Profiler attaches to .NET processes at runtime and instruments application and dependency code automatically — no source code changes required. This section covers configuration for .NET Core, .NET Framework, IIS-hosted applications, and Docker containers.

Requirements

Verify that the target environment meets the following prerequisites before installation:

Requirement Detail
Runtimes .NET 5.0, 6.0, 7.0, 8.0, 9.0; .NET Framework 4.x. Earlier runtimes (.NET Core 3.1 and below) are not supported by the profiler — use the NuGet installation instead.
Operating system Windows (Server and Desktop) and Linux
Architecture 64-bit only. 32-bit applications are not supported.
Profiler model Only one CLR profiler can be attached to a .NET process at a time. Disable any other APM profiler before attaching the Atatus profiler.
IIS IIS 10 or later is recommended for per–application-pool environment variables. On IIS earlier than 10, environment variables must be configured globally.
Note:

Note (Windows): Windows blocks DLLs downloaded from the internet by default. After extracting the profiler archive, right-click atatus_profiler.dll, open Properties, select Unblock, and apply the change. If the file remains blocked, the profiler may fail to attach without producing an error.

Supported integrations

Once attached, the profiler automatically instruments incoming HTTP requests, outgoing calls, and the following integrations:

For per-integration configuration, refer to the linked pages above.

Environment variable reference

The profiler is configured entirely through environment variables. The table below describes each variable.

Variable Description
CORECLR_ENABLE_PROFILING Set to 1 to enable the CLR profiler for .NET Core / .NET 5+ applications.
CORECLR_PROFILER CLSID of the Atatus profiler. Always set to {A6C28362-6F75-472A-B36C-50C1644DA40A}.
CORECLR_PROFILER_PATH Absolute path to the profiler native library: libatatus_profiler.so (Linux) or atatus_profiler.dll (Windows).
COR_ENABLE_PROFILING Set to 1 to enable the CLR profiler for .NET Framework 4.x applications.
COR_PROFILER CLSID of the Atatus profiler for .NET Framework. Same value as CORECLR_PROFILER.
COR_PROFILER_PATH Absolute path to atatus_profiler.dll for .NET Framework applications.
ATATUS_PROFILER_HOME Path to the extracted profiler directory.
ATATUS_PROFILER_INTEGRATIONS Path to the integrations.yml file inside the extracted directory.
ATATUS_LICENSE_KEY Your Atatus APM license key.
ATATUS_APP_NAME Application name as displayed in the Atatus dashboard.
ATATUS_ANALYTICS Set to true to enable API Analytics.
ATATUS_TRACING Set to true to enable distributed tracing.
ATATUS_CAPTURE_BODY Set to all to capture request and response bodies in analytics.
ATATUS_LOG_LEVEL Agent log level: Error, Warning, Information, or Debug. Default is Error.
Note:

.NET Core / .NET 5+ uses the CORECLR_* variable prefix. .NET Framework 4.x uses the COR_* prefix. Do not mix the two — use only the prefix that matches the target runtime.

For additional configuration options, see Customizing the agent.

Installation

Choose the guide that matches your runtime and hosting model:

  • .NET Core — standalone .NET 5.0+ applications on Linux or Windows
  • .NET Framework — .NET Framework 4.x applications on Windows
  • IIS — .NET Framework or .NET Core applications hosted on IIS

Docker containers

The profiler can be installed inside a Docker image to instrument .NET applications running in containers (Docker Compose, Kubernetes, Amazon ECS, and others). For the Dockerfile and full configuration, see Docker installation.

Troubleshooting

If the profiler is not attaching or no data appears in the dashboard, see .NET Application Data Not Visible in Atatus for debug logging, profiler log-file locations, and common-issue resolutions.

Next steps

After the agent is installed and reporting data: