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); }
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); }