当前位置:网站首页>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/
边栏推荐
- 教你自己训练的pytorch模型转caffe(二)
- [quick start of Digital IC Verification] 2. Through an example of SOC project, understand the architecture of SOC and explore the design process of digital system
- MySQL fully parses json/ arrays
- Classic implementation method of Hongmeng system controlling LED
- 重上吹麻滩——段芝堂创始人翟立冬游记
- 【刷题记录】1. 两数之和
- National Eye Care Education Conference, 2022 the Fourth Beijing International Youth eye health industry exhibition
- Material Design组件 - 使用BottomSheet展现扩展内容(二)
- 概率论机器学习的先验知识(上)
- Applet global configuration
猜你喜欢

Classic implementation method of Hongmeng system controlling LED

教你自己训练的pytorch模型转caffe(二)

Duchefa丨S0188盐酸大观霉素五水合物中英文说明书

Abnova blood total nucleic acid purification kit pre installed relevant instructions

Make Jar, Not War

Specification of protein quantitative kit for abbkine BCA method

教你自己训练的pytorch模型转caffe(三)

CVPR 2022 | common 3D damage and data enhancement

基于AVFoundation实现视频录制的两种方式

Abnova total RNA Purification Kit for cultured cells Chinese and English instructions
随机推荐
Point cloud file Dat file read save
Go file path operation
Popular science | does poor English affect the NPDP exam?
Abnova丨培养细胞总 RNA 纯化试剂盒中英文说明书
E. Singhal and numbers (prime factor decomposition)
Welcome to the game and win rich bonuses: Code Golf Challenge officially launched
Open source SPL eliminates tens of thousands of database intermediate tables
培养机器人教育创造力的前沿科技
如何让化工企业的ERP库存账目更准确
Web Service简单入门示例
实现浏览页面时校验用户是否已经完成登录的功能
国外LEAD美国简称对照表
台风来袭!建筑工地该如何防范台风!
Cutting edge technology for cultivating robot education creativity
leetcode:1755. 最接近目标值的子序列和
Abnova丨E (DIII) (WNV) 重组蛋白 中英文说明书
Mathematical analysis_ Notes_ Chapter 9: curve integral and surface integral
haas506 2.0开发教程 - 阿里云ota - pac 固件升级(仅支持2.2以上版本)
Where is a good stock account? Is online account manager safe to open an account
Applet event binding