C# Class Aspectacular.StopwatchAspect

An aspect recording start time and elapsed execution time. Place this aspect in the aspect collection AFTER log output classes, like TraceOutputAspect, to ensure final data point is shown in the log.
Inheritance: Aspect
Afficher le fichier Open project: vgribok/Aspectacular

Méthodes publiques

Свойство Type Description
Detailed bool

Protected Properties

Свойство Type Description
stopwatch Stopwatch

Méthodes publiques

Méthode Description
Step_1_BeforeResolvingInstance ( ) : void

Called for non-static methods only. Please note that method metadata is not available at this point.

Step_2_BeforeTryingMethodExec ( ) : void

Called right before intercepted method execution.

Step_3_BeforeMassagingReturnedResult ( ) : void

Called after intercepted method returned result and before interceptor augmented it, usually by LINQ modifiers like List(). May be called multiple times if retries are enabled.

LINQ's List(), Single(), etc. methods may be used to execute query returned by the intercepted method. This interceptor is called after query was returned and before it was executed. During this period, Context.ReturnedValue has exact value returned by the intercepted method. After this interceptor is called, Context.ReturnedValue may be changed, primarily by LINQ modifiers, like List().

Step_4_Optional_AfterCatchingMethodExecException ( ) : void

Called after method execution failed (thrown an exception).

Step_4_Optional_AfterSuccessfulCallCompletion ( ) : void

Called after method itself and optional result massager were called successfully. May be called multiple times when retries are enabled.

Since this method may be called multiple times on retries, put all finalization/cleanup logic into steps 5-7.

Step_5_FinallyAfterMethodExecution ( bool interceptedCallSucceeded ) : void

Called after method execution success or failure.

Step_6_Optional_AfterInstanceCleanup ( ) : void

Called only for instance method that have instance cleanup

Step_7_AfterEverythingSaidAndDone ( ) : void

The very final cutpoint in the life cycle of the call.

StopwatchAspect ( ) : System

Initializes stopwatch that will record on start and end time and elapsed time. No interim measurements will be recorded.

StopwatchAspect ( bool detailed ) : System

Méthodes protégées

Méthode Description
RecordStepTime ( string stepName, bool forceDetail = false ) : void

Records elapsed time for a given step.

Private Methods

Méthode Description
RecordStartTime ( ) : void

Method Details

RecordStepTime() protected méthode

Records elapsed time for a given step.
protected RecordStepTime ( string stepName, bool forceDetail = false ) : void
stepName string
forceDetail bool Pass true to record data for the step even if this.Detail=false.
Résultat void

Step_1_BeforeResolvingInstance() public méthode

Called for non-static methods only. Please note that method metadata is not available at this point.
public Step_1_BeforeResolvingInstance ( ) : void
Résultat void

Step_2_BeforeTryingMethodExec() public méthode

Called right before intercepted method execution.
public Step_2_BeforeTryingMethodExec ( ) : void
Résultat void

Step_3_BeforeMassagingReturnedResult() public méthode

Called after intercepted method returned result and before interceptor augmented it, usually by LINQ modifiers like List(). May be called multiple times if retries are enabled.
LINQ's List(), Single(), etc. methods may be used to execute query returned by the intercepted method. This interceptor is called after query was returned and before it was executed. During this period, Context.ReturnedValue has exact value returned by the intercepted method. After this interceptor is called, Context.ReturnedValue may be changed, primarily by LINQ modifiers, like List().
public Step_3_BeforeMassagingReturnedResult ( ) : void
Résultat void

Step_4_Optional_AfterCatchingMethodExecException() public méthode

Called after method execution failed (thrown an exception).
public Step_4_Optional_AfterCatchingMethodExecException ( ) : void
Résultat void

Step_4_Optional_AfterSuccessfulCallCompletion() public méthode

Called after method itself and optional result massager were called successfully. May be called multiple times when retries are enabled.
Since this method may be called multiple times on retries, put all finalization/cleanup logic into steps 5-7.
public Step_4_Optional_AfterSuccessfulCallCompletion ( ) : void
Résultat void

Step_5_FinallyAfterMethodExecution() public méthode

Called after method execution success or failure.
public Step_5_FinallyAfterMethodExecution ( bool interceptedCallSucceeded ) : void
interceptedCallSucceeded bool
Résultat void

Step_6_Optional_AfterInstanceCleanup() public méthode

Called only for instance method that have instance cleanup
public Step_6_Optional_AfterInstanceCleanup ( ) : void
Résultat void

Step_7_AfterEverythingSaidAndDone() public méthode

The very final cutpoint in the life cycle of the call.
public Step_7_AfterEverythingSaidAndDone ( ) : void
Résultat void

StopwatchAspect() public méthode

Initializes stopwatch that will record on start and end time and elapsed time. No interim measurements will be recorded.
public StopwatchAspect ( ) : System
Résultat System

StopwatchAspect() public méthode

public StopwatchAspect ( bool detailed ) : System
detailed bool If true, outputs time and elapsed time after every cut-point. Otherwise data recorded at the beginning and at the end.
Résultat System

Property Details

Detailed public_oe property

When true, outputs time and elapsed time after every cut-point. Otherwise, output only start and end time and total elapsed time.
public bool Detailed
Résultat bool

stopwatch protected_oe property

protected Stopwatch stopwatch
Résultat Stopwatch