|
@@ -18,6 +18,7 @@ var (
|
|
|
AccessKeySecret = "RfSjdiWwED1sGFlsjXv0DlfTnZTG1P"
|
|
|
Endpoint = "cn-hangzhou.log.aliyuncs.com"
|
|
|
adActionLogStore *sls.LogStore
|
|
|
+ adOwnActionLogStore *sls.LogStore
|
|
|
longvideoReqeustLogStore *sls.LogStore
|
|
|
videoPlayStore *sls.LogStore
|
|
|
videoActionStore *sls.LogStore
|
|
@@ -25,7 +26,12 @@ var (
|
|
|
userShareStore *sls.LogStore
|
|
|
adRequestStore *sls.LogStore
|
|
|
|
|
|
- adReportQuerySQL = `* | SELECT appType, json_extract_scalar(extParams, '$.eventInfos.ab_test002') AS adGroup, CASE WHEN adType = 1 THEN 'BANNER广告' WHEN adType = 2 THEN '视频广告' WHEN adType = 3 THEN '贴片广告' WHEN adType = 4 THEN '插屏广告' WHEN adType = 5 THEN '开屏广告' WHEN adType = 6 THEN '激励广告' ELSE ' ' END AS adType, COUNT( DISTINCT CASE WHEN businessType = 'adLoaded' THEN machineCode END ) AS adLoaded, COUNT( DISTINCT CASE WHEN businessType = 'adRequest' THEN machineCode END ) AS adRequest, COUNT( DISTINCT CASE WHEN businessType = 'adView' THEN machineCode END ) AS adView, COUNT( DISTINCT CASE WHEN businessType = 'adClick' THEN machineCode END ) AS adClick, COUNT( DISTINCT CASE WHEN businessType = 'adShowError' THEN machineCode END ) AS adShowError, COUNT( DISTINCT CASE WHEN businessType = 'adLoadError' THEN machineCode END ) AS adLoadError, COUNT( DISTINCT CASE WHEN businessType = 'adConfigRequest' THEN machineCode END ) AS adConfigRequest, COUNT( DISTINCT CASE WHEN businessType = 'adConfigLoaded' THEN machineCode END ) AS adConfigLoaded GROUP BY adGroup, adType, appType HAVING adGroup IS NOT NULL AND adType != ' ' ORDER BY appType ASC LIMIT 1000`
|
|
|
+ adReportQuerySQL = `* | SELECT appType, json_extract_scalar(extParams, '$.eventInfos.ab_test002') AS adGroup, CASE WHEN adType = 1 THEN 'BANNER广告' WHEN adType = 2 THEN '视频广告' WHEN adType = 3 THEN '贴片广告' WHEN adType = 4 THEN '插屏广告' WHEN adType = 5 THEN '开屏广告' WHEN adType = 6 THEN '激励广告' ELSE ' ' END AS adType, COUNT( DISTINCT CASE WHEN businessType = 'adLoaded' THEN machineCode END ) AS adLoaded, COUNT( DISTINCT CASE WHEN businessType = 'adRequest' THEN machineCode END ) AS adRequest, COUNT( DISTINCT CASE WHEN businessType = 'adView' THEN machineCode END ) AS adView, COUNT( DISTINCT CASE WHEN businessType = 'adClick' THEN machineCode END ) AS adClick, COUNT( DISTINCT CASE WHEN businessType = 'adShowError' THEN machineCode END ) AS adShowError, COUNT( DISTINCT CASE WHEN businessType = 'adLoadError' THEN machineCode END ) AS adLoadError, COUNT( DISTINCT CASE WHEN businessType = 'adConfigRequest' THEN machineCode END ) AS adConfigRequest, COUNT( DISTINCT CASE WHEN businessType = 'adConfigLoaded' THEN machineCode END ) AS adConfigLoaded GROUP BY adGroup, adType, appType HAVING adGroup IS NOT NULL AND adType != ' ' ORDER BY appType ASC LIMIT 1000`
|
|
|
+
|
|
|
+ adOwnWecahtReportQuerySQL = `* | SELECT appType, json_extract_scalar(extParams, '$.eventInfos.ab_test002') AS adGroup, CASE WHEN adType = 1 THEN 'BANNER广告' WHEN adType = 2 THEN '视频广告' WHEN adType = 3 THEN '贴片广告' WHEN adType = 4 THEN '插屏广告' WHEN adType = 5 THEN '开屏广告' WHEN adType = 6 THEN '激励广告' ELSE ' ' END AS adType, COUNT( DISTINCT CASE WHEN businessType = 'adLoaded' THEN machineCode END ) AS adLoaded, COUNT( DISTINCT CASE WHEN businessType = 'adRequest' THEN machineCode END ) AS adRequest, COUNT( DISTINCT CASE WHEN businessType = 'adView' THEN machineCode END ) AS adView, COUNT( DISTINCT CASE WHEN businessType = 'adClick' THEN machineCode END ) AS adClick, COUNT( DISTINCT CASE WHEN businessType = 'adShowError' THEN machineCode END ) AS adShowError, COUNT( DISTINCT CASE WHEN businessType = 'adLoadError' THEN machineCode END ) AS adLoadError, COUNT( DISTINCT CASE WHEN businessType = 'adConfigRequest' THEN machineCode END ) AS adConfigRequest, COUNT( DISTINCT CASE WHEN businessType = 'adConfigLoaded' THEN machineCode END ) AS adConfigLoaded GROUP BY adGroup, adType, appType HAVING adGroup IS NOT NULL AND adType != ' ' ORDER BY appType ASC LIMIT 1000`
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
adReportQuerySQL4 = `* | SELECT appType, json_extract_scalar(extParams, '$.eventInfos.ab_test004') AS adGroup, CASE WHEN adType = 1 THEN 'BANNER广告' WHEN adType = 2 THEN '视频广告' WHEN adType = 3 THEN '贴片广告' WHEN adType = 4 THEN '插屏广告' WHEN adType = 5 THEN '开屏广告' WHEN adType = 6 THEN '激励广告' ELSE ' ' END AS adType, COUNT( DISTINCT CASE WHEN businessType = 'adLoaded' THEN machineCode END ) AS adLoaded, COUNT( DISTINCT CASE WHEN businessType = 'adRequest' THEN machineCode END ) AS adRequest, COUNT( DISTINCT CASE WHEN businessType = 'adView' THEN machineCode END ) AS adView, COUNT( DISTINCT CASE WHEN businessType = 'adClick' THEN machineCode END ) AS adClick, COUNT( DISTINCT CASE WHEN businessType = 'adShowError' THEN machineCode END ) AS adShowError, COUNT( DISTINCT CASE WHEN businessType = 'adLoadError' THEN machineCode END ) AS adLoadError, COUNT( DISTINCT CASE WHEN businessType = 'adConfigRequest' THEN machineCode END ) AS adConfigRequest, COUNT( DISTINCT CASE WHEN businessType = 'adConfigLoaded' THEN machineCode END ) AS adConfigLoaded GROUP BY adGroup, adType, appType HAVING adGroup IS NOT NULL AND adType != ' ' ORDER BY appType ASC LIMIT 1000`
|
|
|
apiQuerySQL = `* and requestUri: "/longvideoapi/video/distribute/category/videoList/v2" or requestUri: "/longvideoapi/video/v2/detail" or requestUri: "/longvideoapi/video/v2/sharePageDetail" or requestUri: "/longvideoapi/video/recommend/sharePage/list" | SELECT requestUri, json_extract_scalar(params, '$.appType') as appType, COUNT(*) as total, count( case when resultCode = 0 THEN 1 else null end ) as success, count( case when resultCode != 0 THEN 1 else null end ) as error GROUP by appType, requestUri order by requestUri asc limit 1000`
|
|
|
videoPlayQuerySQL = `* | select appType, COUNT(*) as cnt, businessType, pageSource GROUP by appType, businessType, pageSource ORDER BY appType ASC, cnt DESC LIMIT 1000`
|
|
@@ -57,6 +63,11 @@ func init() {
|
|
|
panic(err)
|
|
|
}
|
|
|
|
|
|
+ adOwnActionLogStore, err = client.GetLogStore("video-upload-data-prod", "own-ad-action-log")
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+
|
|
|
videoActionStore, err = client.GetLogStore("wqsd-video", "video-action-log")
|
|
|
if err != nil {
|
|
|
panic(err)
|
|
@@ -85,6 +96,7 @@ func init() {
|
|
|
|
|
|
func (c *CustomCollector) Describe(ch chan<- *prometheus.Desc) {
|
|
|
ch <- c.AdInfoDesc
|
|
|
+ ch <- c.AdOwnWechatInfoDesc
|
|
|
ch <- c.ApiInfoDesc
|
|
|
ch <- c.VideoPlayDesc
|
|
|
ch <- c.AdConfigDesc
|
|
@@ -169,6 +181,32 @@ func (c *CustomCollector) Collect(ch chan<- prometheus.Metric) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ resp, err = adOwnActionLogStore.GetLogs("", time.Now().Unix()-60, time.Now().Unix(), adOwnWecahtReportQuerySQL, 0, 0, true)
|
|
|
+ if err != nil || resp == nil {
|
|
|
+ log.Printf("get ad report logs ab_test002 error %+v resp is %+v.", err, resp)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range resp.Logs {
|
|
|
+ for k, v2 := range v {
|
|
|
+ if k == "adRequest" ||
|
|
|
+ k == "adShowError" ||
|
|
|
+ k == "adLoadError" ||
|
|
|
+ k == "adConfigRequest" ||
|
|
|
+ k == "adConfigLoaded" ||
|
|
|
+ k == "adLoaded" ||
|
|
|
+ k == "adView" ||
|
|
|
+ k == "adClick" {
|
|
|
+ v3, _ := strconv.ParseFloat(v2, 64)
|
|
|
+ ch <- prometheus.MustNewConstMetric(
|
|
|
+ c.AdOwnWechatInfoDesc,
|
|
|
+ prometheus.GaugeValue,
|
|
|
+ v3,
|
|
|
+ v["appType"], v["adGroup"], v["adType"], k,
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
resp, err = adRequestStore.GetLogs("", time.Now().Unix()-60, time.Now().Unix(), adConfigQuerySQL, 0, 0, true)
|
|
|
if err != nil || resp == nil {
|
|
|
log.Printf("get ad config logs error %+v resp is %+v.", err, resp)
|
|
@@ -327,10 +365,11 @@ func (c *CustomCollector) Collect(ch chan<- prometheus.Metric) {
|
|
|
}
|
|
|
|
|
|
type CustomCollector struct {
|
|
|
- AdInfoDesc *prometheus.Desc
|
|
|
- ApiInfoDesc *prometheus.Desc
|
|
|
- AdConfigDesc *prometheus.Desc
|
|
|
- AdInfo4Desc *prometheus.Desc
|
|
|
+ AdInfoDesc *prometheus.Desc
|
|
|
+ AdOwnWechatInfoDesc *prometheus.Desc
|
|
|
+ ApiInfoDesc *prometheus.Desc
|
|
|
+ AdConfigDesc *prometheus.Desc
|
|
|
+ AdInfo4Desc *prometheus.Desc
|
|
|
|
|
|
VideoPlayDesc *prometheus.Desc
|
|
|
|
|
@@ -355,6 +394,12 @@ func main() {
|
|
|
[]string{"app_type", "ad_group", "ad_type", "_type"},
|
|
|
prometheus.Labels{},
|
|
|
),
|
|
|
+ AdOwnWechatInfoDesc: prometheus.NewDesc(
|
|
|
+ "ad_own_wechat_metrics_info",
|
|
|
+ "Front report ad metrics info",
|
|
|
+ []string{"app_type", "ad_group", "ad_type", "_type"},
|
|
|
+ prometheus.Labels{},
|
|
|
+ ),
|
|
|
ApiInfoDesc: prometheus.NewDesc(
|
|
|
"api_metrics_info",
|
|
|
"Core API Metrics Info",
|