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) orlibatatus_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 Core —
Atatus.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:
- Go to Atatus Dashboard
- Navigate to Settings → Account Settings → License Keys
- 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 .zip → Properties → tick Unblock → Apply, 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
- Atatus agent logs
- Application framework version
- Hosting type (IIS / Console / Service)
- Include a detailed description of the issue and steps already tried
Our team typically responds within 24 hours.
+1-415-800-4104