/// <summary> /// Creates a default timed scope provider. /// </summary> /// <param name="scopeLogger">Custom logger</param> /// <param name="replayEventConfigurator">Reply event configurator</param> /// <param name="machineInformation">Machine information</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> public static ITimedScopeProvider CreateTimedScopeProvider( IMachineInformation machineInformation, ITimedScopeLogger scopeLogger, IReplayEventConfigurator replayEventConfigurator, ITimedScopeStackManager timedScopeStackManager) { return(new TimedScopeProvider(new MockCorrelationDataProvider(), machineInformation, scopeLogger, replayEventConfigurator, timedScopeStackManager)); }
/// <summary> /// Creates a default timed scope. /// </summary> /// <param name="scopeLogger">Custom logger</param> /// <param name="replayEventConfigurator">Reply event configurator</param> /// <param name="machineInformation">Machine information</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> /// <param name="initialResult">Initial scope result.</param> /// <param name="startScope">Start scope implicitly.</param> /// <returns>The created scope.</returns> public static TimedScope CreateDefaultTimedScope( ITimedScopeLogger scopeLogger = null, IReplayEventConfigurator replayEventConfigurator = null, IMachineInformation machineInformation = null, ITimedScopeStackManager timedScopeStackManager = null, bool?initialResult = null, bool startScope = true) { return(CreateTimedScopeProvider(machineInformation, scopeLogger, replayEventConfigurator, timedScopeStackManager) .Create(UnitTestTimedScopes.DefaultScope, TimedScope.ConvertBoolResultToTimedScopeResult(initialResult), startScope)); }
/// <summary> /// Create a timed scope /// </summary> /// <param name="scopeDefinition">Timed scope definition</param> /// <param name="initialResult">The default result for the scope</param> /// <param name="customLogger">Use a custom logger for the timed scope</param> /// <param name="replayEventConfigurator">Replay event configurator</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> /// <param name="correlationData">Correlation data</param> /// <param name="machineInformation">Machine Information</param> /// <returns>Newly created scope</returns> public static TimedScope Create(TimedScopeDefinition scopeDefinition, CorrelationData correlationData, IMachineInformation machineInformation, ITimedScopeLogger customLogger, IReplayEventConfigurator replayEventConfigurator, ITimedScopeStackManager timedScopeStackManager, TimedScopeResult initialResult = default(TimedScopeResult)) { return(new TimedScope(scopeDefinition, correlationData, customLogger, replayEventConfigurator, machineInformation, timedScopeStackManager) { TimedScopeData = correlationData, RunningTransaction = TransactionMonitor.RunningTransaction(correlationData), Result = initialResult, }); }
/// <summary> /// Creates an instance of the test counters timed scope. /// </summary> /// <param name="initialResult">Initial scope result.</param> /// <param name="startScope">Start scope implicitly</param> /// <param name="machineInformation">Machine information</param> /// <param name="scopeLogger">Custom logger</param> /// <param name="replayEventConfigurator">Replay event configurator</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> /// <returns>The created scope.</returns> public static TimedScope CreateTestCountersUnitTestTimedScope( bool?initialResult = null, bool startScope = true, IMachineInformation machineInformation = null, ITimedScopeLogger scopeLogger = null, IReplayEventConfigurator replayEventConfigurator = null, ITimedScopeStackManager timedScopeStackManager = null) { CorrelationData data = new CorrelationData(); return(UnitTestTimedScopes.TestCounters.UnitTest.Create(data, machineInformation, scopeLogger, replayEventConfigurator, timedScopeStackManager, initialResult, startScope)); }
/// <summary> /// Create a timed scope /// </summary> /// <param name="correlation">Correlation data</param> /// <param name="machineInformation">Machine Information</param> /// <param name="customLogger">Use a custom logger for the timed scope</param> /// <param name="replayEventConfigurator">Replay event configurator</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> public TimedScopeProvider( ICorrelationDataProvider correlation, IMachineInformation machineInformation, ITimedScopeLogger customLogger, IReplayEventConfigurator replayEventConfigurator, ITimedScopeStackManager timedScopeStackManager) { m_correlation = Code.ExpectsArgument(correlation, nameof(correlation), TaggingUtilities.ReserveTag(0x2375d3d1 /* tag_933pr */)); m_machineInformation = Code.ExpectsArgument(machineInformation, nameof(machineInformation), TaggingUtilities.ReserveTag(0x2375d3d2 /* tag_933ps */)); m_scopeLogger = Code.ExpectsArgument(customLogger, nameof(customLogger), TaggingUtilities.ReserveTag(0x2375d3d3 /* tag_933pt */)); m_replayEventConfigurator = Code.ExpectsArgument(replayEventConfigurator, nameof(replayEventConfigurator), TaggingUtilities.ReserveTag(0x2375d3d4 /* tag_933pu */)); m_timedScopeStackManager = Code.ExpectsArgument(timedScopeStackManager, nameof(timedScopeStackManager), TaggingUtilities.ReserveTag(0x2375d3d5 /* tag_933pv */)); }
/// <summary> /// Constructor /// </summary> /// <param name="scopeDefinition">Timed scope definition</param> /// <param name="scopeLogger">Scope metrics logger</param> /// <param name="replayEventConfigurator">Replay event configurator</param> /// <param name="machineInformation">Machine Information</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> /// <param name="correlationData">Correlation data</param> private TimedScope(TimedScopeDefinition scopeDefinition, CorrelationData correlationData, ITimedScopeLogger scopeLogger, IReplayEventConfigurator replayEventConfigurator, IMachineInformation machineInformation, ITimedScopeStackManager timedScopeStackManager) { Code.ExpectsArgument(scopeDefinition, nameof(scopeDefinition), TaggingUtilities.ReserveTag(0x238174da /* tag_96xt0 */)); Code.ExpectsArgument(scopeLogger, nameof(scopeLogger), TaggingUtilities.ReserveTag(0x238174db /* tag_96xt1 */)); Code.ExpectsArgument(replayEventConfigurator, nameof(replayEventConfigurator), TaggingUtilities.ReserveTag(0x238174dc /* tag_96xt2 */)); Code.ExpectsArgument(timedScopeStackManager, nameof(timedScopeStackManager), TaggingUtilities.ReserveTag(0x23817062 /* tag_96xb8 */)); ScopeDefinition = scopeDefinition; ScopeLogger = scopeLogger; ReplayEventConfigurator = replayEventConfigurator; CorrelationData = correlationData; MachineInformation = machineInformation; TimedScopeStackManager = timedScopeStackManager; }
/// <summary> /// Deprecated - Start a timed scope /// </summary> /// <remarks>Please use TimedScopeDefinition for creating timed scopes</remarks> /// <param name="correlationData">Correlation data</param> /// <param name="machineInformation">Machine Information</param> /// <param name="scopeName">The name of the timed scope</param> /// <param name="customLogger">Use a custom logger for the timed scope</param> /// <param name="replayEventConfigurator">Replay event configurator</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> /// <param name="initialResult">The default result for the scope</param> /// <returns>Newly created scope</returns> public static TimedScope Start(CorrelationData correlationData, IMachineInformation machineInformation, string scopeName, ITimedScopeLogger customLogger, IReplayEventConfigurator replayEventConfigurator, ITimedScopeStackManager timedScopeStackManager, bool?initialResult) => new TimedScopeDefinition(scopeName).Start(correlationData, machineInformation, customLogger, replayEventConfigurator, timedScopeStackManager, ConvertBoolResultToTimedScopeResult(initialResult));
/// <summary> /// Deprecated - Create a timed scope /// </summary> /// <remarks>Please use TimedScopeDefinition for creating timed scopes</remarks> /// <param name="correlationData">Correlation data</param> /// <param name="machineInformation">Machine Information</param> /// <param name="scopeName">The name of the timed scope</param> /// <param name="description">The description of the timed scope</param> /// <param name="customLogger">Use a custom logger for the timed scope</param> /// <param name="replayEventConfigurator">Replay event configurator</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> /// <param name="initialResult">The default result for the scope</param> /// <returns>Newly created scope</returns> public static TimedScope Create(CorrelationData correlationData, IMachineInformation machineInformation, string scopeName, string description, ITimedScopeLogger customLogger, IReplayEventConfigurator replayEventConfigurator, ITimedScopeStackManager timedScopeStackManager, bool?initialResult) => new TimedScopeDefinition(scopeName, description).Create(correlationData, machineInformation, customLogger, replayEventConfigurator, timedScopeStackManager, initialResult: ConvertBoolResultToTimedScopeResult(initialResult), startScope: false);
/// <summary> /// Deprecated - Create a timed scope /// </summary> /// <remarks>Please use TimedScopeDefinition for creating timed scopes</remarks> /// <param name="correlationData">Correlation data</param> /// <param name="machineInformation">Machine Information</param> /// <param name="scopeName">The name of the timed scope</param> /// <param name="initialResult">The default result for the scope</param> /// <param name="customLogger">Use a custom logger for the timed scope</param> /// <param name="replayEventConfigurator">Replay event configurator</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> /// <returns>newly created scope</returns> public static TimedScope Create(CorrelationData correlationData, IMachineInformation machineInformation, string scopeName, ITimedScopeLogger customLogger, IReplayEventConfigurator replayEventConfigurator, ITimedScopeStackManager timedScopeStackManager, bool?initialResult = null) => new TimedScopeDefinition(scopeName).Create(correlationData, machineInformation, customLogger, replayEventConfigurator, timedScopeStackManager, initialResult: initialResult, startScope: false);
/// <summary> /// Deprecated - Start a timed scope /// </summary> /// <remarks>Please use TimedScopeDefinition for creating timed scopes</remarks> /// <param name="correlationData">Correlation Data</param> /// <param name="machineInformation">Machine Information</param> /// <param name="scopeName">The name of the timed scope</param> /// <param name="description">The description of the timed scope</param> /// <param name="initialResult">The default result for the scope</param> /// <param name="customLogger">Use a custom logger for the timed scope</param> /// <param name="replayEventConfigurator">Replay event configurator</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> /// <returns>Newly created scope</returns> public static TimedScope Start(CorrelationData correlationData, IMachineInformation machineInformation, string scopeName, string description, ITimedScopeLogger customLogger, IReplayEventConfigurator replayEventConfigurator, ITimedScopeStackManager timedScopeStackManager, TimedScopeResult initialResult = default(TimedScopeResult)) => new TimedScopeDefinition(scopeName, description).Start(correlationData, machineInformation, customLogger, replayEventConfigurator, timedScopeStackManager, initialResult);
/// <summary> /// Starts a scope /// </summary> /// <param name="correlationData">Correlation Data</param> /// <param name="machineInformation">Machine Information</param> /// <param name="initialResult">Initial result to use</param> /// <param name="customLogger">Optional custom timed scope logger</param> /// <param name="replayEventConfigurator">Optional replay event configurator</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> /// <returns>A timed scope</returns> public TimedScope Start(CorrelationData correlationData, IMachineInformation machineInformation, ITimedScopeLogger customLogger, IReplayEventConfigurator replayEventConfigurator, ITimedScopeStackManager timedScopeStackManager, TimedScopeResult initialResult = default(TimedScopeResult)) => Create(correlationData, machineInformation, customLogger, replayEventConfigurator, timedScopeStackManager, initialResult: initialResult, startScope: true);
/// <summary> /// Deprecated - Creates a scope /// </summary> /// <remarks>This overload is obsoleted. Use the overload with TimedScopeResult for new scopes instead.</remarks> /// <param name="correlationData">Correlation data</param> /// <param name="machineInformation">Machine Information</param> /// <param name="initialResult">Initial result to use</param> /// <param name="startScope">Should the scope be automatically started (for use in e.g. 'using' statement)</param> /// <param name="customLogger">Optional custom timed scope logger</param> /// <param name="replayEventConfigurator">Optional replay event configurator</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> /// <returns>A timed scope</returns> public TimedScope Create(CorrelationData correlationData, IMachineInformation machineInformation, ITimedScopeLogger customLogger, IReplayEventConfigurator replayEventConfigurator, ITimedScopeStackManager timedScopeStackManager, bool?initialResult, bool startScope = true) => Create(correlationData, machineInformation, customLogger, replayEventConfigurator, timedScopeStackManager, TimedScope.ConvertBoolResultToTimedScopeResult(initialResult), startScope);
/// <summary> /// Creates a scope (and starts by default) /// </summary> /// <param name="correlationData">Correlation Data</param> /// <param name="machineInformation">Machine Information</param> /// <param name="initialResult">Initial result to use</param> /// <param name="startScope">Should the scope be automatically started (for use in e.g. 'using' statement)</param> /// <param name="customLogger">Optional custom timed scope logger</param> /// <param name="replayEventConfigurator">Optional replay event configurator</param> /// <param name="timedScopeStackManager">Timed scope stack manager</param> /// <returns>A timed scope</returns> public TimedScope Create(CorrelationData correlationData, IMachineInformation machineInformation, ITimedScopeLogger customLogger, IReplayEventConfigurator replayEventConfigurator, ITimedScopeStackManager timedScopeStackManager, TimedScopeResult initialResult = default(TimedScopeResult), bool startScope = true) { TimedScope scope = TimedScope.Create(this, correlationData, machineInformation, customLogger, replayEventConfigurator, timedScopeStackManager, initialResult); if (startScope) { scope.Start(); } return(scope); }