public void AfterServiceInvoke([Object] ServiceInvokeBeforeEventData eventData)
        {
            var context = _entrySegmentContextAccessor.Context;

            if (context == null)
            {
                return;
            }
            _tracingContext.Release(context);
        }
Пример #2
0
        public void BeforeServiceInvoke([Object] ServiceInvokeBeforeEventData eventData)
        {
            var operation = $"server-invoke: {eventData.Operation}";
            var context   = _tracingContext.CreateEntrySegmentContext(operation, new JimuServerCarrierHeaderCollection(eventData.Data.RemoteInvokeMessage.Payload));

            context.Span.Peer = eventData.Data.Address.ToString();

            if (eventData.Data.ServiceEntry != null)
            {
                context.Span.AddTag("service", eventData.Data.ServiceEntry.Descriptor.Id);
                context.Span.AddTag("allowAnonymous", eventData.Data.ServiceEntry.Descriptor.AllowAnonymous);
            }

            StringBuilder sbLog = new StringBuilder();

            if (eventData.Data.RemoteInvokeMessage?.Parameters != null)
            {
                sbLog.AppendLine($"parameters =>");
                foreach (var para in eventData.Data.RemoteInvokeMessage.Parameters)
                {
                    if (para.Value is List <JimuFile> )
                    {
                        foreach (var file in para.Value as List <JimuFile> )
                        {
                            sbLog.AppendLine($"{para.Key}: {file.FileName}");
                        }
                    }
                    else
                    {
                        sbLog.AppendLine($"{para.Key}: {para.Value}");
                    }
                }
            }

            sbLog.AppendLine($"token =>");
            sbLog.AppendLine($"{eventData.Data.RemoteInvokeMessage?.Token}");
            if (eventData.Data.RemoteInvokeMessage?.Payload?.Items != null)
            {
                sbLog.AppendLine($"payLoad =>");
                foreach (var item in eventData.Data.RemoteInvokeMessage.Payload.Items)
                {
                    sbLog.AppendLine($"{item.Key}: {item.Value}");
                }
            }
            else
            {
                sbLog.AppendLine($"payload is null");
            }

            context.Span.AddLog(LogEvent.Event("start"), LogEvent.Message(sbLog.ToString()));
        }
        public void BeforeServiceInvoke([Object] ServiceInvokeBeforeEventData eventData)
        {
            var context = _tracingContext.CreateEntrySegmentContext(eventData.Operation, new JimuServerCarrierHeaderCollection(eventData.Data.RemoteInvokeMessage.Payload));

            context.Span.AddTag("name", "f**k");
        }