Commit pirate JS files
This commit is contained in:
104
js/WsprSearchUiStatsSearchController.js
Normal file
104
js/WsprSearchUiStatsSearchController.js
Normal file
@@ -0,0 +1,104 @@
|
||||
/*
|
||||
Copyright (c) 2023-forever Douglas Malnati. All rights reserved.
|
||||
|
||||
See the /faq/tos page for details.
|
||||
|
||||
(If this generated header is stamped on a file which is a 3rd party file or under a different license or copyright, then ignore this copyright statement and use that file's terms.)
|
||||
*/
|
||||
|
||||
import { Base } from './Base.js';
|
||||
import { StrAccumulator } from '/js/Utl.js';
|
||||
|
||||
|
||||
export class WsprSearchUiStatsSearchController
|
||||
extends Base
|
||||
{
|
||||
constructor(cfg)
|
||||
{
|
||||
super();
|
||||
|
||||
this.cfg = cfg;
|
||||
|
||||
this.ok =
|
||||
this.cfg.container &&
|
||||
this.cfg.wsprSearch;
|
||||
|
||||
if (this.ok)
|
||||
{
|
||||
this.ui = this.MakeUI();
|
||||
this.cfg.container.appendChild(this.ui);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Err(`WsprSearchUiStatsSearchController`, `Could not init`);
|
||||
console.log(this.cfg.container);
|
||||
console.log(this.cfg.wsprSearch);
|
||||
}
|
||||
}
|
||||
|
||||
OnEvent(evt)
|
||||
{
|
||||
if (this.ok)
|
||||
{
|
||||
switch (evt.type) {
|
||||
case "SEARCH_COMPLETE": this.OnSearchComplete(); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
OnSearchComplete()
|
||||
{
|
||||
let stats = this.cfg.wsprSearch.GetStats();
|
||||
|
||||
let a = new StrAccumulator();
|
||||
|
||||
a.A(`Querying`);
|
||||
a.A(`--------`);
|
||||
a.A(` Slot 0 Regular - ms: ${stats.query.slot0Regular.durationMs.toString().padStart(4)}, rows: ${stats.query.slot0Regular.rowCount.toString().padStart(5)}, msgs: ${stats.query.slot0Regular.uniqueMsgCount.toString().padStart(4)}`);
|
||||
a.A(` Slot 0 Telemetry - ms: ${stats.query.slot0Telemetry.durationMs.toString().padStart(4)}, rows: ${stats.query.slot0Telemetry.rowCount.toString().padStart(5)}, msgs: ${stats.query.slot0Telemetry.uniqueMsgCount.toString().padStart(4)}`);
|
||||
a.A(` Slot 1 Telemetry - ms: ${stats.query.slot1Telemetry.durationMs.toString().padStart(4)}, rows: ${stats.query.slot1Telemetry.rowCount.toString().padStart(5)}, msgs: ${stats.query.slot1Telemetry.uniqueMsgCount.toString().padStart(4)}`);
|
||||
a.A(` Slot 2 Telemetry - ms: ${stats.query.slot2Telemetry.durationMs.toString().padStart(4)}, rows: ${stats.query.slot2Telemetry.rowCount.toString().padStart(5)}, msgs: ${stats.query.slot2Telemetry.uniqueMsgCount.toString().padStart(4)}`);
|
||||
a.A(` Slot 3 Telemetry - ms: ${stats.query.slot3Telemetry.durationMs.toString().padStart(4)}, rows: ${stats.query.slot3Telemetry.rowCount.toString().padStart(5)}, msgs: ${stats.query.slot3Telemetry.uniqueMsgCount.toString().padStart(4)}`);
|
||||
a.A(` Slot 4 Telemetry - ms: ${stats.query.slot4Telemetry.durationMs.toString().padStart(4)}, rows: ${stats.query.slot4Telemetry.rowCount.toString().padStart(5)}, msgs: ${stats.query.slot4Telemetry.uniqueMsgCount.toString().padStart(4)}`);
|
||||
a.A(``);
|
||||
a.A(`Processing`);
|
||||
a.A(`----------`);
|
||||
a.A(`SearchTotalMs : ${stats.processing.searchTotalMs.toString().padStart(4)}`);
|
||||
a.A(` DecodeMs : ${stats.processing.decodeMs.toString().padStart(4)}`);
|
||||
a.A(` FilterMs : ${stats.processing.filterMs.toString().padStart(4)}`);
|
||||
a.A(` DataTableMs : ${stats.processing.dataTableBuildMs.toString().padStart(4)}`);
|
||||
a.A(` UiRenderMs : ${stats.processing.uiRenderMs.toString().padStart(4)}`);
|
||||
a.A(` StatsGatherMs: ${stats.processing.statsGatherMs.toString().padStart(4)}`);
|
||||
a.A(``);
|
||||
a.A(`Results`);
|
||||
a.A(`-------`);
|
||||
a.A(` Total 10-min windows: ${stats.results.windowCount}`);
|
||||
a.A(` Slot 0 - msgs: ${stats.results.slot0.haveAnyMsgsPct.toString().padStart(3)} %, 0 ok pct: ${stats.results.slot0.noCandidatePct.toString().padStart(3)} %, 1 ok pct: ${stats.results.slot0.oneCandidatePct.toString().padStart(3)} %, 2+ ok pct: ${stats.results.slot0.multiCandidatePct.toString().padStart(3)} %`);
|
||||
a.A(` Slot 1 - msgs: ${stats.results.slot1.haveAnyMsgsPct.toString().padStart(3)} %, 0 ok pct: ${stats.results.slot1.noCandidatePct.toString().padStart(3)} %, 1 ok pct: ${stats.results.slot1.oneCandidatePct.toString().padStart(3)} %, 2+ ok pct: ${stats.results.slot1.multiCandidatePct.toString().padStart(3)} %`);
|
||||
a.A(` Slot 2 - msgs: ${stats.results.slot2.haveAnyMsgsPct.toString().padStart(3)} %, 0 ok pct: ${stats.results.slot2.noCandidatePct.toString().padStart(3)} %, 1 ok pct: ${stats.results.slot2.oneCandidatePct.toString().padStart(3)} %, 2+ ok pct: ${stats.results.slot2.multiCandidatePct.toString().padStart(3)} %`);
|
||||
a.A(` Slot 3 - msgs: ${stats.results.slot3.haveAnyMsgsPct.toString().padStart(3)} %, 0 ok pct: ${stats.results.slot3.noCandidatePct.toString().padStart(3)} %, 1 ok pct: ${stats.results.slot3.oneCandidatePct.toString().padStart(3)} %, 2+ ok pct: ${stats.results.slot3.multiCandidatePct.toString().padStart(3)} %`);
|
||||
a.A(` Slot 4 - msgs: ${stats.results.slot4.haveAnyMsgsPct.toString().padStart(3)} %, 0 ok pct: ${stats.results.slot4.noCandidatePct.toString().padStart(3)} %, 1 ok pct: ${stats.results.slot4.oneCandidatePct.toString().padStart(3)} %, 2+ ok pct: ${stats.results.slot4.multiCandidatePct.toString().padStart(3)} %`);
|
||||
|
||||
this.ta.value = a.Get();
|
||||
}
|
||||
|
||||
MakeUI()
|
||||
{
|
||||
let ui = document.createElement('div');
|
||||
|
||||
let ta = document.createElement('textarea');
|
||||
ta.spellcheck = "false";
|
||||
ta.readOnly = true;
|
||||
ta.disabled = true;
|
||||
ta.style.width = "600px";
|
||||
ta.style.height = "400px";
|
||||
|
||||
this.ta = ta;
|
||||
|
||||
ui.appendChild(ta);
|
||||
|
||||
return ui;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user