Ejemplo n.º 1
0
        private static void CreateTraceAndSend()
        {
            var trace = EpsagonConverter.CreateTrace(JaegerTracer.GetSpans());

            EpsagonTrace.SendTrace(trace);
            JaegerTracer.Clear();
            EpsagonUtils.ClearTraceUrl();
        }
Ejemplo n.º 2
0
        public void HandleAfter(TRes returnValue)
        {
            this.scope.Span.SetTag("aws.lambda.return_value", JsonConvert.SerializeObject(returnValue, new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            }));

            EpsagonUtils.ClearTraceUrl();
            Utils.DebugLogIfEnabled("lambda invoke event - FINISHED");
        }
Ejemplo n.º 3
0
        public static T Handle <T>(Func <T> clientFn, HttpContext context)
        {
            if (Utils.CurrentConfig == null || Utils.CurrentConfig.IsEpsagonDisabled)
            {
                return(clientFn());
            }

            T result;

            var startTime = new DateTimeOffset(DateTime.UtcNow);

            using (var scope = CreateRunner(context)) {
                result = ExecuteClientCode(clientFn, scope);
            }

            CreateTrigger(context, startTime);

            var trace = EpsagonConverter.CreateTrace(JaegerTracer.GetSpans());

            EpsagonTrace.SendTrace(trace);
            JaegerTracer.Clear();
            EpsagonUtils.ClearTraceUrl();
            return(result);
        }