NuGet packages

edit

Agent instrumentations are released as a set of NuGet packages available on nuget.org. You can add the Agent and specific instrumentations to your .NET application by referencing one or more of these packages.

Get started

edit

Packages

edit

The following NuGet packages are available:

Elastic.Apm
The core agent package, containing the Public API of the agent. It also contains every tracing component to trace classes that are part of .NET Standard 2.0, which includes the monitoring part for HttpClient. Every other Elastic APM package references this package.
Elastic.Apm.NetCoreAll

A meta package that references all other Elastic APM .NET agent package that can automatically configure instrumentation.

If you plan to monitor a typical ASP.NET Core application that depends on the Microsoft.AspNetCore.All package, you should reference this package.

In order to avoid adding unnecessary dependencies in applications that aren’t dependent on the Microsoft.AspNetCore.All package, we also offer some other packages - those are all referenced by the Elastic.Apm.NetCoreAll package.

Elastic.Apm.Extensions.Hosting ( [1.6.0-beta] Added in 1.6.0-beta. )
A package for agent registration integration with Microsoft.Extensions.Hosting.IHostBuilder registration.
Elastic.Apm.AspNetCore
A package for instrumenting ASP.NET Core applications. The main difference between this package and the Elastic.Apm.NetCoreAll package is that this package only instruments ASP.NET Core by default, whereas Elastic.Apm.NetCoreAll instruments all components that can be automatically configured, such as Entity Framework Core, HTTP calls with HttpClient, database calls to SQL Server with SqlClient, etc. Additional instrumentations can be added when using Elastic.Apm.AspNetCore by referencing the respective NuGet packages and including their configuration code in agent setup.
Elastic.Apm.AspNetFullFramework
A package containing ASP.NET .NET Framework instrumentation.
Elastic.Apm.Azure.CosmosDb
A package containing instrumentation to capture spans for Azure Cosmos DB with Microsoft.Azure.Cosmos, Microsoft.Azure.DocumentDb, and Microsoft.Azure.DocumentDb.Core packages.
Elastic.Apm.Azure.ServiceBus
A package containing instrumentation to capture transactions and spans for messages sent and received from Azure Service Bus with Microsoft.Azure.ServiceBus and Azure.Messaging.ServiceBus packages.
Elastic.Apm.Azure.Storage
A package containing instrumentation to capture spans for interaction with Azure Storage with Azure.Storage.Queues, Azure.Storage.Blobs and Azure.Storage.Files.Shares packages.
Elastic.Apm.EntityFrameworkCore
A package containing Entity Framework Core instrumentation.
Elastic.Apm.EntityFramework6
A package containing an interceptor to automatically create spans for database operations executed by Entity Framework 6 on behalf of the application.
Elastic.Apm.MongoDb
A package containing support for MongoDB.Driver.
Elastic.Apm.SqlClient
A package containing System.Data.SqlClient and Microsoft.Data.SqlClient instrumentation.

this functionality now included by default in Elastic.Apm as of 1.24.0

Elastic.Apm.StackExchange.Redis
A package containing instrumentation to capture spans for commands sent to redis with StackExchange.Redis package.