ASP.NET Core
编辑ASP.NET Core编辑
快速入门编辑
我们建议使用 .NET Core 设置说明 中描述的方法,在 IHostBuilder
上注册代理,而不是像下面描述的那样使用 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 服务器。