public void BeginRequest([Property] HttpContext httpContext)
        {
            if (IgnoredRoute(httpContext.Request.Path))
            {
                return;
            }

            var carrier = _contextCarrierFactory.Create();

            foreach (var item in carrier.Items)
            {
                item.HeadValue = httpContext.Request.Headers[item.HeadKey];
            }

            var httpRequestSpan = ContextManager.CreateEntrySpan($"{_skrTraceOptions.ApplicationCode} {httpContext.Request.Path}", carrier);

            httpRequestSpan.AsHttp();
            httpRequestSpan.SetComponent(SpanComponent.AspNetCore);
            httpRequestSpan.Tags.Server()
            .HttpMethod(httpContext.Request.Method)
            .HttpUrl(httpContext.Request.GetDisplayUrl());

            httpRequestSpan.Log(LogField.CreateNew().Event("AspNetCore Hosting BeginRequest")
                                .Message($"Request starting {httpContext.Request.Protocol} {httpContext.Request.Method} {httpContext.Request.GetDisplayUrl()}"));
        }
Ejemplo n.º 2
0
        public void BeginRequest([Property] HttpContext httpContext)
        {
            var carrier = _contextCarrierFactory.Create();

            foreach (var item in carrier.Items)
            {
                item.HeadValue = httpContext.Request.Headers[item.HeadKey];
            }
            var httpRequestSpan = ContextManager.CreateEntrySpan(httpContext.Request.Path, carrier);

            httpRequestSpan.AsHttp();
            httpRequestSpan.SetComponent(ComponentsDefine.AspNetCore);
            Tags.Url.Set(httpRequestSpan, httpContext.Request.Path);
            Tags.HTTP.Method.Set(httpRequestSpan, httpContext.Request.Method);
            httpRequestSpan.Log(DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
                                new Dictionary <string, object>
            {
                { "event", "AspNetCore Hosting BeginRequest" },
                {
                    "message",
                    $"Request starting {httpContext.Request.Protocol} {httpContext.Request.Method} {httpContext.Request.GetDisplayUrl()}"
                }
            });
            httpContext.Items[HttpContextDiagnosticStrings.SpanKey] = httpRequestSpan;
        }
Ejemplo n.º 3
0
        public void ApplicationOnBeginRequest(object sender, EventArgs e)
        {
            var httpApplication = sender as HttpApplication;
            var httpContext     = httpApplication.Context;

            if (httpContext.Request.HttpMethod == "OPTIONS")
            {
                //asp.net Exclude OPTIONS request
                return;
            }

            var carrier = _contextCarrierFactory.Create();

            foreach (var item in carrier.Items)
            {
                item.HeadValue = httpContext.Request.Headers[item.HeadKey];
            }
            var httpRequestSpan = ContextManager.CreateEntrySpan($"{_config.ApplicationCode} {httpContext.Request.Path}", carrier);

            httpRequestSpan.AsHttp();
            httpRequestSpan.SetComponent(ComponentsDefine.AspNet);
            Tags.Url.Set(httpRequestSpan, httpContext.Request.Path);
            Tags.HTTP.Method.Set(httpRequestSpan, httpContext.Request.HttpMethod);
            httpRequestSpan.Log(DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
                                new Dictionary <string, object>
            {
                { "event", "AspNet BeginRequest" },
                { "message", $"Request starting {httpContext.Request.Url.Scheme} {httpContext.Request.HttpMethod} {httpContext.Request.Url.OriginalString}" }
            });
        }
        public void HttpRequestInStart(HttpContext httpContext)
        {
            var carrier = new ContextCarrier();

            foreach (var item in carrier.Items)
            {
                item.HeadValue = httpContext.Request.Headers[item.HeadKey];
            }

            var httpRequestSpan = ContextManager.CreateEntrySpan(httpContext.Request.Path, carrier);

            httpRequestSpan.AsHttp();
            httpRequestSpan.SetComponent(ComponentsDefine.AspNetCore);
            Tags.Url.Set(httpRequestSpan, httpContext.Request.Path);
            Tags.HTTP.Method.Set(httpRequestSpan, httpContext.Request.Method);
        }
        private void RequestFilters(IRequest request, IResponse response, object dto)
        {
            HttpListenerRequest req = (HttpListenerRequest)request.OriginalRequest;
            var trace = request.TryResolve <UrlTraceFilter>();

            if (trace != null)
            {
                if (!trace.IsTrace(request.AbsoluteUri))
                {
                    return;
                }
            }

            //var req = request;

            /*   if (dto == null)
             * {
             *     return;
             * }*/
            var carrier = new ContextCarrier();

            //ContextManager.Extract(carrier);
            foreach (var item in carrier.Items)
            {
                item.HeadValue = request.Headers[item.HeadKey];
            }



            var httpRequestSpan =
                ContextManager.CreateEntrySpan($"{AgentConfig.ApplicationCode} {request.AbsoluteUri}",
                                               carrier);

            httpRequestSpan.AsHttp();


            httpRequestSpan.SetComponent(ComponentsDefine.AspNetCore);
            Tags.Url.Set(httpRequestSpan, request.RawUrl);
            Tags.HTTP.Method.Set(httpRequestSpan, request.GetHttpMethodOverride());
            httpRequestSpan.Log(DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
                                new Dictionary <string, object>
            {
                { "event", "ServiceStack BeginRequest" },
                {
                    "message",
                    $"Request starting {req.Url.Scheme} {req.HttpMethod} {req.Url.OriginalString}"
                }
            });


            // carrier = new ContextCarrier();

            /* if (carrier.IsValid)
             * {
             *   var exitSpan =
             *       ContextManager.CreateExitSpan($"{AgentConfig.ApplicationCode} {request.AbsoluteUri}",
             *           carrier,carrier.PeerHost);
             *
             *   //  ContextManager.Inject(carrier);
             *
             *   foreach (var item in carrier.Items)
             *       request.Headers[item.HeadKey] = item.HeadKey;
             * }*/
        }