This document focuses on troubleshooting scenarios where .NET Framework or .NET Core applications do not send data to Atatus. If your application hasn't reported data after 10 minutes of running, follow these steps to identify the issue.

Applies To

  • .NET Framework 4.6.2 and above
  • .NET Core 3.1 and above (NuGet package)
  • .NET 5.0 and above (Profiler or NuGet package)
  • Applications hosted on IIS, self-hosted, or console applications

1. Identify Your Application Type

Determine whether you're running a .NET Framework or .NET Core/.NET application:

Indicator .NET Framework .NET Core / .NET
Runtime CLR (Common Language Runtime) .NET Core / .NET (5.0+)
Project file .csproj, .vbproj with net4* .csproj with netcoreapp* or net*
Configuration App.config, Web.config appsettings.json, environment variables
Entry point Program.Main() or ApplicationContext Program.Main() with host builder
Deployment Compiled .exe or .dll Cross-platform .dll with runtime
Example frameworks net461, net472, net48 netcoreapp2.1, net5.0, net6.0, net8.0

2. Verify Agent Installation

Confirm how the Atatus agent is installed in your application.

Option 1: Profiler (auto-instrumentation)

The profiler is not installed to a fixed location — you download the profiler ZIP and extract it to a directory of your choice (for example, C:\atatus on Windows or ~/atatus on Linux). The agent finds it through the environment variables you set (ATATUS_PROFILER_HOME and CORECLR_PROFILER_PATH, or COR_PROFILER_PATH for .NET Framework).

Confirm the extracted directory contains:

  • atatus_profiler.dll (Windows) or libatatus_profiler.so (Linux)
  • integrations.yml
  • the bundled managed assemblies

If these files are present and the environment variables point to them, the profiler is installed correctly.

Option 2: NuGet Package

If your application uses the Atatus NuGet package, verify the correct package is referenced for your runtime:

  • .NET Core / ASP.NET CoreAtatus.NetCoreAll
  • .NET Framework (ASP.NET)Atatus.AspNetFullFramework
<!-- .NET Core / ASP.NET Core -->
<PackageReference Include="Atatus.NetCoreAll" Version="X.X.X" />

<!-- .NET Framework (ASP.NET) -->
<PackageReference Include="Atatus.AspNetFullFramework" Version="X.X.X" />

Or check via CLI: bash dotnet list package | grep Atatus

3. Enable Debug Logging

Enable debug logging to collect detailed information for troubleshooting.

Option 1: Configure via appsettings.json

Add or update the Atatus section in appsettings.json:

{
  "Atatus": {
    "LogLevel": "debug"
  }
}

Option 2: Configure via Environment Variables

Set the following environment variables before starting the application:

ATATUS_LOG_LEVEL=debug

Restart the application after enabling debug logging.

4. Verify License Key and Account

Check your license key validity:

  1. Go to Atatus Dashboard
  2. Navigate to SettingsAccount SettingsLicense Keys
  3. Ensure the license is assigned to your .NET application monitoring

.NET Profiler Issues

These issues are specific to the profiler installation. By default the profiler writes its log files to:

  • Windows: %PROGRAMDATA%\atatus-dotnet-agent\logs\
  • Linux: /var/log/atatus-dotnet-agent/

If that location isn't writable, the profiler falls back to a logs folder inside ATATUS_PROFILER_HOME. Log files are named atatus_profiler_<app>_<pid>_<timestamp>.log.

To write logs to a different folder, set ATATUS_LOG_DIRECTORY (the profiler and agent also honor ATATUS_PROFILER_LOG_DIR and OTEL_DOTNET_AUTO_LOG_DIRECTORY).

Symptom Cause Resolution
No data in Atatus dashboard Profiler not attaching — environment variables not set or incorrect paths Verify all CORECLR_* / COR_* variables are set and paths are absolute. Check that the profiler log file exists (even if empty).
Empty profiler log files The profiler loaded but could not initialize Confirm the ATATUS_PROFILER_HOME directory contains integrations.yml and the native library. Check library dependencies with ldd libatatus_profiler.so (Linux).
Profiler not loading on Windows Windows blocked the files downloaded from the internet Right-click the downloaded .zipProperties → tick UnblockApply, then extract it again. If it is already extracted, unblock atatus_profiler.dll the same way.
Wrong architecture 32-bit application on 64-bit profiler The profiler is 64-bit only. Ensure the application pool or process is running in 64-bit mode.
Conflicting profiler Another APM agent is attached Only one CLR profiler can be active at a time. Disable competing profilers (Datadog, Dynatrace, New Relic) before attaching.

Check the Windows Event Viewer

When the profiler fails to load on Windows, the .NET runtime records the failure in the Event Viewer — open Event Viewer → Windows Logs → Application and look for errors from the .NET Runtime source (for example, "Failed to CoCreate the profiler"). Match the HRESULT in the message:

HRESULT Meaning Fix
0x800700C1 Bad image format — 32-bit/64-bit mismatch between the process and the profiler The profiler is 64-bit only; run the process in 64-bit mode.
0x80070005 Access denied — the process identity cannot read the profiler files Grant the account Read & Execute on the profiler directory and atatus_profiler.dll.
0x80070002 File not found — CORECLR_PROFILER_PATH / COR_PROFILER_PATH points to a missing file Verify the path is absolute and the DLL exists at that location.

For IIS-hosted applications, see IIS hosted applications data not visible for worker-process (w3wp.exe) and application-pool specifics.

Still Having Issues?

If data is still not visible, send the following to success@atatus.com

  1. Atatus agent logs
  2. Application framework version
  3. Hosting type (IIS / Console / Service)
  4. Include a detailed description of the issue and steps already tried

Our team typically responds within 24 hours.