diff --git a/controller/realdata_controller.go b/controller/realdata_controller.go index 904c678..28cf2d7 100644 --- a/controller/realdata_controller.go +++ b/controller/realdata_controller.go @@ -58,7 +58,7 @@ func (this RealDataController) List(ctx *fiber.Ctx) error { if strings.TrimSpace(reqData.SearchKw)!="" { filterSql = filterSql+ ` and event_name like '%`+reqData.SearchKw+`%' ` } - sql := `select report_data,event_name,create_time as create_time from xwl_real_time_warehousing where table_id = ? `+filterSql+` order by create_time desc limit 0,1000;` + sql := `select report_data,event_name,create_time as create_time from xwl_real_time_warehousing prewhere table_id = ? `+filterSql+` order by create_time desc limit 0,1000;` logs.Logger.Sugar().Infof("sql",sql,args) var res []Res err := db.ClickHouseSqlx.Select(&res,sql, diff --git a/middleware/fasthttp.go b/middleware/fasthttp.go index 97d10f0..7fd8667 100644 --- a/middleware/fasthttp.go +++ b/middleware/fasthttp.go @@ -9,6 +9,7 @@ import ( "go.uber.org/zap" "runtime" "strings" + "time" ) func Cors(handle fasthttp.RequestHandler) fasthttp.RequestHandler { @@ -30,6 +31,14 @@ func Cors(handle fasthttp.RequestHandler) fasthttp.RequestHandler { } } +func FTimer(handle fasthttp.RequestHandler) fasthttp.RequestHandler { + return func(ctx *fasthttp.RequestCtx) { + startT := time.Now() + handle(ctx) + logs.Logger.Info("handle lost time",zap.String("time",time.Now().Sub(startT).String())) + } +} + func WechatSpider(handle fasthttp.RequestHandler) fasthttp.RequestHandler { return func(ctx *fasthttp.RequestCtx) { diff --git a/platform-basic-libs/service/analysis/trace.go b/platform-basic-libs/service/analysis/trace.go index 8e9d138..080269e 100644 --- a/platform-basic-libs/service/analysis/trace.go +++ b/platform-basic-libs/service/analysis/trace.go @@ -114,6 +114,8 @@ func (this *Trace) GetTableSql() (SQL string, allArgs []interface{}, err error) allArgs = append(allArgs, whereFilterArgs...) + allArgs = append(allArgs, this.args...) + allArgs = append(allArgs, userFilterArgs...) SQL = ` @@ -288,6 +290,8 @@ func NewTrace(reqData []byte) (Ianalysis, error) { obj.eventNameMapStr = mapStr obj.sql, obj.args, err = utils.GetUserGroupSqlAndArgs(obj.req.UserGroup, obj.req.Appid) + + if err != nil { return nil, err } diff --git a/platform-basic-libs/service/realdata/real_data_service.go b/platform-basic-libs/service/realdata/real_data_service.go index 6ac314f..d37c4be 100644 --- a/platform-basic-libs/service/realdata/real_data_service.go +++ b/platform-basic-libs/service/realdata/real_data_service.go @@ -20,7 +20,7 @@ func (this RealDataService) FailDataList(minutes int,appid int) (failDataResList toStartOfInterval(a.part_date, INTERVAL `+strconv.Itoa(minutes)+` minute) as interval_date, formatDateTime(interval_date,'%Y-%m-%d') as year ,formatDateTime(interval_date,'%H:%M') as start_minute, formatDateTime(addMinutes(interval_date, ?),'%H:%M') as end_minute, count(report_data) as count,a.error_reason,a.error_handling,report_type - from (select * from xwl_acceptance_status where table_id = ? and status = ? order by part_date desc limit 1000 ) a + from (select * from xwl_acceptance_status prewhere table_id = ? and status = ? order by part_date desc limit 1000 ) a group by interval_date,a.error_reason,a.error_handling,report_type order by interval_date desc; `,minutes,appid,consumer_data.FailStatus) @@ -30,7 +30,7 @@ func (this RealDataService) FailDataList(minutes int,appid int) (failDataResList func(this RealDataService) FailDataDesc(appid ,startTime ,endTime ,errorReason ,errorHandling ,reportType string )(data string ,err error){ err = db.ClickHouseSqlx.Get(&data, ` - select report_data from xwl_acceptance_status where + select report_data from xwl_acceptance_status prewhere table_id = `+appid+` and part_date >= '`+startTime+`' and part_date <= '`+endTime+`' @@ -61,16 +61,16 @@ func(this RealDataService)ReportCount(appid string,startTime string,endTime stri if util.FilterMysqlNilErr(mysqlErr) { return nil,mysqlErr } - err = db.ClickHouseSqlx.Select(&allCountArr, `select data_name,count() as count from xwl_acceptance_status xas where table_id = `+appid+` and part_date >= '`+startTime+`' and part_date <= '`+endTime+`' group by data_name`) + err = db.ClickHouseSqlx.Select(&allCountArr, `select data_name,count() as count from xwl_acceptance_status xas prewhere table_id = `+appid+` and part_date >= '`+startTime+`' and part_date <= '`+endTime+`' group by data_name`) if err != nil { return nil,err } - err = db.ClickHouseSqlx.Select(&failCountArr, `select data_name,count() as count from xwl_acceptance_status xas where status = 0 and table_id = `+appid+` and part_date >= '`+startTime+`' and part_date <= '`+endTime+`' group by data_name`) + err = db.ClickHouseSqlx.Select(&failCountArr, `select data_name,count() as count from xwl_acceptance_status xas prewhere status = 0 and table_id = `+appid+` and part_date >= '`+startTime+`' and part_date <= '`+endTime+`' group by data_name`) if err != nil { return nil,err } - err = db.ClickHouseSqlx.Select(&succCountArr, `select data_name,count() as count from xwl_acceptance_status xas where status = 1 and table_id = `+appid+` and part_date >= '`+startTime+`' and part_date <= '`+endTime+`' group by data_name`) + err = db.ClickHouseSqlx.Select(&succCountArr, `select data_name,count() as count from xwl_acceptance_status xas prewhere status = 1 and table_id = `+appid+` and part_date >= '`+startTime+`' and part_date <= '`+endTime+`' group by data_name`) if err != nil { return nil,err } @@ -115,7 +115,7 @@ func(this RealDataService)ReportCount(appid string,startTime string,endTime stri } func(this RealDataService)EventFailDesc(appid ,startTime ,endTime,dataName string)(res []response.EventFailDescRes,err error){ - err = db.ClickHouseSqlx.Select(&res, `select error_reason,count() as count,any(report_data) as report_data from xwl_acceptance_status where + err = db.ClickHouseSqlx.Select(&res, `select error_reason,count() as count,any(report_data) as report_data from xwl_acceptance_status prewhere table_id = `+appid+` and part_date >= '`+startTime+`' and part_date <= '`+endTime+`'