ASP.NET Core
编辑ASP.NET Core
编辑快速入门
编辑我们强烈建议使用.NET 应用程序使用 Microsoft.Extensions.Hosting 指令中描述的方法,在IServiceCollection
上注册代理,而不是像下面描述的那样使用IApplicationBuilder
。
我们保留此处介绍的IApplicationBuilder
仅用于向后兼容。
对于 ASP.NET Core,一旦您引用了Elastic.Apm.NetCoreAll
包,您可以通过调用UseAllElasticApm()
扩展方法来启用自动检测。
using Elastic.Apm.NetCoreAll; public class Startup { public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.UseAllElasticApm(Configuration); //…rest of the method } //…rest of the class }
app.UseAllElasticApm(...)
行必须是Configure
方法中的第一行,否则代理将无法正确测量请求的计时,并且代理可能会错过完整的请求。
通过此操作,您可以启用每个代理组件,包括 ASP.NET Core 跟踪、传出 HTTP 请求的监控、Entity Framework Core 数据库跟踪等。
如果您只引用了Elastic.Apm.AspNetCore
包,则找不到UseAllElasticApm
。相反,您需要使用Elastic.Apm.AspNetCore
命名空间中的UseElasticApm()
方法。此方法会打开 ASP.NET Core 跟踪,并为您提供手动打开其他组件的机会。默认情况下,它只会跟踪 ASP.NET Core 请求 - 不会打开 HTTP 请求跟踪、数据库调用跟踪或任何其他跟踪组件。
如果您想打开特定的跟踪组件,可以将它们传递给UseElasticApm
方法。
例如
app.UseElasticApm(Configuration, new HttpDiagnosticsSubscriber(), /* Enable tracing of outgoing HTTP requests */ new EfCoreDiagnosticsSubscriber()); /* Enable tracing of database calls through EF Core*/
如果您只想使用公共 API,则无需进行任何初始化,您可以简单地开始使用 API,代理会将数据发送到 APM 服务器。