public void ErrorPublishStore([Object] CapEventDataPubSend eventData) { var context = _exitSegmentContextAccessor.Context; if (context == null) { return; } context.Span.ErrorOccurred(eventData.Exception); _tracingContext.Release(context); }
public void BeforePublish([Object] CapEventDataPubSend eventData) { _localSegmentContextAccessor.Context = _contexts[eventData.TransportMessage.GetId()]; var context = _tracingContext.CreateExitSegmentContext(OperateNamePrefix + eventData.Operation + ProducerOperateNameSuffix, eventData.BrokerAddress.Endpoint.Replace("-1", "5672"), new CapCarrierHeaderCollection(eventData.TransportMessage)); context.Span.SpanLayer = SpanLayer.MQ; context.Span.Component = GetComponent(eventData.BrokerAddress, true); context.Span.AddTag(Tags.MQ_TOPIC, eventData.Operation); context.Span.AddTag(Tags.MQ_BROKER, eventData.BrokerAddress.Endpoint); context.Span.AddLog(LogEvent.Event("Event Publishing")); context.Span.AddLog(LogEvent.Message("Message publishing start...")); }
public void ErrorPublish([Object] CapEventDataPubSend eventData) { var context = _exitSegmentContextAccessor.Context; if (context == null) { return; } context.Span.AddLog(LogEvent.Event("Event Publishing")); context.Span.AddLog(LogEvent.Message("Message publishing failed!")); context.Span.ErrorOccurred(eventData.Exception); _tracingContext.Release(context); _contexts.TryRemove(eventData.TransportMessage.GetId(), out _); }
public void AfterPublish([Object] CapEventDataPubSend eventData) { var context = _exitSegmentContextAccessor.Context; if (context == null) { return; } context.Span.AddLog(LogEvent.Event("Event Publishing")); context.Span.AddLog(LogEvent.Message("Message publishing succeeded!")); context.Span.AddLog(LogEvent.Message("Spend Time: " + eventData.ElapsedTimeMs + "ms")); _tracingContext.Release(context); _contexts.TryRemove(eventData.TransportMessage.GetId(), out _); }
private void TracingAfter(long?tracingTimestamp, TransportMessage message, BrokerAddress broker) { if (tracingTimestamp != null && s_diagnosticListener.IsEnabled(CapDiagnosticListenerNames.AfterPublish)) { var now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); var eventData = new CapEventDataPubSend() { OperationTimestamp = now, Operation = message.GetName(), BrokerAddress = broker, TransportMessage = message, ElapsedTimeMs = now - tracingTimestamp.Value }; s_diagnosticListener.Write(CapDiagnosticListenerNames.AfterPublish, eventData); } }
public void AfterPublish([Object] CapEventDataPubSend eventData) { var context = _exitSegmentContextAccessor.Context; if (context == null) { return; } context.Span.AddLog(LogEvent.Event("Event Publishing End")); context.Span.AddLog(LogEvent.Message($"CAP message publishing succeeded!{Environment.NewLine}" + $"--> Spend Time: { eventData.ElapsedTimeMs }ms. {Environment.NewLine}" + $"--> Message Id: { eventData.TransportMessage.GetId() }, Name: {eventData.Operation}")); _tracingContext.Release(context); _contexts.TryRemove(eventData.TransportMessage.GetId(), out _); }
private long?TracingBefore(TransportMessage message, BrokerAddress broker) { if (s_diagnosticListener.IsEnabled(CapDiagnosticListenerNames.BeforePublish)) { var eventData = new CapEventDataPubSend() { OperationTimestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), Operation = message.GetName(), BrokerAddress = broker, TransportMessage = message }; s_diagnosticListener.Write(CapDiagnosticListenerNames.BeforePublish, eventData); return(eventData.OperationTimestamp); } return(null); }
private void TracingError(long?tracingTimestamp, TransportMessage message, BrokerAddress broker, OperateResult result) { if (tracingTimestamp != null && s_diagnosticListener.IsEnabled(CapDiagnosticListenerNames.ErrorPublish)) { var ex = new PublisherSentFailedException(result.ToString(), result.Exception); var now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); var eventData = new CapEventDataPubSend() { OperationTimestamp = now, Operation = message.GetName(), BrokerAddress = broker, TransportMessage = message, ElapsedTimeMs = now - tracingTimestamp.Value, Exception = ex }; s_diagnosticListener.Write(CapDiagnosticListenerNames.ErrorPublish, eventData); } }