SonarLint Performance Issues

sonarlint

(Farooq Khan) #1

Hi,

My client teams are using SonarLint in Eclipse and Visual Studio. However, they are facing lot of performance issues in IDEs. It takes a lot of time to complete the analysis and also sometimes it hangs.

Anyone faced any such issues while using SonarLint and if yes what is the solution for such problems?
Because of these issues, now my client teams are not in favor of using SonarLint.

Thanks,
Farooq


(Julien Henry) #2

Hi Farooq,

Can you share more details about your SonarLint for Eclipse (bad) performance?

  • Are you using on-the-fly analysis (ie analysis is triggered automatically each time you open/save a file) or do you trigger manually a full analysis of the entire project?
  • Can you enable verbose logs in the SonarLint console, and share entire logs of a typical slow analysis? Something like:
Trigger: MANUAL
Clear markers on 0 excluded files
SonarLint processing file /java-frontend/src/test/java/org/sonar/java/model/KindMapsTest.java...
Standalone mode (project not bound)
Starting analysis with configuration:
[
  baseDir: /home/julien/Prog/Projects/plugins/sonar-java/java-frontend
  workDir: /home/julien/Prog/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/java-frontend/org.sonarlint.eclipse.core
  extraProperties: {sonar.java.target=1.8, sonar.java.libraries=xxxxxxx}
  excludedRules: []
  includedRules: []
  inputFiles: [
    file:/home/julien/Prog/Projects/plugins/sonar-java/java-frontend/src/test/java/org/sonar/java/model/KindMapsTest.java (UTF-8) [test]
  ]
]

Available languages:
  * PHP => "php"
  * Python => "py"
  * Java => "java"
  * JavaScript => "js"
Start analysis
Declared extensions of language PHP were converted to php: **/*.php,**/*.php3,**/*.php4,**/*.php5,**/*.phtml,**/*.inc
Declared extensions of language Python were converted to py: **/*.py
Declared extensions of language Java were converted to java: **/*.java,**/*.jav
Declared extensions of language JavaScript were converted to js: **/*.js,**/*.jsx,**/*.vue
Index files
Language of file 'file:/home/julien/Prog/Projects/plugins/sonar-java/java-frontend/src/test/java/org/sonar/java/model/KindMapsTest.java' is detected to be 'java'
1 files indexed
Execute Sensor: JavaSquidSensor
Configured Java source version (sonar.java.source): 8
JavaClasspath initialization
JavaClasspath initialization (done) | time=1ms
JavaTestClasspath initialization
JavaTestClasspath initialization (done) | time=2ms
----- Classpath analyzed by Squid:
xxxxxxxx
Java Main Files AST scan
0 source files to be analyzed
0/0 source files have been analyzed
Java Main Files AST scan (done) | time=1ms
Java Test Files AST scan
1 source files to be analyzed
1/1 source files have been analyzed
Java Test Files AST scan (done) | time=186ms
'PHP sensor' skipped because there is no related file in current project
'Analyzer for "php.ini" files' skipped because there is no related file in current project
'Python Squid Sensor' skipped because there is no related file in current project
Execute Sensor: SonarJavaXmlFileSensor
'SonarJS' skipped because there is no related file in current project
Found 0 issue(s)
Done in 264 ms

You can send it to me privately if you are concerned about some sensitive information.

  • What is the version of SonarLint for Eclipse, and if you are using connected mode, can you give the list + version of the plugins installed on the SonarQube server?
  • Can you share the average spec of the computers you are working with (OS, RAM, SSD?) ?

Thanks


(Farooq Khan) #3

Hi Julien,

Thanks a lot for the quick response.
I will get these details from the team and share with you ASAP.

Thanks


(Farooq Khan) #4

Hi Julien,

Here are some details:

  1. We are using on-the-fly analysis.
  2. SonarLint version : 3.7.0.1730
  3. Machine spec: currently 8 GB but moving to 20 GB soon. Windows 7 SP1 - 64 bit. Few developers are having Windows 10.

I will share verbose output soon.

Thanks


(Farooq Khan) #5

Hi Julien,

Any update on the query based upon the information provided?

Thanks


(Julien Henry) #6

Without some verbose logs with timings, I’m afraid it will be hard to progress.

Still would be interesting to complete hardware spec by storage: are you using SSD, mechanical HD, or even NAS?