Exemple #1
0
        /// <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));
        }
Exemple #2
0
        /// <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));
        }
Exemple #3
0
        /// <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));
        }