@@ -225,6 +225,8 @@ export class DataSchemaCompiler {
225
225
? files . filter ( f => this . filesToCompile . includes ( f . fileName ) )
226
226
: files ;
227
227
228
+ const jinjaLoaderTimer = perfTracker . start ( 'loadJinjaTemplates' ) ;
229
+
228
230
const jinjaTemplatedFiles = toCompile . filter ( ( file ) => file . fileName . endsWith ( '.jinja' ) ||
229
231
( file . fileName . endsWith ( '.yml' ) || file . fileName . endsWith ( '.yaml' ) ) && file . content . match ( JINJA_SYNTAX ) ) ;
230
232
@@ -233,6 +235,8 @@ export class DataSchemaCompiler {
233
235
this . loadJinjaTemplates ( jinjaTemplatedFiles ) ;
234
236
}
235
237
238
+ jinjaLoaderTimer . end ( ) ;
239
+
236
240
const errorsReport = new ErrorReporter ( null , [ ] , this . errorReportOptions ) ;
237
241
this . errorsReporter = errorsReport ;
238
242
@@ -578,6 +582,8 @@ export class DataSchemaCompiler {
578
582
) : Promise < ( FileContent | undefined ) > {
579
583
try {
580
584
if ( getEnv ( 'transpilationNative' ) ) {
585
+ const compileJsFileTimer = perfTracker . start ( 'transpileJsFile (native)' ) ;
586
+
581
587
const reqData = {
582
588
fileName : file . fileName ,
583
589
fileContent : file . content ,
@@ -599,8 +605,12 @@ export class DataSchemaCompiler {
599
605
errorsReport . addWarnings ( res [ 0 ] . warnings as unknown as SyntaxErrorInterface [ ] ) ;
600
606
errorsReport . exitFile ( ) ;
601
607
608
+ compileJsFileTimer . end ( ) ;
609
+
602
610
return { ...file , content : res [ 0 ] . code } ;
603
611
} else if ( getEnv ( 'transpilationWorkerThreads' ) ) {
612
+ const compileJsFileTimer = perfTracker . start ( 'transpileJsFile (threads)' ) ;
613
+
604
614
const data = {
605
615
fileName : file . fileName ,
606
616
content : file . content ,
@@ -613,8 +623,12 @@ export class DataSchemaCompiler {
613
623
errorsReport . addErrors ( res . errors ) ;
614
624
errorsReport . addWarnings ( res . warnings ) ;
615
625
626
+ compileJsFileTimer . end ( ) ;
627
+
616
628
return { ...file , content : res . content } ;
617
629
} else {
630
+ const compileJsFileTimer = perfTracker . start ( 'transpileJsFile (inplace)' ) ;
631
+
618
632
const ast = parse (
619
633
file . content ,
620
634
{
@@ -631,6 +645,9 @@ export class DataSchemaCompiler {
631
645
errorsReport . exitFile ( ) ;
632
646
633
647
const content = babelGenerator ( ast , { } , file . content ) . code ;
648
+
649
+ compileJsFileTimer . end ( ) ;
650
+
634
651
return { ...file , content } ;
635
652
}
636
653
} catch ( e : any ) {
@@ -655,6 +672,8 @@ export class DataSchemaCompiler {
655
672
{ cubeNames, cubeSymbols, compilerId } : TranspileOptions
656
673
) : Promise < ( FileContent | undefined ) > {
657
674
if ( getEnv ( 'transpilationNative' ) ) {
675
+ const transpileYamlFileTimer = perfTracker . start ( 'transpileYamlFile (native)' ) ;
676
+
658
677
const reqData = {
659
678
fileName : file . fileName ,
660
679
fileContent : file . content ,
@@ -671,8 +690,12 @@ export class DataSchemaCompiler {
671
690
file . content = res [ 0 ] . code ;
672
691
file . convertedToJs = true ;
673
692
693
+ transpileYamlFileTimer . end ( ) ;
694
+
674
695
return { ...file , content : res [ 0 ] . code } ;
675
696
} else if ( getEnv ( 'transpilationWorkerThreads' ) ) {
697
+ const transpileYamlFileTimer = perfTracker . start ( 'transpileYamlFile (threads)' ) ;
698
+
676
699
const data = {
677
700
fileName : file . fileName ,
678
701
content : file . content ,
@@ -688,15 +711,21 @@ export class DataSchemaCompiler {
688
711
file . content = res . content ;
689
712
file . convertedToJs = true ;
690
713
714
+ transpileYamlFileTimer . end ( ) ;
715
+
691
716
return { ...file , content : res . content } ;
692
717
} else {
718
+ const transpileYamlFileTimer = perfTracker . start ( 'transpileYamlFile (inplace)' ) ;
719
+
693
720
const transpiledFile = this . yamlCompiler . transpileYamlFile ( file , errorsReport ) ;
694
721
695
722
if ( transpiledFile ) {
696
723
file . content = transpiledFile . content ;
697
724
file . convertedToJs = true ;
698
725
}
699
726
727
+ transpileYamlFileTimer . end ( ) ;
728
+
700
729
return transpiledFile ;
701
730
}
702
731
}
@@ -711,6 +740,8 @@ export class DataSchemaCompiler {
711
740
// } else if (getEnv('transpilationWorkerThreads')) {
712
741
//
713
742
// } else {
743
+ const transpileJinjaFileTimer = perfTracker . start ( 'transpileJinjaFile (common)' ) ;
744
+
714
745
const transpiledFile = await this . yamlCompiler . compileYamlWithJinjaFile (
715
746
file ,
716
747
errorsReport ,
@@ -725,6 +756,8 @@ export class DataSchemaCompiler {
725
756
file . convertedToJs = true ;
726
757
}
727
758
759
+ transpileJinjaFileTimer . end ( ) ;
760
+
728
761
return transpiledFile ;
729
762
// }
730
763
}
0 commit comments