Speeding up Sonarcloud JS/TS Scan

Hello sonar community, I have a query regarding the sonarcloud usage on Github Action CI. I’ve been experimenting with it for the last week for TS/JS project and it seem to be very slow .Updated sonar.javascript.node.maxspace=12000 and added all of the excluded files I need, but it still takes about 30ish minute to scan a PR.

Is there maybe an incremental scan module (scan that scan only the changed file) or maybe to make the all the scans run parallelly (maybe the JS scan and the TS scan can be run at the sametime to reduce time) ?

*note the project I’m scanning have about 2m LOC

Hello @dickyha,

Thanks for the feedback. It’s true we also identified the problem you are describing and started to look more closely at the performance of our JS/TS analyzers executed in the context of GitHub Actions CI.
We don’t know yet what’s wrong but what is sure is that some projects are taking ages to be scanned compared to a local scan on a vanilla laptop where it’s running in an acceptable time.

That said, 30ish minutes to scan a 2M LOCs project is not that bad for the first analysis and is in the range of what we expect. See Sonar’s analysis performance targets for more details.
I also recognize that for a PR, this is not acceptable and our goal is to scan only what has been changed in the PR and reach a scan time of a couple of minutes or less.
This has been done for Java recently with SonarQube 9.6 and a similar solution is being implemented on SonarCloud.
For JS/TS, this is also on its way and should reach SonarCloud beginning of Q4 2022.

Meanwhile, the only way to speed up the scan time will be to run the scan on a machine having CPUs with high frequency rather than a lot of Cores.

Alex

4 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.