public HeapDumpEndpoint(IHeapDumpOptions options, IHeapDumper heapDumper, ILogger <HeapDumpEndpoint> logger = null) : base(options) { if (heapDumper == null) { throw new ArgumentNullException(nameof(heapDumper)); } _heapDumper = heapDumper; _logger = logger; }
/// <summary> /// Adds OWIN Middleware for providing Heap Dumps to OWIN pipeline /// </summary> /// <param name="builder">Your <see cref="IAppBuilder"/></param> /// <param name="options"><see cref="IHeapDumpOptions"/> to configure the endpoint</param> /// <param name="heapDumper"><see cref="HeapDumper"/> or other implementer of <see cref="IHeapDumper"/> for retrieving a heap dump</param> /// <param name="loggerFactory"><see cref="ILoggerFactory"/> for logging inside the middleware and its components</param> /// <returns>Your <see cref="IAppBuilder"/> with Heap Dump middleware attached</returns> public static IAppBuilder UseHeapDumpActuator(this IAppBuilder builder, IHeapDumpOptions options, IHeapDumper heapDumper, ILoggerFactory loggerFactory = null) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (heapDumper == null) { throw new ArgumentNullException(nameof(heapDumper)); } var endpoint = new HeapDumpEndpoint(options, heapDumper, loggerFactory?.CreateLogger <HeapDumpEndpoint>()); var logger = loggerFactory?.CreateLogger <HeapDumpEndpointOwinMiddleware>(); return(builder.Use <HeapDumpEndpointOwinMiddleware>(endpoint, ManagementOptions.Get(), logger)); }
public WindowsHeapDumper(IHeapDumpOptions options, string basePathOverride = null, ILogger <WindowsHeapDumper> logger = null) { _options = options ?? throw new ArgumentNullException(nameof(options)); _logger = logger; _basePathOverride = basePathOverride; }
public HeapDumper(IHeapDumpOptions options, ILogger <HeapDumper> logger = null) { _options = options ?? throw new ArgumentNullException(nameof(options)); _logger = logger; }