querysub 0.50.0 → 0.52.0
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/package.json
CHANGED
package/src/-0-hooks/hooks.ts
CHANGED
|
@@ -16,6 +16,10 @@ function createHookFunction<Fnc extends (...args: any[]) => void>(debugName: str
|
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
function fnc(...args: Parameters<Fnc>): void {
|
|
19
|
+
if (declaration) {
|
|
20
|
+
declaration(...args);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
19
23
|
queuedCalls.push(args);
|
|
20
24
|
};
|
|
21
25
|
fnc.declare = (fnc: Fnc) => {
|
|
@@ -165,7 +165,7 @@ let harvestableWaitingLoopCount = 0;
|
|
|
165
165
|
let lastZombieCount = 0;
|
|
166
166
|
// NOTE: Only the % waiting for active watchers. Which... is fine
|
|
167
167
|
addStatPeriodic({
|
|
168
|
-
title: "Watcher % Waiting",
|
|
168
|
+
title: "Performance|Watcher % Waiting",
|
|
169
169
|
getValue: () => {
|
|
170
170
|
let totalLoop = harvestableReadyLoopCount + harvestableWaitingLoopCount;
|
|
171
171
|
if (totalLoop === 0) return 0;
|
|
@@ -177,7 +177,7 @@ addStatPeriodic({
|
|
|
177
177
|
format: formatPercent,
|
|
178
178
|
});
|
|
179
179
|
addStatPeriodic({
|
|
180
|
-
title: "Stalled Watchers",
|
|
180
|
+
title: "Performance|Stalled Watchers",
|
|
181
181
|
getValue: () => lastZombieCount,
|
|
182
182
|
});
|
|
183
183
|
|
|
@@ -997,7 +997,7 @@ export class PathValueProxyWatcher {
|
|
|
997
997
|
try {
|
|
998
998
|
return (base as any)(...args);
|
|
999
999
|
} finally {
|
|
1000
|
-
onTimeProfile("Watcher", time);
|
|
1000
|
+
onTimeProfile("Performance|Watcher", time);
|
|
1001
1001
|
}
|
|
1002
1002
|
};
|
|
1003
1003
|
}
|
|
@@ -216,7 +216,7 @@ class Selector extends qreact.Component<SelectorProps> {
|
|
|
216
216
|
let component = qreact.getRenderingComponentAssert();
|
|
217
217
|
return (
|
|
218
218
|
<div
|
|
219
|
-
className={css.relative
|
|
219
|
+
className={css.relative}
|
|
220
220
|
onClick={() => {
|
|
221
221
|
if (this.state.expanded) return;
|
|
222
222
|
|
|
@@ -233,7 +233,7 @@ class Selector extends qreact.Component<SelectorProps> {
|
|
|
233
233
|
|
|
234
234
|
{this.state.expanded && (
|
|
235
235
|
<div
|
|
236
|
-
className={css.absolute.pos(0, 0).width("100vw").vbox0}
|
|
236
|
+
className={css.absolute.pos(0, 0).width("100vw").vbox0.zIndex(2)}
|
|
237
237
|
>
|
|
238
238
|
<div className={css.vbox(2).hsla(0, 0, 80, 1).pad2(6)}>
|
|
239
239
|
{options.map(x =>
|
|
@@ -47,7 +47,7 @@ export class Table<RowT extends RowType> extends qreact.Component<TableType<RowT
|
|
|
47
47
|
|
|
48
48
|
return (
|
|
49
49
|
<table class={css.borderCollapse("collapse") + this.props.class}>
|
|
50
|
-
<tr class={css.position("sticky").
|
|
50
|
+
<tr class={css.position("sticky").top(0).hsla(0, 0, 95, 0.9)}>
|
|
51
51
|
<th class={css.whiteSpace("nowrap")}>⧉ {allRows.length}</th>
|
|
52
52
|
{Object.entries(columns).filter(x => x[1] !== null).map(([columnName, column]) =>
|
|
53
53
|
<th class={css.pad2(8, 4) + cellClass}>{column?.title || toSpaceCase(columnName)}</th>
|
|
@@ -57,7 +57,10 @@ export class Table<RowT extends RowType> extends qreact.Component<TableType<RowT
|
|
|
57
57
|
<tr
|
|
58
58
|
class={
|
|
59
59
|
(index % 2 === 1 && css.hsla(0, 0, 100, 0.25) || "")
|
|
60
|
-
|
|
60
|
+
// NOTE: We don't set z-index, so children z-index values can be laid out above our siblings
|
|
61
|
+
// (if we set z-index it will create a new z-index order under us, and our children will never
|
|
62
|
+
// be able to above our siblings, which breaks palettes).
|
|
63
|
+
+ css.relative
|
|
61
64
|
}
|
|
62
65
|
>
|
|
63
66
|
<td class={css.center}>{index + 1}</td>
|
|
@@ -175,4 +178,14 @@ function renderTrimmed(config: {
|
|
|
175
178
|
let close = showModal({
|
|
176
179
|
content: <FullscreenModal onCancel={() => {
|
|
177
180
|
close.close();
|
|
178
|
-
|
|
181
|
+
}}>
|
|
182
|
+
<div class={css.whiteSpace("pre-wrap")}>
|
|
183
|
+
{content}
|
|
184
|
+
</div>
|
|
185
|
+
</FullscreenModal>
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
innerContent: contentStr
|
|
190
|
+
};
|
|
191
|
+
}
|
|
@@ -18,15 +18,6 @@ import { magenta } from "socket-function/src/formatting/logColors";
|
|
|
18
18
|
|
|
19
19
|
let POLL_INTERVAL = timeInMinute * 5;
|
|
20
20
|
|
|
21
|
-
//todonext
|
|
22
|
-
// Updating didn't work?
|
|
23
|
-
// - Reboot, then try do-update again, then if it still isn't up, ssh in and see what's wrong
|
|
24
|
-
|
|
25
|
-
//todonext;
|
|
26
|
-
// Testing
|
|
27
|
-
POLL_INTERVAL = 10 * 1000;
|
|
28
|
-
|
|
29
|
-
|
|
30
21
|
// Undefined means we infer the column
|
|
31
22
|
// Null means the column is removed
|
|
32
23
|
export type ColumnType = undefined | null | {
|
|
@@ -203,8 +194,6 @@ addTimeProfileDistribution.declare(function addTimeProfileDistribution(
|
|
|
203
194
|
let freeTime = 0;
|
|
204
195
|
let totalTime = 0;
|
|
205
196
|
|
|
206
|
-
console.log(magenta(`${title} Time: ${values.length}`));
|
|
207
|
-
|
|
208
197
|
for (let obj of values) {
|
|
209
198
|
if (!obj) {
|
|
210
199
|
devDebugbreak();
|
|
@@ -243,7 +232,7 @@ addTimeProfileDistribution.declare(function addTimeProfileDistribution(
|
|
|
243
232
|
});
|
|
244
233
|
|
|
245
234
|
registerNodeMetadata({
|
|
246
|
-
columnName:
|
|
235
|
+
columnName: `Performance|${title} Time`,
|
|
247
236
|
column: {},
|
|
248
237
|
getValue() {
|
|
249
238
|
return [
|
|
@@ -14,7 +14,7 @@ import { addStatPeriodic, addStatSumPeriodic, addTimeProfileDistribution, regist
|
|
|
14
14
|
let lastProfile: MeasureProfile | undefined;
|
|
15
15
|
|
|
16
16
|
addStatPeriodic({
|
|
17
|
-
title: "
|
|
17
|
+
title: "Performance|% Profiled",
|
|
18
18
|
getValue: () => {
|
|
19
19
|
if (!lastProfile) return 0;
|
|
20
20
|
let entries = Object.values(lastProfile.entries);
|
|
@@ -27,7 +27,7 @@ addStatPeriodic({
|
|
|
27
27
|
format: formatPercent,
|
|
28
28
|
});
|
|
29
29
|
registerNodeMetadata({
|
|
30
|
-
columnName: "Top Profiled",
|
|
30
|
+
columnName: "Performance|Top Profiled",
|
|
31
31
|
getValue() {
|
|
32
32
|
if (!lastProfile) return "";
|
|
33
33
|
let entries = Object.values(lastProfile.entries);
|
|
@@ -44,16 +44,16 @@ registerNodeMetadata({
|
|
|
44
44
|
return `${endEllipsis(most[0], 26)} = ${formatPercent(most[1] / timeProfiled)}`;
|
|
45
45
|
},
|
|
46
46
|
});
|
|
47
|
-
addTimeProfileDistribution("Network Calls", () => SocketFunction.harvestCallTimes());
|
|
47
|
+
addTimeProfileDistribution("Performance|Network Calls", () => SocketFunction.harvestCallTimes());
|
|
48
48
|
addStatPeriodic({
|
|
49
|
-
title: "Pending Net Calls",
|
|
49
|
+
title: "Performance|Pending Net Calls",
|
|
50
50
|
getValue: () => SocketFunction.getPendingCallCount(),
|
|
51
51
|
});
|
|
52
52
|
addStatSumPeriodic({
|
|
53
|
-
title: "Failed Net Calls",
|
|
53
|
+
title: "Performance|Failed Net Calls",
|
|
54
54
|
getValue: () => SocketFunction.harvestFailedCallCount(),
|
|
55
55
|
});
|
|
56
|
-
addTimeProfileDistribution("Syncing", () => pathWatcher.debug_harvestSyncTimes());
|
|
56
|
+
addTimeProfileDistribution("Performance|Syncing", () => pathWatcher.debug_harvestSyncTimes());
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
function endEllipsis(str: string, maxLength: number) {
|