Skip to content

Commit

Permalink
[querier] modify table of deepflow_system
Browse files Browse the repository at this point in the history
- run automation test (querier) pass
  • Loading branch information
WJxuan committed Oct 17, 2023
1 parent 4621dad commit 372eb91
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
3 changes: 3 additions & 0 deletions server/querier/engine/clickhouse/clickhouse.go
Original file line number Diff line number Diff line change
Expand Up @@ -744,6 +744,9 @@ func (e *CHEngine) TransFrom(froms sqlparser.TableExprs) error {
// ext_metrics只有metrics表,使用virtual_table_name做过滤区分
if e.DB == "ext_metrics" {
table = "metrics"
} else if e.DB == "deepflow_system" {
// deepflow_system 只有 deepflow_system 表,使用 virtual_table_name 做过滤区分
table = "deepflow_system"
} else if e.DB == chCommon.DB_NAME_PROMETHEUS {
whereStmt := Where{}
metricIDFilter, err := GetMetricIDFilter(e.DB, e.Table)
Expand Down
6 changes: 3 additions & 3 deletions server/querier/engine/clickhouse/clickhouse_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ var (
db: "ext_metrics",
}, {
input: "select Sum(`metrics.pending`) from `deepflow_server.queue`",
output: "SELECT SUM(if(indexOf(metrics_float_names, 'pending')=0,null,metrics_float_values[indexOf(metrics_float_names, 'pending')])) AS `Sum(metrics.pending)` FROM deepflow_system.`deepflow_server.queue` LIMIT 10000",
output: "SELECT SUM(if(indexOf(metrics_float_names, 'pending')=0,null,metrics_float_values[indexOf(metrics_float_names, 'pending')])) AS `Sum(metrics.pending)` FROM deepflow_system.`deepflow_system` PREWHERE (virtual_table_name='deepflow_server.queue') LIMIT 10000",
db: "deepflow_system",
}, {
input: "select `k8s.label_0` from l7_flow_log",
Expand Down Expand Up @@ -219,11 +219,11 @@ var (
db: "flow_metrics",
}, {
input: "SELECT time(time,5,1,0) as toi, Avg(`metrics.dropped`) AS `Avg(metrics.dropped)` FROM `deepflow_agent_collect_sender` GROUP BY toi ORDER BY toi desc",
output: "WITH toStartOfInterval(time, toIntervalSecond(10)) + toIntervalSecond(arrayJoin([0]) * 10) AS `_toi` SELECT toUnixTimestamp(`_toi`) AS `toi`, AVG(if(indexOf(metrics_float_names, 'dropped')=0,null,metrics_float_values[indexOf(metrics_float_names, 'dropped')])) AS `Avg(metrics.dropped)` FROM deepflow_system.`deepflow_agent_collect_sender` GROUP BY `toi` ORDER BY `toi` desc LIMIT 10000",
output: "WITH toStartOfInterval(time, toIntervalSecond(10)) + toIntervalSecond(arrayJoin([0]) * 10) AS `_toi` SELECT toUnixTimestamp(`_toi`) AS `toi`, AVG(if(indexOf(metrics_float_names, 'dropped')=0,null,metrics_float_values[indexOf(metrics_float_names, 'dropped')])) AS `Avg(metrics.dropped)` FROM deepflow_system.`deepflow_system` PREWHERE (virtual_table_name='deepflow_agent_collect_sender') GROUP BY `toi` ORDER BY `toi` desc LIMIT 10000",
db: "deepflow_system",
}, {
input: "SELECT time(time,120,1,0) as toi, Avg(`metrics.dropped`) AS `Avg(metrics.dropped)` FROM `deepflow_agent_collect_sender` GROUP BY toi ORDER BY toi desc",
output: "WITH toStartOfInterval(time, toIntervalSecond(120)) + toIntervalSecond(arrayJoin([0]) * 120) AS `_toi` SELECT toUnixTimestamp(`_toi`) AS `toi`, AVG(if(indexOf(metrics_float_names, 'dropped')=0,null,metrics_float_values[indexOf(metrics_float_names, 'dropped')])) AS `Avg(metrics.dropped)` FROM deepflow_system.`deepflow_agent_collect_sender` GROUP BY `toi` ORDER BY `toi` desc LIMIT 10000",
output: "WITH toStartOfInterval(time, toIntervalSecond(120)) + toIntervalSecond(arrayJoin([0]) * 120) AS `_toi` SELECT toUnixTimestamp(`_toi`) AS `toi`, AVG(if(indexOf(metrics_float_names, 'dropped')=0,null,metrics_float_values[indexOf(metrics_float_names, 'dropped')])) AS `Avg(metrics.dropped)` FROM deepflow_system.`deepflow_system` PREWHERE (virtual_table_name='deepflow_agent_collect_sender') GROUP BY `toi` ORDER BY `toi` desc LIMIT 10000",
db: "deepflow_system",
}, {
input: "SELECT chost_id_0 from l4_flow_log WHERE NOT exist(chost_0) LIMIT 1",
Expand Down
3 changes: 3 additions & 0 deletions server/querier/engine/clickhouse/common/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,9 @@ func GetExtTables(db string, ctx context.Context) (values []interface{}) {
if db == "ext_metrics" {
sql = "SELECT table FROM flow_tag.ext_metrics_custom_field GROUP BY table"
chClient.DB = "flow_tag"
} else if db == "deepflow_system" {
sql = "SELECT table FROM deepflow_system.deepflow_system_custom_field GROUP BY table"
chClient.DB = "flow_tag"
} else {
sql = "SHOW TABLES FROM " + db
}
Expand Down
2 changes: 1 addition & 1 deletion server/querier/engine/clickhouse/from.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func (t *Table) Format(m *view.Model) {
}

func GetVirtualTableFilter(db, table string) (view.Node, bool) {
if db == "ext_metrics" {
if db == "ext_metrics" || db == "deepflow_system" {
filter := fmt.Sprintf("virtual_table_name='%s'", table)
return &view.Expr{Value: "(" + filter + ")"}, true
}
Expand Down

0 comments on commit 372eb91

Please sign in to comment.