Telemetry
Your SonarQube installation sends telemetry data to SonarSource daily. This data helps us understand how SonarQube is used, which helps us improve our products.
No personally identifiable information is sent
The telemetry feature only sends anonymized, non-project-specific data related to which features of the product are being used.
Personal data, such as usernames or email addresses, is never sent. Neither is source code nor any project-specific data such as project name, repository, or author is ever sent. No IP addresses are ever sent.
The data is sent securely, held under restricted access, and not published outside of SonarSource.
Protecting your privacy is important to us. If you have any concerns about telemetry data collection, please email us at security@sonarsource.com
.
Turning it off
You can disable telemetry at any time by setting the sonar.telemetry.enable
property to false
in <sonarqubeHome>conf/sonar.properties
. By default, it is set to true
.
What information is sent?
Once a day (every 24 hours), SonarQube sends a JSON payload to https://telemetry.sonarsource.com/sonarqube
.
The data that is sent consists of anonymized information about:
- The SonarQube instance: Version, license type, edition, database type, etc.
- Each project on the instance, consisting of:
- A technical identifier that does not reveal any project-specific details.
- Project characteristics such as last analysis time, number of findings, and new code definition.
- Each user on the instance, consisting of:
- A technical identifier that does not reveal any personal information about the user.
- Information about the user's usage of the instance, such as last activity time and current status.
- Each quality gate on the instance, consisting of:
- A technical identifier that does not reveal any project-specific details.
- A quality gate compliance status (see Clean as You Code).
- Quality gate conditions.
- Each quality profile of the instance, consisting of:
- A technical identifier that does not reveal any project-specific details.
- Quality profile characteristics such as language, if default, built-in, or parent is built-in.
- Number of rules that are activated, deactivated, or overridden in the quality profile.
- Each branch on the instance, consisting of:
- A technical identifier that does not reveal any branch-specific details.
- Branch characteristics, such as its new code definition.
Here is an example of a telemetry payload:
Issue types are deprecated. The related fields will be updated in the future.
{
"id":"AAAAAAAA-BBBBBBBBBBBBBBBBBBBB",
"version":"10.3",
"messageSequenceNumber":1,
"localTimestamp":"2023-02-01T13:12:23+0000",
"ncdId":522677708,
"edition":"developer",
"licenseType":"TEST",
"isValidLicense":true,
"defaultQualityGate":"AWBWEMe2qGAMGEYPjJlm",
"sonarway_quality_gate_uuid":"AWBWEMe2qGAG5EYPjJln",
"database":{
"name":"PostgreSQL",
"version":"14.6 (Ubuntu 14.6-1.pgdg20.04+1)"
},
"plugins":[
{
"name":"iac",
"version":"1.11.0.2847"
},
{
"name":"plsql",
"version":"3.8.0.4948"
}
],
"installationDate":"2011-10-24T15:08:23+0000",
"container":false,
"users":[
{
"userUuid":"a53fff8dd075bed169e164743231ff533d8b9260b0b8073f0a4c1d20",
"status":"active",
"identityProvider":"sonarqube",
"lastActivity":"2022-03-22T13:18:56+0000"
}
],
"projects":[
{
"projectUuid":"AV8WJCz7leTHsONfkGE1",
"lastAnalysis":"2022-12-23T10:16:54+0000",
"language":"css",
"loc":9164
},
{
"projectUuid":"AV8WJCz7leTHsONfkGE1",
"lastAnalysis":"2022-12-23T10:16:54+0000",
"language":"java",
"loc":260882
},
{
"projectUuid":"AX7juKJqVeQLJMPyb_b-",
"lastAnalysis":"2022-12-23T10:16:54+0000",
"language":"js",
"loc":177
},
{
"projectUuid":"AX7juKJqVeQLJMPyb_b-",
"lastAnalysis":"2022-12-23T10:16:54+0000",
"language":"ts",
"loc":115565
}
],
"projects-general-stats":[
{
"projectUuid":"AV8WJCz7leTHsONfkGE1",
"branchCount":2,
"pullRequestCount":18,
"qualityGate":"AWBWEMe4qGAMGEYPjJlp",
"scm":"git",
"ci":"CirrusCI",
"devopsPlatform":"github_cloud",
"ncdId":522677708,
"bugs":7,
"vulnerabilities":0,
"securityHotspots":0,
"technicalDebt":32725,
"developmentCost":11215740,
"externalSecurityReportExportedAt":1662535841
},
{
"projectUuid":"AX7juKJqVeQLJMPyb_b-",
"branchCount":7,
"pullRequestCount":0,
"qualityGate":"AWBWEMe2qGAMGEYPjJlm",
"scm":"git",
"ci":"TravisCI",
"devopsPlatform":"undetected",
"ncdId":522677708,
"bugs":3,
"vulnerabilities":0,
"securityHotspots":0,
"technicalDebt":23883,
"developmentCost":9591570,
"externalSecurityReportExportedAt":1662535841
}
],
"branches":[
{
"projectUuid":"AV8WJCz7leTHsONfkGE1",
"branchUuid":"AXnOHqB_aPTkSwjfRJCQ",
"ncdId":522677708,
"greenQualityGateCount":5,
"analysisCount":8,
"excludeFromPurge":true
},
{
"projectUuid":"AV8WJCz7leTHsONfkGE1",
"branchUuid":"AW27TrrJRJSDlPujAEOd",
"ncdId":-1107354350,
"greenQualityGateCount":2,
"analysisCount":2,
"excludeFromPurge":false
}
],
"new-code-definitions":[
{
"ncdId":522677708,
"type":"NUMBER_OF_DAYS",
"value":"14",
"scope":"instance"
},
{
"ncdId":-1107354350,
"type":"PREVIOUS_VERSION",
"value":"",
"scope":"branch"
}
],
"quality-gates":[
{
"uuid":"AWBWEMe2qGAMGEYPjJlm",
"caycStatus":"over-compliant",
"conditions":[
{
"metric":"new_coverage",
"comparison_operator":"LT",
"error_value":"80"
},
{
"metric":"new_duplicated_lines_density",
"comparison_operator":"GT",
"error_value":"3"
}
]
},
{
"uuid":"AWBWEMe4qGAMGEYPjJlp",
"caycStatus":"non-compliant",
"conditions":[
{
"metric":"new_maintainability_rating",
"comparison_operator":"GT",
"error_value":"1"
}
]
},
{
"uuid":"AWBWEMe4qGAMGEYPjJlr",
"caycStatus":"compliant",
"conditions":[
{
"metric":"new_reliability_rating",
"comparison_operator":"GT",
"error_value":"1"
}
]
}
],
"cloudUsage":{
"kubernetes":true,
"kubernetesVersion":"1.25",
"kubernetesPlatform":"linux/arm64",
"kubernetesProvider":"5.4.181-99.354.amzn2.x86_64",
"officialHelmChart":"10.1.0",
"containerRuntime":"docker",
"officialImage":true
}
}
Was this page helpful?