Ejemplo n.º 1
0
        public Task SendDataAsync(RequestBag bag)
        {
            if (_RequestBagCollection != null)
            {
                _RequestBagCollection.Flush(bag);
            }

            return(Task.CompletedTask);
        }
Ejemplo n.º 2
0
        public Task Transport(RequestBag bag)
        {
            _RequestCollection.Flush(new RequestInfoWithDetail {
                Info   = bag.RequestInfo as Collector.Grpc.RequestInfo,
                Detail = bag.RequestDetail as Collector.Grpc.RequestDetail
            });

            return(Task.CompletedTask);
        }
Ejemplo n.º 3
0
        public async Task AddRequestInfoAsync(RequestBag bag)
        {
            if (Options.EnableDefer)
            {
                _deferFlushCollection.Flush(bag);
            }
            else
            {
                await freeSql.Insert(bag.RequestInfo).ExecuteAffrowsAsync();

                await freeSql.Insert(bag.RequestDetail).ExecuteAffrowsAsync();
            }
        }
Ejemplo n.º 4
0
        public async Task AddRequestInfoAsync(RequestBag bag)
        {
            if (_options.EnableDefer)
            {
                _deferFlushCollection.Flush(bag);
            }
            else
            {
                await LoggingSqlOperation(async connection =>
                {
                    await connection.ExecuteAsync($"INSERT INTO [{Prefix}RequestInfo] (Id,ParentId,Node,Route,Url,RequestType,Method,Milliseconds,StatusCode,IP,Port,LocalIP,LocalPort,CreateTime)  VALUES (@Id,@ParentId,@Node, @Route, @Url,@RequestType, @Method, @Milliseconds, @StatusCode, @IP,@Port,@LocalIP,@LocalPort,@CreateTime)", bag.RequestInfo);

                    await connection.ExecuteAsync($"INSERT INTO [{Prefix}RequestDetail] (Id,RequestId,Scheme,QueryString,Header,Cookie,RequestBody,ResponseBody,ErrorMessage,ErrorStack,CreateTime)  VALUES (@Id,@RequestId,@Scheme,@QueryString,@Header,@Cookie,@RequestBody,@ResponseBody,@ErrorMessage,@ErrorStack,@CreateTime)", bag.RequestDetail);
                }, "请求数据保存失败");
            }
        }
Ejemplo n.º 5
0
        public async Task AddRequestInfoAsync(RequestBag bag)
        {
            if (Options.EnableDefer)
            {
                _deferFlushCollection.Flush(bag);
            }
            else
            {
                await LoggingSqlOperation(async connection =>
                {
                    await connection.ExecuteAsync($"INSERT INTO '{Prefix}RequestInfo' (`Id`,`ParentId`,`Node`, `Route`, `Url`, `RequestType`, `Method`, `Milliseconds`, `StatusCode`, `IP`,`Port`,`LocalIP`,`LocalPort`,`CreateTime`) VALUES (@Id,@ParentId, @Node, @Route, @Url,@RequestType, @Method, @Milliseconds, @StatusCode, @IP,@Port,@LocalIP,@LocalPort, @CreateTime)", bag.RequestInfo);

                    await connection.ExecuteAsync($"INSERT INTO '{Prefix}RequestDetail' (`Id`,`RequestId`,`Scheme`,`QueryString`,`Header`,`Cookie`,`RequestBody`,`ResponseBody`,`ErrorMessage`,`ErrorStack`,`CreateTime`)  VALUES (@Id,@RequestId,@Scheme,@QueryString,@Header,@Cookie,@RequestBody,@ResponseBody,@ErrorMessage,@ErrorStack,@CreateTime)", bag.RequestDetail);
                }, "请求数据保存失败");
            }
        }
Ejemplo n.º 6
0
        public override async Task <WriteReply> WriteRequest(RequestInfoPack request, ServerCallContext context)
        {
            foreach (var item in request.Data)
            {
                var info = new Core.Models.RequestInfo {
                    Id            = item.RequestInfo.Id,
                    Service       = item.RequestInfo.Service,
                    Instance      = item.RequestInfo.Instance,
                    CreateTime    = new System.DateTime(item.RequestInfo.CreateTimeStamp),
                    LoginUser     = item.RequestInfo.LoginUser,
                    Method        = item.RequestInfo.Method,
                    Milliseconds  = item.RequestInfo.Milliseconds,
                    ParentId      = item.RequestInfo.ParentId,
                    ParentService = item.RequestInfo.ParentService,
                    RemoteIP      = item.RequestInfo.RemoteIP,
                    RequestType   = item.RequestInfo.RequestType,
                    Route         = item.RequestInfo.Route,
                    StatusCode    = item.RequestInfo.StatusCode,
                    Url           = item.RequestInfo.Url
                };

                var detail = new Core.Models.RequestDetail {
                    Id           = item.RequestDetail.Id,
                    RequestId    = item.RequestDetail.RequestId,
                    Cookie       = item.RequestDetail.Cookie,
                    CreateTime   = new System.DateTime(item.RequestDetail.CreateTimeStamp),
                    ErrorMessage = item.RequestDetail.ErrorMessage,
                    ErrorStack   = item.RequestDetail.ErrorStack,
                    Header       = item.RequestDetail.Header,
                    QueryString  = item.RequestDetail.QueryString,
                    RequestBody  = item.RequestDetail.RequestBody,
                    ResponseBody = item.RequestDetail.ResponseBody,
                    Scheme       = item.RequestDetail.Scheme
                };

                RequestBag bag = new RequestBag(info, detail);

                await _storage.AddRequestInfoAsync(bag);
            }

            return(new WriteReply()
            {
                Code = 0
            });
        }
Ejemplo n.º 7
0
        public async Task AddRequestInfoAsync(RequestBag bag)
        {
            bag.RequestDetail = CutRequestDetail(bag.RequestDetail);

            if (_options.EnableDefer)
            {
                _deferFlushCollection.Flush(bag);
            }
            else
            {
                await LoggingSqlOperation(async _ =>
                {
                    string requestSql = $@"Insert Into RequestInfo  Values (:Id,:ParentId, :Node, :Route, :Url,:RequestType,:Method, :Milliseconds, :StatusCode, :IP,:Port,:LocalIP,:LocalPort,:CreateTime) ";

                    await _.ExecuteAsync(requestSql, bag.RequestInfo);

                    string detailSql = $@"Insert Into RequestDetail Values  (:Id,:RequestId,:Scheme,:QueryString,:Header,:Cookie,:RequestBody,:ResponseBody,:ErrorMessage,:ErrorStack,:CreateTime)  ";

                    await _.ExecuteAsync(detailSql, bag.RequestDetail);
                }, "请求数据保存失败");
            }
        }
Ejemplo n.º 8
0
        public Task Transport(RequestBag bag)
        {
            Storage.AddRequestInfoAsync(bag).ConfigureAwait(false);

            return(Task.CompletedTask);
        }
Ejemplo n.º 9
0
        public Task Transport(RequestBag bag)
        {
            _RequestBagCollection.Flush(bag);

            return(Task.CompletedTask);
        }
Ejemplo n.º 10
0
 public async Task AddRequestInfoAsync(RequestBag bag) => await Task.Run(() => _deferFlushCollection.Flush(bag));
 public async Task WriteDataAsync(RequestBag bag)
 {
     await Storage.AddRequestInfoAsync(bag);
 }