Пример #1
0
        public void BeforePublishStore([Object] CapEventDataPubStore eventData)
        {
            _contexts[eventData.Message.GetId()] = _entrySegmentContextAccessor.Context;

            var context = _tracingContext.CreateLocalSegmentContext("Event Persistence: " + eventData.Operation);

            //context.Span.SpanLayer = SpanLayer.DB;
            context.Span.Component = Components.CAP;
            //context.Span.AddTag(Tags.DB_TYPE, "sql");
            context.Span.AddLog(LogEvent.Event("Event Persistence"));
            context.Span.AddLog(LogEvent.Message("CAP message persistence start..."));
        }
Пример #2
0
        public void AfterPublishStore([Object] CapEventDataPubStore eventData)
        {
            var context = _localSegmentContextAccessor.Context;

            if (context == null)
            {
                return;
            }

            context.Span.AddLog(LogEvent.Event("Event Persistence"));
            context.Span.AddLog(LogEvent.Message("CAP message persistence succeeded!"));
            context.Span.AddLog(LogEvent.Message("Spend Time: " + eventData.ElapsedTimeMs + "ms"));

            _tracingContext.Release(context);
        }
Пример #3
0
        private void TracingAfter(long?tracingTimestamp, Message message)
        {
            if (tracingTimestamp != null && s_diagnosticListener.IsEnabled(CapDiagnosticListenerNames.AfterPublishMessageStore))
            {
                var now       = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
                var eventData = new CapEventDataPubStore()
                {
                    OperationTimestamp = now,
                    Operation          = message.GetName(),
                    Message            = message,
                    ElapsedTimeMs      = now - tracingTimestamp.Value
                };

                s_diagnosticListener.Write(CapDiagnosticListenerNames.AfterPublishMessageStore, eventData);
            }
        }
        public void AfterPublishStore([Object] CapEventDataPubStore eventData)
        {
            var context = _localSegmentContextAccessor.Context;

            if (context == null)
            {
                return;
            }

            context.Span.AddLog(LogEvent.Event("Event Persistence End"));
            context.Span.AddLog(LogEvent.Message($"CAP message persistence succeeded!{Environment.NewLine}" +
                                                 $"--> Spend Time: { eventData.ElapsedTimeMs }ms.{Environment.NewLine}" +
                                                 $"--> Message Id: { eventData.Message.GetId() } , Name: { eventData.Operation} "));

            _tracingContext.Release(context);
        }
        public void ErrorPublishStore([Object] CapEventDataPubStore eventData)
        {
            var context = _localSegmentContextAccessor.Context;

            if (context == null)
            {
                return;
            }

            context.Span.AddLog(LogEvent.Event("Event Persistence Error"));
            context.Span.AddLog(LogEvent.Message($"CAP message persistence failed!{Environment.NewLine}" +
                                                 $"--> Message Info:{Environment.NewLine}" +
                                                 $"{ JsonConvert.SerializeObject(eventData.Message, Formatting.Indented)}"));

            context.Span.ErrorOccurred(eventData.Exception);
            _tracingContext.Release(context);
        }
Пример #6
0
        private long?TracingBefore(Message message)
        {
            if (s_diagnosticListener.IsEnabled(CapDiagnosticListenerNames.BeforePublishMessageStore))
            {
                var eventData = new CapEventDataPubStore()
                {
                    OperationTimestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
                    Operation          = message.GetName(),
                    Message            = message
                };

                s_diagnosticListener.Write(CapDiagnosticListenerNames.BeforePublishMessageStore, eventData);

                return(eventData.OperationTimestamp);
            }

            return(null);
        }