Skip to content

Commit b476d0d

Browse files
committed
fix(sequences): debug output of received msgs
The debug output of received msgs was not using the sliced 50 msgs but for all messages times the sliced msgs. Added some console.logging output to measure performance of each step.
1 parent e45ef1d commit b476d0d

File tree

2 files changed

+51
-2
lines changed

2 files changed

+51
-2
lines changed

src/extension/fbaEditor.ts

-1
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,6 @@ export class FBAEditorProvider implements vscode.CustomTextEditorProvider, vscod
553553
if (url.startsWith('ext:')) {
554554
const extName = url.slice(4, url.indexOf('/'))
555555
const query = url.slice(url.indexOf('/'))
556-
console.log(`extName=${extName} request=${url}`)
557556
// did this extension offer the restQuery?
558557
return new Promise((resolve, reject) => {
559558
const rq = this._restQueryExtFunctions.get(extName)

src/extension/fbaNBRQRenderer.ts

+51-1
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,7 @@ export class FBANBRestQueryRenderer {
671671
cell: vscode.NotebookCell,
672672
): Promise<void> {
673673
try {
674+
const perfStart: number = performance.now()
674675
const sequences = JSON5.parse(cell.document.getText())
675676
if (Array.isArray(sequences) && sequences.length > 0) {
676677
// code similar to fba-cli.processSequences (todo refactor to dlt-log-utils/sequences?)
@@ -715,8 +716,15 @@ export class FBANBRestQueryRenderer {
715716
},
716717
],
717718
}
719+
let perfStep = performance.now()
720+
let perfInterims = perfStep - perfStart
721+
console.log(`executeSequences: triggering rest query after ${perfInterims}ms, total:${perfStep - perfStart}ms`)
718722
await editorProvider.performRestQuery(docData, rqUriEncode(allFiltersRq)).then(
719723
async (resJson: any) => {
724+
const perfNow = performance.now()
725+
perfInterims = perfNow - perfStep
726+
perfStep = perfNow
727+
console.log(`executeSequences: got rest query results after ${perfInterims}ms, total:${perfStep - perfStart}ms`)
720728
if ('error' in resJson) {
721729
exec.appendOutput(
722730
new NotebookCellOutput([vscode.NotebookCellOutputItem.stderr(`query got error:${JSON.stringify(resJson.error)}`)]),
@@ -728,6 +736,10 @@ export class FBANBRestQueryRenderer {
728736
.filter((d: any) => d.type === 'lifecycles')
729737
.map((d: any) => [d.id as number, this.getLCInfoFromRQLc(d.attributes)]),
730738
)
739+
let perfNow = performance.now()
740+
perfInterims = perfNow - perfStep
741+
perfStep = perfNow
742+
console.log(`executeSequences: got lifecycles after ${perfInterims}ms, total:${perfStep - perfStart}ms`)
731743
const msgs = <any[]>resJson.data
732744
.filter((d: any) => d.type === 'msg')
733745
.map((d: any) => {
@@ -740,16 +752,34 @@ export class FBANBRestQueryRenderer {
740752
}
741753
})
742754
const slicedMsgs = msgs.slice(0, 50)
755+
perfNow = performance.now()
756+
perfInterims = perfNow - perfStep
757+
perfStep = perfNow
758+
console.log(`executeSequences: got slicedMsgs after ${perfInterims}ms, total:${perfStep - perfStart}ms`)
759+
760+
const msgsText = slicedMsgs.flatMap((msg) => codeBlock(JSON.stringify(msg, undefined, 2), 'json'))
761+
perfNow = performance.now()
762+
perfInterims = perfNow - perfStep
763+
perfStep = perfNow
764+
console.log(`executeSequences: got msgsText after ${perfInterims}ms, total:${perfStep - perfStart}ms`)
743765
appendMarkdown(exec, [
744766
{
745767
open: false,
746768
summary: `received ${lifecycles.size} lifecycles and ${msgs.length} messages${
747769
msgs.length > slicedMsgs.length ? `. Unfold to see first ${slicedMsgs.length}` : resJson.data.length > 0 ? ':' : ''
748770
}`,
749-
texts: msgs.map((msg) => codeBlock(JSON.stringify(slicedMsgs, undefined, 2), 'json')).flat(),
771+
texts: msgsText,
750772
},
751773
])
774+
perfNow = performance.now()
775+
perfInterims = perfNow - perfStep
776+
perfStep = perfNow
777+
console.log(`executeSequences: triggering processMsgs() after ${perfInterims}ms, total:${perfStep - perfStart}ms`)
752778
seqChecker.processMsgs(msgs)
779+
perfNow = performance.now()
780+
perfInterims = perfNow - perfStep
781+
perfStep = perfNow
782+
console.log(`executeSequences: finished processMsgs() after ${perfInterims}ms, total:${perfStep - perfStart}ms`)
753783
/*appendMarkdown(exec, [
754784
{
755785
open: false,
@@ -759,6 +789,10 @@ export class FBANBRestQueryRenderer {
759789
])*/
760790
try {
761791
const resAsMd = seqResultToMdAst(seqResult)
792+
perfNow = performance.now()
793+
perfInterims = perfNow - perfStep
794+
perfStep = perfNow
795+
console.log(`executeSequences: finished seqResultToMdAst() after ${perfInterims}ms, total:${perfStep - perfStart}ms`)
762796
/*appendMarkdown(exec, [
763797
{
764798
open: false,
@@ -773,7 +807,15 @@ export class FBANBRestQueryRenderer {
773807
{ type: 'root', children: resAsMd },
774808
{ extensions: [gfmTableToMarkdown({ tablePipeAlign: false })] },
775809
)
810+
perfNow = performance.now()
811+
perfInterims = perfNow - perfStep
812+
perfStep = perfNow
813+
console.log(`executeSequences: finished toMarkdown() after ${perfInterims}ms, total:${perfStep - perfStart}ms`)
776814
appendMarkdown(exec, [resAsMarkdown])
815+
perfNow = performance.now()
816+
perfInterims = perfNow - perfStep
817+
perfStep = perfNow
818+
console.log(`executeSequences: finished appendMarkdown() after ${perfInterims}ms, total:${perfStep - perfStart}ms`)
777819
} catch (e) {
778820
exec.appendOutput(
779821
new NotebookCellOutput([vscode.NotebookCellOutputItem.stderr(`converting result to md got err:${e}`)]),
@@ -786,6 +828,12 @@ export class FBANBRestQueryRenderer {
786828
texts: seqResult.logs.map((log: string) => codeBlock(log, 'json')).flat(),
787829
},
788830
])
831+
perfNow = performance.now()
832+
perfInterims = perfNow - perfStep
833+
perfStep = perfNow
834+
console.log(
835+
`executeSequences: finished appendMarkdown() for logs after ${perfInterims}ms, total:${perfStep - perfStart}ms`,
836+
)
789837
} else {
790838
exec.appendOutput(new NotebookCellOutput([vscode.NotebookCellOutputItem.stderr(`query got no data!`)]))
791839
}
@@ -798,6 +846,8 @@ export class FBANBRestQueryRenderer {
798846
)
799847
}
800848
exec.end(true)
849+
const perfStep = performance.now()
850+
console.log(`executeSequences: finished exec(true) for logs after total:${perfStep - perfStart}ms`)
801851
} else {
802852
exec.appendOutput(
803853
new NotebookCellOutput([vscode.NotebookCellOutputItem.stderr(`no sequences provided! Needs to be a non empty json array!`)]),

0 commit comments

Comments
 (0)