/// <summary> /// Adds ASP.NET Core diagnostic listeners for standard Loupe metric generation. /// </summary> /// <param name="builder">The <see cref="ILoupeAgentBuilder"/> instance.</param> /// <param name="principalFunc">The function to use for IPrincipal resolution</param> /// <param name="applicationUserFunc">Optional. The function to use for application user mapping from an IPrincipal</param> /// <returns>The <see cref="ILoupeAgentBuilder"/> instance.</returns> public static ILoupeAgentBuilder AddAspNetCoreDiagnostics(this ILoupeAgentBuilder builder, Func <IPrincipal>?principalFunc, Func <IPrincipal, Lazy <ApplicationUser>, bool>?applicationUserFunc = null) { builder = builder.AddListener <ActionDiagnosticListener>(); builder = (principalFunc == null) ? builder.AddPrincipalResolver <ClaimsPrincipalResolver>() : builder; builder = (applicationUserFunc == null) ? builder.AddApplicationUserProvider <ClaimsPrincipalApplicationUserProvider>() : builder.AddApplicationUserProvider(applicationUserFunc); return(builder); }
/// <summary> /// Adds the EF Core diagnostic listener. /// </summary> /// <param name="builder">The <see cref="ILoupeAgentBuilder"/>.</param> /// <returns>The builder.</returns> public static ILoupeAgentBuilder AddEntityFrameworkCoreDiagnostics(this ILoupeAgentBuilder builder) => builder.AddListener <EntityFrameworkCoreDiagnosticListener>();
/// <summary> /// Adds ASP.NET Core diagnostic listeners for standard Loupe metric generation. /// </summary> /// <param name="builder">The <see cref="ILoupeAgentBuilder"/> instance.</param> /// <returns>The <see cref="ILoupeAgentBuilder"/> instance.</returns> public static ILoupeAgentBuilder AddAspNetCoreDiagnostics(this ILoupeAgentBuilder builder) => builder.AddListener <ActionDiagnosticListener>() .AddPrincipalResolver <ClaimsPrincipalResolver>() .AddApplicationUserProvider <ClaimsPrincipalApplicationUserProvider>();