Exemplo n.º 1
0
 internal TimeDeltaEntry(DateTime at, TimeSpan delta, MessageKey messageKey, Messaging.Event evt)
 {
     At                    = at;
     Delta                 = delta;
     RelatedMessageKey     = messageKey;
     RelatedMessagingEvent = evt;
 }
Exemplo n.º 2
0
        public void GetEvents(Messaging.Event evt, Queue <Timeline.Event> buffer)
        {
            var outEvt = GetEvent(evt);

            if (outEvt != null)
            {
                buffer.Enqueue(outEvt);
            }
        }
Exemplo n.º 3
0
        public Message(MessageKey key, Node node, DateTime ts, Messaging.Event evt)
        {
            this.Key        = key;
            this.Node       = node;
            this.Timestamp  = ts;
            this.Event      = evt;
            this.SequenceNr = -1;
            var ot = evt.Trigger as IOrderedTrigger;

            if (ot != null)
            {
                this.SequenceNr = ot.Index;
            }
        }
Exemplo n.º 4
0
        Timeline.Event GetEvent(Messaging.Event evt)
        {
            var networkMsg = evt as Messaging.NetworkMessageEvent;

            if (networkMsg != null)
            {
                ActivityEventType?type = null;
                if (networkMsg.MessageType == Messaging.MessageType.Request)
                {
                    type = ActivityEventType.Begin;
                }
                else if (networkMsg.MessageType == Messaging.MessageType.Response)
                {
                    type = ActivityEventType.End;
                }
                if (type != null && networkMsg.MessageId != null)
                {
                    var netEvt = new Timeline.NetworkMessageEvent(
                        evt.Trigger,
                        GetDirectionDisplayNamePrefix(networkMsg.MessageDirection) + networkMsg.DisplayName,
                        networkMsg.MessageId,
                        type.Value,
                        ToNetworkMessageDirection(networkMsg.MessageDirection)
                        );
                    bool IsBadHttpCode(int code) => code < 200 || code >= 300;

                    netEvt.Status = networkMsg is Messaging.HttpMessage http &&
                                    IsBadHttpCode(http.StatusCode.GetValueOrDefault(200))
                                                        ? ActivityStatus.Error : ActivityStatus.Unspecified;
                    netEvt.SetTags(networkMsg.Tags);
                    return(netEvt);
                }
            }
            var cancellation = evt as Messaging.RequestCancellationEvent;

            if (cancellation != null)
            {
                Timeline.Event netEvt = new Timeline.NetworkMessageEvent(
                    evt.Trigger,
                    "Canceled: " + cancellation.DisplayName,
                    cancellation.RequestMessageId,
                    ActivityEventType.End,
                    NetworkMessageDirection.Unknown
                    );
                netEvt.SetTags(cancellation.Tags);
                return(netEvt);
            }
            return(null);
        }
Exemplo n.º 5
0
        Timeline.Event GetEvent(Messaging.Event evt)
        {
            var networkMsg = evt as Messaging.NetworkMessageEvent;

            if (networkMsg != null)
            {
                ActivityEventType?type = null;
                if (networkMsg.MessageType == Messaging.MessageType.Request)
                {
                    type = ActivityEventType.Begin;
                }
                else if (networkMsg.MessageType == Messaging.MessageType.Response)
                {
                    type = ActivityEventType.End;
                }
                if (type != null && networkMsg.MessageId != null)
                {
                    Timeline.Event netEvt = new Timeline.NetworkMessageEvent(
                        evt.Trigger,
                        GetDirectionDisplayNamePrefix(networkMsg.MessageDirection) + networkMsg.DisplayName,
                        networkMsg.MessageId,
                        type.Value,
                        ToNetworkMessageDirection(networkMsg.MessageDirection)
                        );
                    netEvt.SetTags(networkMsg.Tags);
                    return(netEvt);
                }
            }
            var cancellation = evt as Messaging.RequestCancellationEvent;

            if (cancellation != null)
            {
                Timeline.Event netEvt = new Timeline.NetworkMessageEvent(
                    evt.Trigger,
                    "Cancelled: " + cancellation.DisplayName,
                    cancellation.RequestMessageId,
                    ActivityEventType.End,
                    NetworkMessageDirection.Unknown
                    );
                netEvt.SetTags(cancellation.Tags);
                return(netEvt);
            }
            return(null);
        }