ngtsc has an internal performance tracing package, which previously has not really seen much use. It used to track performance statistics on a very granular basis (microseconds per actual class analysis, for example). This had two problems: * it produced voluminous amounts of data, complicating the analysis of such results and providing dubious value. * it added nontrivial overhead to compilation when used (which also affected the very performance of the operations being measured). This commit replaces the old system with a streamlined performance tracing setup which is lightweight and designed to be always-on. The new system tracks 3 metrics: * time taken by various phases and operations within the compiler * events (counters) which measure the shape and size of the compilation * memory usage measured at various points of the compilation process If the compiler option `tracePerformance` is set, the compiler will serialize these metrics to a JSON file at that location after compilation is complete. PR Close #41125
		
			
				
	
	
		
			29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| load("//tools:defaults.bzl", "ts_library")
 | |
| 
 | |
| package(default_visibility = ["//packages/language-service:__subpackages__"])
 | |
| 
 | |
| ts_library(
 | |
|     name = "ivy",
 | |
|     srcs = glob(["*.ts"]),
 | |
|     deps = [
 | |
|         "//packages/compiler",
 | |
|         "//packages/compiler-cli",
 | |
|         "//packages/compiler-cli/src/ngtsc/core",
 | |
|         "//packages/compiler-cli/src/ngtsc/core:api",
 | |
|         "//packages/compiler-cli/src/ngtsc/diagnostics",
 | |
|         "//packages/compiler-cli/src/ngtsc/file_system",
 | |
|         "//packages/compiler-cli/src/ngtsc/imports",
 | |
|         "//packages/compiler-cli/src/ngtsc/incremental",
 | |
|         "//packages/compiler-cli/src/ngtsc/metadata",
 | |
|         "//packages/compiler-cli/src/ngtsc/perf",
 | |
|         "//packages/compiler-cli/src/ngtsc/reflection",
 | |
|         "//packages/compiler-cli/src/ngtsc/shims",
 | |
|         "//packages/compiler-cli/src/ngtsc/typecheck",
 | |
|         "//packages/compiler-cli/src/ngtsc/typecheck/api",
 | |
|         "//packages/compiler-cli/src/ngtsc/util",
 | |
|         "//packages/language-service:api",
 | |
|         "@npm//@types/node",
 | |
|         "@npm//typescript",
 | |
|     ],
 | |
| )
 |