The Software Quality Metrics (SQM) Client-to-Service Version 2 Protocol defines how a SQM-enabled client sends instrumentation data to the SQM service. The protocol specifies the data transfer method, which includes an instrumentation namespace identifier and binary structured instrumentation data.
The SQM instrumentation data provided by SQM-enabled clients allows application developers to understand product usage and failure information in order to improve their products. Each SQM-enabled client belongs to a SQM namespace known as a SQM partner. All SQM data is associated with a SQM partner namespace in the SQM service.
The structure and method of transferring the data from the SQM-enabled client to the SQM service is defined by the SQM Client-to-Service Version 2 Protocol. The method of creating the SQM instrumentation data definition is SQM service implementation-specific.
The SQM Client-to-Service Version 2 Protocol also defines a method for a SQM-enabled client to download SQM partner-specific information. Typically this information is used by the SQM-enabled client to control what instrumentation data is uploaded. This functionality is known as Adaptive Software Quality Metrics (A-SQM). A-SQM data is created at the SQM service by the SQM-enabled client application owner if the SQM partner wants to download and use this functionality. The method of creating the A-SQM data is SQM service implementation-specific.
The SQM Client-to-Service Version 2 Protocol provides the following communication:
Uploading instrumentation data from the client to the SQM service.
Uploading instrumentation data through a proxy (relay) to the SQM service.
Downloading A-SQM data created at the SQM service.