Skip to content

Commit 1dad28f

Browse files
authored
task: add edge observability tables (#9307)
Adds two stat tables to store edge observability data.
1 parent fa43420 commit 1dad28f

2 files changed

+48
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
exports.up = (db, cb) => {
2+
db.runSql(`
3+
CREATE TABLE stat_edge_observability (
4+
instance_id TEXT NOT NULL PRIMARY KEY,
5+
reported_at TIMESTAMP WITH TIME ZONE NOT NULL,
6+
app_name TEXT,
7+
started TIMESTAMP WITH TIME ZONE NOT NULL,
8+
edge_version TEXT NOT NULL,
9+
region TEXT,
10+
cpu_usage NUMERIC DEFAULT 0.0,
11+
memory_usage INTEGER DEFAULT 0,
12+
connected_streaming_clients INTEGER NOT NULL DEFAULT 0,
13+
connected_via TEXT,
14+
client_features_average_latency_ms NUMERIC DEFAULT 0.0,
15+
client_features_p99_latency_ms NUMERIC DEFAULT 0.0,
16+
frontend_api_average_latency_ms NUMERIC DEFAULT 0.0,
17+
frontend_api_p99_latency_ms NUMERIC DEFAULT 0.0,
18+
upstream_features_average_latency_ms NUMERIC DEFAULT 0.0,
19+
upstream_features_p99_latency_ms NUMERIC DEFAULT 0.0,
20+
upstream_metrics_average_latency_ms NUMERIC DEFAULT 0.0,
21+
upstream_metrics_p99_latency_ms NUMERIC DEFAULT 0.0,
22+
upstream_edge_average_latency_ms NUMERIC DEFAULT 0.0,
23+
upstream_edge_p99_latency_ms NUMERIC DEFAULT 0.0
24+
);
25+
CREATE INDEX edge_observability_connected_via_idx ON stat_edge_observability(connected_via) WHERE connected_via IS NOT NULL;
26+
CREATE INDEX edge_observability_app_name_idx ON stat_edge_observability(app_name) WHERE app_name IS NOT NULL;
27+
`, cb);
28+
};
29+
30+
exports.down = (db, cb) => {
31+
db.runSql(`DROP TABLE IF EXISTS stat_edge_observability;`, cb);
32+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
exports.up = (db, cb) => {
2+
db.runSql(`CREATE TABLE stat_edge_traffic_usage(
3+
instance_id TEXT NOT NULL,
4+
day DATE NOT NULL,
5+
traffic_group TEXT NOT NULL,
6+
count BIGINT NOT NULL DEFAULT 0,
7+
PRIMARY KEY (instance_id, day, traffic_group)
8+
);
9+
CREATE INDEX stat_edge_traffic_usage_traffic_group_idx ON stat_edge_traffic_usage(traffic_group);
10+
CREATE INDEX stat_edge_traffic_usage_day_idx ON stat_edge_traffic_usage(day);
11+
`, cb);
12+
};
13+
14+
exports.down = (db, cb) => {
15+
db.runSql(`DROP TABLE stat_edge_traffic_usage;`, cb);
16+
};

0 commit comments

Comments
 (0)