@@ -51,13 +51,27 @@ tasks.register("checkVec", JavaExec) {
5151 systemProperty " es.logger.out" , " console"
5252 systemProperty " es.logger.level" , " INFO" // Change to DEBUG if needed
5353 systemProperty ' es.nativelibs.path' , TestUtil . getTestLibraryPath(file(" ../../libs/native/libraries/build/platform/" ). toString())
54- jvmArgs ' -Xms4g ' , ' -Xmx4g ' , ' -Djava.util.concurrent.ForkJoinPool.common.parallelism=8' , ' -XX:+UnlockDiagnosticVMOptions' , ' -XX:+DebugNonSafepoints' , ' -XX:+HeapDumpOnOutOfMemoryError'
54+ jvmArgs ' -Xms16g ' , ' -Xmx16g ' , ' -Djava.util.concurrent.ForkJoinPool.common.parallelism=8' , ' -XX:+UnlockDiagnosticVMOptions' , ' -XX:+DebugNonSafepoints' , ' -XX:+HeapDumpOnOutOfMemoryError'
5555 if (buildParams. getRuntimeJavaVersion(). map { it. majorVersion. toInteger() }. get() >= 21 ) {
5656 jvmArgs ' --add-modules=jdk.incubator.vector' , ' --enable-native-access=ALL-UNNAMED'
5757 }
5858 if (System . getenv(" DO_PROFILING" ) != null ) {
5959 jvmArgs ' -XX:StartFlightRecording=dumponexit=true,maxsize=250M,filename=knn.jfr,settings=profile.jfc'
6060 }
61+ def asyncProfilerPath = System . getProperty(" asyncProfiler.path" , null )
62+ if (asyncProfilerPath != null ) {
63+ if (OS . current(). equals(OS . MAC )) {
64+ def asyncProfilerAgent = " ${ asyncProfilerPath} /lib/libasyncProfiler.dylib"
65+ println " Using async-profiler agent ${ asyncProfilerAgent} "
66+ jvmArgs " -agentpath:${ asyncProfilerAgent} =start,event=cpu,interval=10ms,file=${ layout.buildDirectory.asFile.get()} /tmp/elasticsearch-0_%t_%p.jfr"
67+ } else if (OS . current(). equals(OS . LINUX )) {
68+ def asyncProfilerAgent = " ${ asyncProfilerPath} /lib/libasyncProfiler.so"
69+ println " Using async-profiler agent ${ asyncProfilerAgent} "
70+ jvmArgs " -agentpath:${ asyncProfilerAgent} =start,event=cpu,interval=10ms,wall=50ms,file=${ layout.buildDirectory.asFile.get()} /tmp/elasticsearch-0_%t_%p.jfr"
71+ } else {
72+ println " Ignoring 'asyncProfiler.path': not available on ${ OS.current()} " ;
73+ }
74+ }
6175 if (buildParams. getIsRuntimeJavaHomeSet()) {
6276 executable = " ${ buildParams.runtimeJavaHome.get()} /bin/java" + (OS . current() == OS . WINDOWS ? ' .exe' : ' ' )
6377 } else {
0 commit comments