当前位置:网站首页>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/
边栏推荐
- Duchefa low melting point agarose PPC Chinese and English instructions
- Make Jar, Not War
- Abnova丨培养细胞总 RNA 纯化试剂盒中英文说明书
- 实现浏览页面时校验用户是否已经完成登录的功能
- 教你自己训练的pytorch模型转caffe(二)
- Wanglaoji pharmaceutical's public welfare activity of "caring for the most lovely people under the scorching sun" was launched in Nanjing
- Classic implementation method of Hongmeng system controlling LED
- Use of form text box (II) input filtering (synthetic event)
- Popular science | does poor English affect the NPDP exam?
- Common view container class components
猜你喜欢
欢迎来战,赢取丰厚奖金:Code Golf 代码高尔夫挑战赛正式启动
Duchefa丨D5124 MD5A 培养基中英文说明书
Duchefa low melting point agarose PPC Chinese and English instructions
Analyze the knowledge transfer and sharing spirit of maker Education
Applet event binding
Specification of protein quantitative kit for abbkine BCA method
产品好不好,谁说了算?Sonar提出分析的性能指标,帮助您轻松判断产品性能及表现
【刷题记录】1. 两数之和
How to form standard interface documents
Applet global configuration
随机推荐
ts 之 泛型
Web Service简单入门示例
mysql全面解析json/数组
Abnova丨血液总核酸纯化试剂盒预装相关说明书
Which securities is better for securities account opening? Is online account opening safe?
2. < tag hash table, string> supplement: Sword finger offer 50 The first character DBC that appears only once
Which is the best online collaboration product? Microsoft loop, notion, flowus
Is the securities account given by the school of Finance and business safe? Can I open an account?
Redis唯一ID生成器的实现
Maker education infiltrating the transformation of maker spirit and culture
Leetcode (347) - top k high frequency elements
小程序代码的构成
Duchefa丨D5124 MD5A 培养基中英文说明书
Graph embedding learning notes
Research and development efficiency improvement practice of large insurance groups with 10000 + code base and 3000 + R & D personnel
Abnova CD81 monoclonal antibody related parameters and Applications
Make Jar, Not War
Common view container class components
CareerCup它1.8 串移包括问题
Abnova cyclosporin a monoclonal antibody and its research tools