/// <summary> /// Configures the cluster to trace command events to the specified <paramref name="traceSource"/>. /// </summary> /// <param name="builder">The builder.</param> /// <param name="traceSource">The trace source.</param> /// <returns>A reconfigured cluster builder.</returns> public static ClusterBuilder TraceCommandsWith(this ClusterBuilder builder, TraceSource traceSource) { Ensure.IsNotNull(builder, nameof(builder)); Ensure.IsNotNull(traceSource, nameof(traceSource)); return(builder.Subscribe(new TraceSourceCommandEventSubscriber(traceSource))); }
/// <summary> /// Configures the cluster to write performance counters. /// </summary> /// <param name="builder">The cluster builder.</param> /// <param name="applicationName">The name of the application.</param> /// <param name="install">if set to <c>true</c> install the performance counters first.</param> /// <returns>A reconfigured cluster builder.</returns> public static ClusterBuilder UsePerformanceCounters(this ClusterBuilder builder, string applicationName, bool install = false) { Ensure.IsNotNull(builder, nameof(builder)); if (install) { PerformanceCounterEventSubscriber.InstallPerformanceCounters(); } var subscriber = new PerformanceCounterEventSubscriber(applicationName); return(builder.Subscribe(subscriber)); }