Example #1
0
 /// <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));
 }
Example #2
0
 /// <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));
 }
Example #3
0
 /// <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,
     });
 }
Example #4
0
        /// <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));
        }
Example #5
0
 /// <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 */));
 }
Example #6
0
        /// <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;
        }
Example #7
0
 /// <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));
Example #8
0
 /// <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);
Example #9
0
 /// <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);
Example #10
0
 /// <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);
Example #11
0
 /// <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);
Example #12
0
 /// <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);
Example #13
0
        /// <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);
        }