apm-agent-dotnet

May 27, 2026 ยท View on GitHub

Build Status codecov

Please fill out this survey to help us prioritize framework support: https://goo.gl/forms/FHHbhptcDx8eDNx92

Installation

Official NuGet packages can be referenced from NuGet.org.

Package NamePurposeDownload
Elastic.ApmThe core of the Agent, Public Agent API, Auto instrumentation for libraries that are part of .NET Standard 2.0.NuGet Release
Elastic.Apm.AspNetCoreASP.NET Core auto instrumentation.NuGet Release
Elastic.Apm.EntityFrameworkCoreEntity Framework Core auto instrumentation.NuGet Release
Elastic.Apm.NetCoreAllReferences every .NET Core related Elastic APM package. It can be used to simply turn on the agent and activate all auto instrumentation.NuGet Release
Elastic.Apm.AspNetFullFrameworkASP.NET (classic) auto instrumentation with an IIS Module.NuGet Release
Elastic.Apm.EntityFramework6Entity Framework 6 auto instrumentation.NuGet Release
Elastic.Apm.ElasticsearchIntegration with the .NET clients for Elasticsearch.NuGet Release
Elastic.Apm.StackExchange.RedisIntegration with the StackExchange.Redis client for Redis.NuGet Release
Elastic.Apm.MongoDbIntegration with the MongoDb.Driver driver for MongoDb.NuGet Release
Elastic.Apm.Azure.ServiceBusIntegration with Azure ServiceBusNuGet Release
Elastic.Apm.Azure.StorageIntegration with Azure StorageNuGet Release
Elastic.Apm.Azure.CosmosDbIntegration with Azure CosmosDBNuGet Release

Documentation

Docs are located here. That page is generated from the content of the docs folder.

Getting Help

If you have any feedback feel free to open an issue. For any other assistance, please open or add to a topic on the APM discuss forum.

If you need help or hit an issue, please start by opening a topic on our discuss forums. Please note that we reserve GitHub tickets for confirmed bugs and enhancement requests.

Contributing

See the contributing documentation

Releasing

See the releasing documentation

Repository structure

These are the main folders within the repository:

  • src: The source code of the agent. Each project within this folder targets a specific library, and there is one core project, which is referenced by all other projects.
    • Elastic.Apm: The core project targeting .NET Standard 2.0. It contains the Agent API, the infrastructure to report data to the APM Server, the logging infrastructure, and auto-instrumentation for things that are part of .NET Standard 2.0.
    • Elastic.Apm.AspNetCore: Auto-instrumentation for ASP.NET Core.
    • Elastic.Apm.EntityFrameworkCore: Auto-instrumentation for EntityFramework Core.
    • Elastic.Apm.NetCoreAll: A convenient project that references all other .NET Core related projects from the src folder. It contains an ASP.NET Core middleware extension that enables the agent and every other component with a single line of code. In a typical ASP.NET Core application (for example, apps referencing Microsoft.AspNetCore.All) that uses EF Core the Elastic.Apm.NetCoreAll can be referenced.
    • Elastic.Apm.AspNetFullFramework: Auto-instrumentation for ASP.NET (classic).
    • Elastic.Apm.EntityFramework6: Auto-instrumentation for Entity Framework 6.
    • Elastic.Apm.SqlClient: Auto-instrumentation for System.Data.SqlClient and Microsoft.Data.SqlClient.
    • Elastic.Apm.Elasticsearch: Auto-instrumentation for the official .NET clients for Elasticsearch.
    • Elastic.Apm.StackExchange.Redis: Auto-instrumentation for the StackExchange.Redis client for Redis.
    • Elastic.Apm.MongoDb: Instrumentation for the MongoDb.Driver driver for MongoDb.
    • Elastic.Apm.Azure.ServiceBus: Instrumentation for Azure ServiceBus.
    • Elastic.Apm.Azure.Storage: Instrumentation for Azure Storage.
  • test: This folder contains test projects. Typically each project from the src folder has a corresponding test project.
    • Elastic.Apm.Tests: Tests the Elastic.Apm project.
    • Elastic.Apm.AspNetCore.Tests: Tests the Elastic.Apm.AspNetCore project.
    • Elastic.Apm.AspNetFullFramework.Tests: Tests the Elastic.Apm.AspNetFullFramework project.
    • Elastic.Apm.Tests.MockApmServer: Implementation of APM Server mock used for agent-as-component tests (for example in Elastic.Apm.AspNetFullFramework.Tests).
  • docs: This folder contains the official documentation.
  • sample: Sample applications that are monitored by the APM .NET Agent. These are also very useful for development: you can start one of these applications and debug the agent through them.
  • .build: Contains files used when building the solution, and a project to perform common build tasks.
  • .ci: This folder contains all the scripts used to build, test and release the agent within the CI.

License

Elastic APM .NET Agent is licensed under Apache License, Version 2.0.