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 服务器。