/// <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);
        }
Example #2
0
 /// <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>();