@oneuptime/common 10.2.11 → 10.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Server/API/DashboardAPI.ts +96 -0
- package/Server/Services/TelemetryAttributeService.ts +68 -66
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +29 -0
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +36 -0
- package/Types/Dashboard/DashboardVariable.ts +17 -0
- package/Types/Metrics/MetricsQuery.ts +2 -1
- package/Utils/Dashboard/VariableInterpolation.ts +169 -0
- package/Utils/Dashboard/VariableUrlState.ts +128 -0
- package/build/dist/Server/API/DashboardAPI.js +68 -2
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/Services/TelemetryAttributeService.js +52 -48
- package/build/dist/Server/Services/TelemetryAttributeService.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +23 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js +32 -0
- package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardVariable.js +1 -0
- package/build/dist/Types/Dashboard/DashboardVariable.js.map +1 -1
- package/build/dist/Utils/Dashboard/VariableInterpolation.js +101 -0
- package/build/dist/Utils/Dashboard/VariableInterpolation.js.map +1 -0
- package/build/dist/Utils/Dashboard/VariableUrlState.js +101 -0
- package/build/dist/Utils/Dashboard/VariableUrlState.js.map +1 -0
- package/package.json +1 -1
|
@@ -14,6 +14,7 @@ import NotEqual from "../../../../Types/BaseDatabase/NotEqual";
|
|
|
14
14
|
import IsNull from "../../../../Types/BaseDatabase/IsNull";
|
|
15
15
|
import NotNull from "../../../../Types/BaseDatabase/NotNull";
|
|
16
16
|
import GreaterThan from "../../../../Types/BaseDatabase/GreaterThan";
|
|
17
|
+
import Includes from "../../../../Types/BaseDatabase/Includes";
|
|
17
18
|
import Search from "../../../../Types/BaseDatabase/Search";
|
|
18
19
|
import StartsWith from "../../../../Types/BaseDatabase/StartsWith";
|
|
19
20
|
function expectStatement(actual, expected) {
|
|
@@ -274,6 +275,37 @@ describe("StatementGenerator", () => {
|
|
|
274
275
|
expect(statement.query).toContain("lowerUTF8");
|
|
275
276
|
expect(statement.query).toContain("ILIKE");
|
|
276
277
|
});
|
|
278
|
+
test("emits direct map subscript IN(...) for Includes wrapper", () => {
|
|
279
|
+
const statement = mapGenerator.toWhereStatement({
|
|
280
|
+
attributes: {
|
|
281
|
+
"k8s.cluster.name": new Includes(["prod-east", "prod-west"]),
|
|
282
|
+
},
|
|
283
|
+
});
|
|
284
|
+
/*
|
|
285
|
+
* Multi-value dashboard variables emit Includes on a map column;
|
|
286
|
+
* the generator must produce an O(1) Map subscript followed by
|
|
287
|
+
* IN, matching the fast-path used for bare-value equality.
|
|
288
|
+
*/
|
|
289
|
+
expect(statement.query).toBe("AND {p0:Identifier}[{p1:String}] IN {p2:Array(String)}");
|
|
290
|
+
expect(statement.query_params).toStrictEqual({
|
|
291
|
+
p0: "attributes",
|
|
292
|
+
p1: "k8s.cluster.name",
|
|
293
|
+
p2: ["prod-east", "prod-west"],
|
|
294
|
+
});
|
|
295
|
+
});
|
|
296
|
+
test("drops empty Includes wrapper instead of producing IN ()", () => {
|
|
297
|
+
const statement = mapGenerator.toWhereStatement({
|
|
298
|
+
attributes: {
|
|
299
|
+
"k8s.cluster.name": new Includes([]),
|
|
300
|
+
},
|
|
301
|
+
});
|
|
302
|
+
/*
|
|
303
|
+
* An empty multi-select is the user's "All" — must not emit
|
|
304
|
+
* `IN ()` (which ClickHouse treats as match-nothing).
|
|
305
|
+
*/
|
|
306
|
+
expect(statement.query).toBe("");
|
|
307
|
+
expect(statement.query_params).toStrictEqual({});
|
|
308
|
+
});
|
|
277
309
|
});
|
|
278
310
|
});
|
|
279
311
|
describe("toSelectStatement", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatementGenerator.test.js","sourceRoot":"","sources":["../../../../../../Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StatementGenerator.test.js","sourceRoot":"","sources":["../../../../../../Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,6 @@ export var DashboardVariableType;
|
|
|
3
3
|
DashboardVariableType["CustomList"] = "Custom List";
|
|
4
4
|
DashboardVariableType["Query"] = "Query";
|
|
5
5
|
DashboardVariableType["TextInput"] = "Text Input";
|
|
6
|
+
DashboardVariableType["TelemetryAttribute"] = "Telemetry Attribute";
|
|
6
7
|
})(DashboardVariableType || (DashboardVariableType = {}));
|
|
7
8
|
//# sourceMappingURL=DashboardVariable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardVariable.js","sourceRoot":"","sources":["../../../../Types/Dashboard/DashboardVariable.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"DashboardVariable.js","sourceRoot":"","sources":["../../../../Types/Dashboard/DashboardVariable.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,mDAA0B,CAAA;IAC1B,wCAAe,CAAA;IACf,iDAAwB,CAAA;IACxB,mEAA0C,CAAA;AAC5C,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import Includes from "../../Types/BaseDatabase/Includes";
|
|
2
|
+
import { DashboardVariableType, } from "../../Types/Dashboard/DashboardVariable";
|
|
3
|
+
/*
|
|
4
|
+
* Applies dashboard variables to a metric query at render time.
|
|
5
|
+
*
|
|
6
|
+
* For each TelemetryAttribute variable with a selected value, the
|
|
7
|
+
* variable's bound attribute key is injected into the query's attribute
|
|
8
|
+
* filter. An empty/unset selection means "All" — no filter is applied,
|
|
9
|
+
* and any previously-set filter on that key is removed so the widget
|
|
10
|
+
* shows the cross-cluster view by default.
|
|
11
|
+
*
|
|
12
|
+
* Multi-select variables emit an `Includes` operator on the same map
|
|
13
|
+
* key so the server's WHERE-builder produces `attributes[key] IN (...)`.
|
|
14
|
+
*/
|
|
15
|
+
export default class DashboardVariableInterpolation {
|
|
16
|
+
static resolveValue(variable) {
|
|
17
|
+
var _a, _b;
|
|
18
|
+
if (variable.isMultiSelect) {
|
|
19
|
+
const values = (variable.selectedValues || []).filter((v) => {
|
|
20
|
+
return Boolean(v);
|
|
21
|
+
});
|
|
22
|
+
if (values.length > 0) {
|
|
23
|
+
return { multi: values };
|
|
24
|
+
}
|
|
25
|
+
// No multi-select picks. Fall through to default value handling.
|
|
26
|
+
}
|
|
27
|
+
const v = (_b = (_a = variable.selectedValue) !== null && _a !== void 0 ? _a : variable.defaultValue) !== null && _b !== void 0 ? _b : undefined;
|
|
28
|
+
if (v === undefined || v === null || v === "") {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
return { scalar: v };
|
|
32
|
+
}
|
|
33
|
+
/*
|
|
34
|
+
* Generic helper: take a plain attributes map and return a new map
|
|
35
|
+
* with all TelemetryAttribute variables applied. Used by every widget
|
|
36
|
+
* type whose filter is shaped like `{ [attrKey]: value | operator }`
|
|
37
|
+
* (metric charts, log streams). Returns the original reference when
|
|
38
|
+
* nothing changes so React.memo can short-circuit.
|
|
39
|
+
*/
|
|
40
|
+
static applyToAttributes(attributes, variables) {
|
|
41
|
+
const source = attributes || {};
|
|
42
|
+
if (!variables || variables.length === 0) {
|
|
43
|
+
return source;
|
|
44
|
+
}
|
|
45
|
+
const telemetryAttributeVariables = variables.filter((v) => {
|
|
46
|
+
return (v.type === DashboardVariableType.TelemetryAttribute &&
|
|
47
|
+
Boolean(v.attributeKey));
|
|
48
|
+
});
|
|
49
|
+
if (telemetryAttributeVariables.length === 0) {
|
|
50
|
+
return source;
|
|
51
|
+
}
|
|
52
|
+
const next = Object.assign({}, source);
|
|
53
|
+
let changed = false;
|
|
54
|
+
for (const variable of telemetryAttributeVariables) {
|
|
55
|
+
const key = variable.attributeKey;
|
|
56
|
+
const resolved = DashboardVariableInterpolation.resolveValue(variable);
|
|
57
|
+
if (!resolved) {
|
|
58
|
+
if (key in next) {
|
|
59
|
+
delete next[key];
|
|
60
|
+
changed = true;
|
|
61
|
+
}
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (resolved.multi && resolved.multi.length > 0) {
|
|
65
|
+
next[key] = new Includes(resolved.multi);
|
|
66
|
+
changed = true;
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
if (resolved.scalar !== undefined && next[key] !== resolved.scalar) {
|
|
70
|
+
next[key] = resolved.scalar;
|
|
71
|
+
changed = true;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return changed ? next : source;
|
|
75
|
+
}
|
|
76
|
+
static applyToQueryConfig(queryConfig, variables) {
|
|
77
|
+
var _a;
|
|
78
|
+
if (!variables || variables.length === 0) {
|
|
79
|
+
return queryConfig;
|
|
80
|
+
}
|
|
81
|
+
const filterData = (_a = queryConfig.metricQueryData) === null || _a === void 0 ? void 0 : _a.filterData;
|
|
82
|
+
if (!filterData) {
|
|
83
|
+
return queryConfig;
|
|
84
|
+
}
|
|
85
|
+
const originalAttributes = filterData.attributes || {};
|
|
86
|
+
const nextAttributes = DashboardVariableInterpolation.applyToAttributes(originalAttributes, variables);
|
|
87
|
+
if (nextAttributes === originalAttributes) {
|
|
88
|
+
return queryConfig;
|
|
89
|
+
}
|
|
90
|
+
return Object.assign(Object.assign({}, queryConfig), { metricQueryData: Object.assign(Object.assign({}, queryConfig.metricQueryData), { filterData: Object.assign(Object.assign({}, filterData), { attributes: nextAttributes }) }) });
|
|
91
|
+
}
|
|
92
|
+
static applyToQueryConfigs(queryConfigs, variables) {
|
|
93
|
+
if (!variables || variables.length === 0) {
|
|
94
|
+
return queryConfigs;
|
|
95
|
+
}
|
|
96
|
+
return queryConfigs.map((config) => {
|
|
97
|
+
return DashboardVariableInterpolation.applyToQueryConfig(config, variables);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=VariableInterpolation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariableInterpolation.js","sourceRoot":"","sources":["../../../../Utils/Dashboard/VariableInterpolation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* URL state for dashboard variables.
|
|
3
|
+
*
|
|
4
|
+
* Selected values are reflected in the URL as `?var-<name>=<value>` so a
|
|
5
|
+
* dashboard link is shareable with a specific scope already applied. We
|
|
6
|
+
* use the *name* (not the id) because names are user-facing — links
|
|
7
|
+
* survive across dashboards if a variable named `cluster` exists in both.
|
|
8
|
+
*
|
|
9
|
+
* Multi-select uses a `,` separator. Variable names are restricted to
|
|
10
|
+
* `[A-Za-z_][A-Za-z0-9_]*` by the editor, which never collides with `,`.
|
|
11
|
+
*/
|
|
12
|
+
const VAR_PREFIX = "var-";
|
|
13
|
+
export default class DashboardVariableUrlState {
|
|
14
|
+
static parseFromSearch(search) {
|
|
15
|
+
const out = {};
|
|
16
|
+
if (!search) {
|
|
17
|
+
return out;
|
|
18
|
+
}
|
|
19
|
+
const params = new URLSearchParams(search.startsWith("?") ? search.slice(1) : search);
|
|
20
|
+
params.forEach((rawValue, rawKey) => {
|
|
21
|
+
if (!rawKey.startsWith(VAR_PREFIX)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const name = rawKey.slice(VAR_PREFIX.length);
|
|
25
|
+
if (!name) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const decoded = rawValue;
|
|
29
|
+
if (decoded.includes(",")) {
|
|
30
|
+
out[name] = {
|
|
31
|
+
selectedValues: decoded
|
|
32
|
+
.split(",")
|
|
33
|
+
.map((v) => {
|
|
34
|
+
return v.trim();
|
|
35
|
+
})
|
|
36
|
+
.filter((v) => {
|
|
37
|
+
return v.length > 0;
|
|
38
|
+
}),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
out[name] = { selectedValue: decoded };
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
static applyUrlToVariables(variables, fromUrl) {
|
|
48
|
+
return variables.map((variable) => {
|
|
49
|
+
const fromName = fromUrl[variable.name];
|
|
50
|
+
if (!fromName) {
|
|
51
|
+
return variable;
|
|
52
|
+
}
|
|
53
|
+
return Object.assign(Object.assign({}, variable), { selectedValue: fromName.selectedValue, selectedValues: fromName.selectedValues });
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/*
|
|
57
|
+
* Write the current variable selection to window.location without
|
|
58
|
+
* pushing a history entry. We mutate only the `var-<name>` params so
|
|
59
|
+
* unrelated query string state (auth tokens, filter overrides) is
|
|
60
|
+
* preserved.
|
|
61
|
+
*
|
|
62
|
+
* No-op outside browser contexts so callers can be reused in SSR/tests.
|
|
63
|
+
*/
|
|
64
|
+
static writeToBrowserUrl(variables) {
|
|
65
|
+
if (typeof window === "undefined" ||
|
|
66
|
+
typeof window.history === "undefined" ||
|
|
67
|
+
typeof window.location === "undefined") {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const url = new URL(window.location.href);
|
|
71
|
+
const params = url.searchParams;
|
|
72
|
+
// Strip any prior var-* params so deleted variables stop appearing.
|
|
73
|
+
const toDelete = [];
|
|
74
|
+
params.forEach((_value, key) => {
|
|
75
|
+
if (key.startsWith(VAR_PREFIX)) {
|
|
76
|
+
toDelete.push(key);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
for (const key of toDelete) {
|
|
80
|
+
params.delete(key);
|
|
81
|
+
}
|
|
82
|
+
for (const variable of variables) {
|
|
83
|
+
const name = (variable.name || "").trim();
|
|
84
|
+
if (!name) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
const paramKey = `${VAR_PREFIX}${name}`;
|
|
88
|
+
if (variable.selectedValues && variable.selectedValues.length > 0) {
|
|
89
|
+
params.set(paramKey, variable.selectedValues.join(","));
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (variable.selectedValue && variable.selectedValue.length > 0) {
|
|
93
|
+
params.set(paramKey, variable.selectedValue);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const nextSearch = params.toString();
|
|
97
|
+
const nextUrl = `${url.pathname}${nextSearch ? `?${nextSearch}` : ""}${url.hash || ""}`;
|
|
98
|
+
window.history.replaceState(window.history.state, "", nextUrl);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=VariableUrlState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariableUrlState.js","sourceRoot":"","sources":["../../../../Utils/Dashboard/VariableUrlState.ts"],"names":[],"mappings":"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"}
|