func sqlConfig()

in example/metric_agg/metric_agg_example.go [41:95]


func sqlConfig(accessKeyID string, accessKeySecret string, testId string) *sls.MetricAggRules {
	aggRuleItem := &sls.MetricAggRuleItem{
		Name:      testId,
		QueryType: sls.MetricAggRulesSQL,
		Query:     "* | select max(__time__) as time, COUNT_if(Status < 500) as success, count_if(Status >= 500) as fail, count(1) as total, InvokerUid as aliuid, Project as project, LogStore as logstore from log  group by InvokerUid, Project, LogStore limit 100000",
		TimeName:  "time",
		MetricNames: []string{
			"success",
			"fail",
			"total",
		},
		LabelNames: map[string]string{
			"aliuid":   "aliuid",
			"logstore": "logstore",
			"project":  "project",
		},
		BeginUnixTime: 1610506297,
		EndUnixTime:   -1,
		Interval:      30,
		DelaySeconds:  30,
	}
	aggRuleItem1 := &sls.MetricAggRuleItem{
		Name:      "testId2",
		QueryType: sls.MetricAggRulesSQL,
		Query:     "* | select max(__time__) as time, COUNT_if(Status < 300) as ok, count_if(Status >= 300) as not_ok, Method as method,UserAgent as agent from log  group by method, agent limit 100000",
		TimeName:  "time",
		MetricNames: []string{
			"ok",
			"not_ok",
		},
		LabelNames: map[string]string{
			"method": "method",
			"agent":  "agent",
		},
		BeginUnixTime: 1610506297,
		EndUnixTime:   -1,
		Interval:      30,
		DelaySeconds:  30,
	}
	aggRules := &sls.MetricAggRules{
		ID:                  testId,
		Name:                testId,
		Desc:                "测试CreateMetricAggRules",
		SrcStore:            "internal-operation_log",
		SrcAccessKeyID:      accessKeyID,
		SrcAccessKeySecret:  accessKeySecret,
		DestEndpoint:        "cn-hangzhou-intranet.log.aliyuncs.com",
		DestProject:         "test-hangzhou-b",
		DestStore:           "test",
		DestAccessKeyID:     accessKeyID,
		DestAccessKeySecret: accessKeySecret,
		AggRules:            []sls.MetricAggRuleItem{*aggRuleItem, *aggRuleItem1},
	}
	return aggRules
}