/// <summary> /// OnMethodBegin callback /// </summary> /// <typeparam name="TMessageQueue">Message queue</typeparam> /// <param name="instance">Instance value, aka `this` of the instrumented method.</param> /// <param name="message">Message itself, can be of any type</param> /// <param name="messageQueueTransaction">Message queue transaction can be null</param> /// <param name="messageQueueTransactionType">Message queue transaction type can be null</param> /// <returns>Calltarget state value</returns> public static CallTargetState OnMethodBegin <TMessageQueue>(TMessageQueue instance, object message, object messageQueueTransaction, MessageQueueTransactionType messageQueueTransactionType) where TMessageQueue : IMessageQueue { var scope = MsmqCommon.CreateScope(Tracer.Instance, Command, SpanKinds.Producer, instance, messageQueueTransaction != null || messageQueueTransactionType != MessageQueueTransactionType.None); return(new CallTargetState(scope)); }
/// <summary> /// OnMethodBegin callback /// </summary> /// <typeparam name="TMessageQueue">Generic TMessageQueue</typeparam> /// <param name="instance">Instance value, aka `this` of the instrumented method, the message queue</param> /// <param name="timeout">A System.TimeSpan that indicates the time to wait until a new message is available for inspection.</param> /// <param name="action">If action is 0, it's a peek (message remains in the queue), otherwise it's a receive</param> /// <param name="cursorHandle">A System.Messaging.Cursor that maintains a specific position in the message queue.</param> /// <param name="messagePropertyFilter"> Controls and selects the properties that are retrieved when peeking or receiving messages from a message queue.</param>2 /// <param name="messageQueueTransaction">transaction</param> /// <param name="messageQueueTransactionType">type of transaction</param> /// <returns>Calltarget state value</returns> public static CallTargetState OnMethodBegin <TMessageQueue>(TMessageQueue instance, TimeSpan timeout, int action, object cursorHandle, object messagePropertyFilter, object messageQueueTransaction, MessageQueueTransactionType messageQueueTransactionType) where TMessageQueue : IMessageQueue { var scope = MsmqCommon.CreateScope(Tracer.Instance, action != 0 ? CommandPeek : CommandReceive, SpanKinds.Consumer, instance); return(new CallTargetState(scope)); }
/// <summary> /// OnMethodBegin callback /// </summary> /// <typeparam name="TMessageQueue">Message queue</typeparam> /// <param name="instance">Instance value, aka `this` of the instrumented method.</param> /// <returns>Calltarget state value</returns> public static CallTargetState OnMethodBegin <TMessageQueue>(TMessageQueue instance) where TMessageQueue : IMessageQueue { var scope = MsmqCommon.CreateScope(Tracer.Instance, Command, SpanKinds.Client, instance); return(new CallTargetState(scope)); }