当前位置:网站首页>Who the final say whether the product is good or not? Sonar puts forward performance indicators for analysis to help you easily judge product performance and performance
Who the final say whether the product is good or not? Sonar puts forward performance indicators for analysis to help you easily judge product performance and performance
2022-07-05 20:48:00 【Longzhi Devops solution】
In recent days, ,Sonar The product manager announced Sonar all-new 、 Clear analysis performance indicators , To better compare with other tools with the same indicators or results .
As SonarQube Authorized partners , Chuangshi continues to pay attention to the field of code security , Bring global excellent tools and solutions to Chinese users , Help enterprises realize the integration of development and operation security .
In this paper ,Sonar The product manager Alexandre
Gigleux Read in detail Sonar The latest performance index 、 Current target completion progress , And the next priority .
Here it is , I am proud to announce Sonar Performance analysis index . all the time , When users discuss Sonar When analyzing performance , There are two situations :
- Challenge : Users constantly try to break the limit , Report the problem cases they think should be improved .
- Satisfied : Because the user has to run for several hours and always produce a large number of false positive results SAST Tools are used to , They are for Sonar Be satisfied with .
But no matter what the above situation is , We don't know how to deal with . Because when we first started building the analysis engine , There are no clear performance indicators in mind . The direction is not clear , The proposition of whether to achieve the target is not tenable . therefore , When you tell us that the performance is not good enough , We don't know whether your suggestions are advisable .
This is why we finally decided to establish clear performance analysis indicators : In this way, we will not simply compare our products with other tools that may not have the same indicators or results , It will not be subjective 、 Evaluate and analyze from a personal perspective “ look ” What about? .
Now? , We can clearly tell you what you can get from our products , And under standardized conditions , The time required to analyze the project .
that , Let's see what these indicators are , And the realization of these indicators .
How long does the first analysis take ?
The first analysis should be understood as analyzing all files of a branch . When you are in SonarQube or SonarCloud When adding a new project in , And when creating new branches , This happens all the time . under these circumstances , You can expect to see the overall status of the project in less than a few minutes , The specific minutes depend on the scale of the project :
Based on SonarCloud Measurement results on , Our products are dealing with M、L and XL Class projects have reached the standard —— Of these projects 95% The analysis is completed within the index time range . Because it takes time to start the analysis phase ,XS and S Such projects have not met the requirements .
How long does code change analysis take ?
Code change analysis usually occurs in the following two cases :
- Create a pull request after , Hope to verify before merging PR quality .
- Submit the file directly to the branch ( Main branch or other branches ), Instead of using pull/merge request Mechanism .
In this case , We naturally expect to analyze time and the size of the change set ( Number of codes added or updated ) In direct proportion to , Instead of waiting for the same time as the first analysis .
ad locum , You can expect to see your project in a few minutes 、 Branch or PR Updated quality gate (Quality Gate, Also translated as quality gate ), How many minutes it takes depends on the scale of the code change :
up to now , What have we done to achieve these targets ?
Our new definition : A project can contain multiple programming languages . We name the project in the language with the highest code density in the project , This lets you describe a particular project as Java、TypeScript or PHP The project becomes very convenient .
The first analysis execution time
Just Java For the moment , We have improved its overall analysis performance . And SonarQube 9.3 comparison ,SonarQube 9.4 Of Java The average analysis speed increases 30%. A customer who tested this version said , He can be less than 18 Analyze one in minutes 1M LOC project . This fully meets our target (<40 minute ), It shows that our products have achieved good analytical results .
about Kotlin project , We have improved the analysis performance 10 times , The performance index is reached .
Just C/C++ In terms of projects , from SonarQube 9.5 Start , Our default analysis is multithreaded . before this , It is an optional option , In the latest version, we changed it to the default option . Through this change , More will be allocated in the analysis CPU, Thus, it is easier to achieve the expected indicators .
Code change analysis execution time
about Sonar Many languages covered , We don't need to collect information from all documents to improve the quality of results , In this case , Just analyze pull request Documents involved . from 2022 year 5 month 3 The date of , This function can be seen from SonarQube 9.3 and SonarCloud Get on . If pull request Contained in the CSS、HTML、XML、Ruby、Scala、Go、Apex、CloudFormation、Terraform、Swift、PL/SQL、T-SQL、ABAP、VB6、Flex and RPG Wait for code changes , be pull request The efficiency of analysis will usually be improved .
For the subject is Java Code pull request, Because we no longer need to analyze the whole project level data , Instead, analyze only the changed files , So the speed will increase again 8-25%.
In general, it has improved , But we haven't reached our target of code change analysis time .
Next , What are we going to do ?
As our top priority , We want to optimize Java Project pull request Analysis time . We will achieve this with the help of a new caching mechanism that stores project level data , This will ensure that our analysis results have high accuracy . Why optimize first Java? because Java yes Sonar The first language supported , It is also the language most used by our users . Besides ,Sonar Developers of have used a lot Java, So we can easily find problems before release .
Next , We will use the same caching system to optimize the code change analysis of branches .
When the operation is stable , We will extend it to JS/TS、PHP、Python and COBOL Other languages .
Want to experience SonarQube Or try it out SonarCloud, Please contact the SonarQube Officially authorized partner of China —— Create reality , We provide SonarQube Product consultation 、 sales 、 The implementation of 、 Training and technical support services .
Author's brief introduction :
ALEXANDRE GIGLEUX
The product manager
Source of the article :https://blog.sonarsource.com/sonars-analysis-performance-targets/
边栏推荐
- Interpreting the daily application functions of cooperative robots
- 欢迎来战,赢取丰厚奖金:Code Golf 代码高尔夫挑战赛正式启动
- 14、Transformer--VIT TNT BETR
- Duchefa p1001 plant agar Chinese and English instructions
- Abnova maxpab mouse derived polyclonal antibody solution
- Usaco3.4 "broken Gong rock" band raucous rockers - DP
- Abnova fluorescent dye 620-m streptavidin scheme
- 3.3 project evaluation
- E. Singhal and numbers (prime factor decomposition)
- Nprogress plug-in progress bar
猜你喜欢
欢迎来战,赢取丰厚奖金:Code Golf 代码高尔夫挑战赛正式启动
The development of research tourism practical education helps the development of cultural tourism industry
Frequent MySQL operations cause table locking problems
研學旅遊實踐教育的開展助力文旅產業發展
鸿蒙os第四次学习
Return to blowing marshland -- travel notes of zhailidong, founder of duanzhitang
Abnova maxpab mouse derived polyclonal antibody solution
Open source SPL eliminates tens of thousands of database intermediate tables
Duchefa low melting point agarose PPC Chinese and English instructions
2.8 basic knowledge of project management process
随机推荐
LeetCode: Distinct Subsequences [115]
MySQL fully parses json/ arrays
Open source SPL eliminates tens of thousands of database intermediate tables
科普|英语不好对NPDP考试有影响吗 ?
Abnova CD81 monoclonal antibody related parameters and Applications
ts 之 泛型
Promouvoir le développement de l'industrie culturelle et touristique par la recherche, l'apprentissage et l'enseignement pratique du tourisme
ProSci LAG3抗体的化学性质和应用说明
Applet page navigation
leetcode:1755. 最接近目标值的子序列和
挖财商学院给的证券账户安全吗?可以开户吗?
ts 之 类的简介、构造函数和它的this、继承、抽象类、接口
Is the securities account given by the school of Finance and business safe? Can I open an account?
AI automatically generates annotation documents from code
Abnova total RNA Purification Kit for cultured cells Chinese and English instructions
Dry goods navigation in this quarter | Q2 2022
珍爱网微服务底层框架演进从开源组件封装到自研
Classic implementation of the basic method of intelligent home of Internet of things
Abbkine丨TraKine F-actin染色试剂盒(绿色荧光)方案
Mathematical analysis_ Notes_ Chapter 9: curve integral and surface integral