{"id":15044684,"url":"https://github.com/elastic/apm-agent-dotnet","last_synced_at":"2025-05-13T19:03:48.175Z","repository":{"id":37930380,"uuid":"155592028","full_name":"elastic/apm-agent-dotnet","owner":"elastic","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-06T06:05:48.000Z","size":10734,"stargazers_count":590,"open_issues_count":107,"forks_count":213,"subscribers_count":234,"default_branch":"main","last_synced_at":"2025-05-06T07:28:21.461Z","etag":null,"topics":["apm","error-monitoring","performance-analysis","performance-monitoring","tracing"],"latest_commit_sha":null,"homepage":"https://www.elastic.co/guide/en/apm/agent/dotnet/current/index.html","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elastic.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.asciidoc","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-10-31T16:46:26.000Z","updated_at":"2025-04-28T10:43:10.000Z","dependencies_parsed_at":"2023-09-22T04:22:48.911Z","dependency_job_id":"f9278f90-9400-4d55-ae06-221ab812234d","html_url":"https://github.com/elastic/apm-agent-dotnet","commit_stats":{"total_commits":1802,"total_committers":76,"mean_commits":"23.710526315789473","dds":0.5455049944506105,"last_synced_commit":"12fe9d60f9c18f2c00e66a25bd8255ad7cddaa1c"},"previous_names":[],"tags_count":66,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastic%2Fapm-agent-dotnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastic%2Fapm-agent-dotnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastic%2Fapm-agent-dotnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastic%2Fapm-agent-dotnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elastic","download_url":"https://codeload.github.com/elastic/apm-agent-dotnet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252639767,"owners_count":21780803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apm","error-monitoring","performance-analysis","performance-monitoring","tracing"],"created_at":"2024-09-24T20:50:54.410Z","updated_at":"2025-05-13T19:03:48.135Z","avatar_url":"https://github.com/elastic.png","language":"C#","readme":"# apm-agent-dotnet\n\n[![Build Status](https://apm-ci.elastic.co/buildStatus/icon?job=apm-agent-dotnet/apm-agent-dotnet-mbp/main)](https://apm-ci.elastic.co/job/apm-agent-dotnet/job/apm-agent-dotnet-mbp/job/main/)\n[![codecov](https://codecov.io/gh/elastic/apm-agent-dotnet/branch/main/graph/badge.svg)](https://codecov.io/gh/elastic/apm-agent-dotnet)\n\nPlease fill out this survey to help us prioritize framework support:\n[https://goo.gl/forms/FHHbhptcDx8eDNx92](https://goo.gl/forms/FHHbhptcDx8eDNx92)\n\n## Installation\n\nOfficial NuGet packages can be referenced from [NuGet.org](https://www.nuget.org).\n\n| Package Name            | Purpose          | Download         |\n| ----------------------- | ---------------- | -----------------|\n| `Elastic.Apm`           |  The core of the Agent, Public Agent API, Auto instrumentation for libraries that are part of .NET Standard 2.0.  | [![NuGet Release][ElasticApm-image]][ElasticApm-nuget-url]  |\n| `Elastic.Apm.AspNetCore` | ASP.NET Core auto instrumentation. | [![NuGet Release][ElasticApmAspNetCore-image]][ElasticApmAspNetCore-nuget-url] |\n| `Elastic.Apm.EntityFrameworkCore` | Entity Framework Core auto instrumentation. | [![NuGet Release][Elastic.Apm.EntityFrameworkCore-image]][Elastic.Apm.EntityFrameworkCore-nuget-url] |\n| `Elastic.Apm.NetCoreAll` | References 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.NetCoreAll-image]][Elastic.Apm.NetCoreAll-nuget-url] |\n| `Elastic.Apm.AspNetFullFramework` | ASP.NET (classic) auto instrumentation with an IIS Module. | [![NuGet Release][Elastic.Apm.AspNetFullFramework-image]][Elastic.Apm.AspNetFullFramework-nuget-url] |\n| `Elastic.Apm.EntityFramework6` | Entity Framework 6 auto instrumentation. | [![NuGet Release][Elastic.Apm.EntityFramework6-image]][Elastic.Apm.EntityFramework6-nuget-url] |\n| `Elastic.Apm.Elasticsearch` | Integration with the .NET clients for Elasticsearch. | [![NuGet Release][Elastic.Apm.Elasticsearch-image]][Elastic.Apm.Elasticsearch-nuget-url] |\n| `Elastic.Apm.StackExchange.Redis` | Integration with the StackExchange.Redis client for Redis. | [![NuGet Release][Elastic.Apm.StackExchange.Redis-image]][Elastic.Apm.StackExchange.Redis-nuget-url] |\n| `Elastic.Apm.MongoDb` | Integration with the MongoDb.Driver driver for MongoDb. | [![NuGet Release][Elastic.Apm.MongoDb-image]][Elastic.Apm.MongoDb-nuget-url] |\n| `Elastic.Apm.Azure.ServiceBus` | Integration with Azure ServiceBus | [![NuGet Release][Elastic.Apm.Azure.ServiceBus-image]][Elastic.Apm.Azure.ServiceBus-nuget-url] |\n| `Elastic.Apm.Azure.Storage` | Integration with Azure Storage | [![NuGet Release][Elastic.Apm.Azure.Storage-image]][Elastic.Apm.Azure.Storage-nuget-url] |\n| `Elastic.Apm.Azure.CosmosDb` | Integration with Azure CosmosDB | [![NuGet Release][Elastic.Apm.Azure.CosmosDb-image]][Elastic.Apm.Azure.CosmosDb-nuget-url] |\n\n## Documentation\n\nDocs are located [here](https://www.elastic.co/guide/en/apm/agent/dotnet/). That page is generated from the content of the [docs](docs) folder.\n\n## Getting Help\n\nIf you have any feedback feel free to [open an issue](https://github.com/elastic/apm-agent-dotnet/issues/new).\nFor any other assistance, please open or add to a topic on the [APM discuss forum](https://discuss.elastic.co/c/apm).\n\nIf you need help or hit an issue, please start by opening a topic on our discuss forums.\nPlease note that we reserve GitHub tickets for confirmed bugs and enhancement requests.\n\n## Contributing\n\nSee the [contributing documentation](CONTRIBUTING.md)\n\n## Releasing\n\nSee the [releasing documentation](RELEASING.md)\n\n## Repository structure\n\nThese are the main folders within the repository:\n\n* `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.\n  * `Elastic.Apm`: The core project targeting .NET Standard 2.0. It contains the [Agent API](/docs/public-api.asciidoc), 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.\n  * `Elastic.Apm.AspNetCore`: Auto-instrumentation for ASP.NET Core.\n  * `Elastic.Apm.EntityFrameworkCore`: Auto-instrumentation for EntityFramework Core.\n  * `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 (e.g. apps referencing [Microsoft.AspNetCore.All](https://www.nuget.org/packages/Microsoft.AspNetCore.All)) that uses EF Core the `Elastic.Apm.NetCoreAll` can be referenced.\n  * `Elastic.Apm.AspNetFullFramework`: Auto-instrumentation for ASP.NET (classic).\n  * `Elastic.Apm.EntityFramework6`: Auto-instrumentation for Entity Framework 6.\n  * `Elastic.Apm.SqlClient`: Auto-instrumentation for `System.Data.SqlClient` and `Microsoft.Data.SqlClient`.\n  * `Elastic.Apm.Elasticsearch`: Auto-instrumentation for the official .NET clients for Elasticsearch.\n  * `Elastic.Apm.StackExchange.Redis`: Auto-instrumentation for the StackExchange.Redis client for Redis.\n  * `Elastic.Apm.MongoDb`: Instrumentation for the MongoDb.Driver driver for MongoDb.\n  * `Elastic.Apm.Azure.ServiceBus`: Instrumentation for Azure ServiceBus.\n  * `Elastic.Apm.Azure.Storage`: Instrumentation for Azure Storage.\n* `test`: This folder contains test projects. Typically each project from the `src` folder has a corresponding test project.\n  * `Elastic.Apm.Tests`: Tests the `Elastic.Apm` project.\n  * `Elastic.Apm.AspNetCore.Tests`: Tests the `Elastic.Apm.AspNetCore` project.\n  * `Elastic.Apm.AspNetFullFramework.Tests`: Tests the `Elastic.Apm.AspNetFullFramework` project.\n  * `Elastic.Apm.Tests.MockApmServer`: Implementation of APM Server mock used for agent-as-component tests (for example in `Elastic.Apm.AspNetFullFramework.Tests`).\n* `docs`: This folder contains the official documentation.\n* `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.\n* `.build`: Contains files used when building the solution, and [a project to perform\ncommon build tasks](build/README.md).\n* `.ci`: This folder contains all the scripts used to build, test and release the agent within the CI.\n\n## License\n\nElastic APM .NET Agent is licensed under Apache License, Version 2.0.\n\n[ElasticApm-nuget-url]:https://www.nuget.org/packages/Elastic.Apm/\n[ElasticApm-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.svg\n\n[ElasticApmAspNetCore-nuget-url]:https://www.nuget.org/packages/Elastic.Apm.AspNetCore/\n[ElasticApmAspNetCore-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.AspNetCore.svg\n\n[Elastic.Apm.EntityFrameworkCore-nuget-url]:https://www.nuget.org/packages/Elastic.Apm.EntityFrameworkCore/\n[Elastic.Apm.EntityFrameworkCore-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.EntityFrameworkCore.svg\n\n[Elastic.Apm.NetCoreAll-nuget-url]:https://www.nuget.org/packages/Elastic.Apm.NetCoreAll/\n[Elastic.Apm.NetCoreAll-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.NetCoreAll.svg\n\n[Elastic.Apm.AspNetFullFramework-nuget-url]:https://www.nuget.org/packages/Elastic.Apm.AspNetFullFramework/\n[Elastic.Apm.AspNetFullFramework-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.AspNetFullFramework.svg\n\n[Elastic.Apm.EntityFramework6-nuget-url]:https://www.nuget.org/packages/Elastic.Apm.EntityFramework6/\n[Elastic.Apm.EntityFramework6-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.EntityFramework6.svg\n\n[Elastic.Apm.Elasticsearch-nuget-url]:https://www.nuget.org/packages/Elastic.Apm.Elasticsearch/\n[Elastic.Apm.Elasticsearch-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.Elasticsearch.svg\n\n[Elastic.Apm.StackExchange.Redis-nuget-url]:https://www.nuget.org/packages/Elastic.Apm.StackExchange.Redis/\n[Elastic.Apm.StackExchange.Redis-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.StackExchange.Redis.svg\n\n[Elastic.Apm.MongoDb-nuget-url]:https://www.nuget.org/packages/Elastic.Apm.MongoDb/\n[Elastic.Apm.MongoDb-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.MongoDb.svg\n\n[Elastic.Apm.Azure.ServiceBus-nuget-url]:https://www.nuget.org/packages/Elastic.Apm.Azure.ServiceBus/\n[Elastic.Apm.Azure.ServiceBus-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.Azure.ServiceBus.svg\n\n[Elastic.Apm.Azure.Storage-nuget-url]:https://www.nuget.org/packages/Elastic.Apm.Azure.Storage/\n[Elastic.Apm.Azure.Storage-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.Azure.Storage.svg\n\n[Elastic.Apm.Azure.CosmosDb-nuget-url]:https://www.nuget.org/packages/Elastic.Apm.Azure.CosmosDb/\n[Elastic.Apm.Azure.CosmosDb-image]:\nhttps://img.shields.io/nuget/v/Elastic.Apm.Azure.CosmosDb.svg\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felastic%2Fapm-agent-dotnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felastic%2Fapm-agent-dotnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felastic%2Fapm-agent-dotnet/lists"}