Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Il est possible d'obtenir des statistiques au niveau de l'utilisateur sur votre utilisation d'Amazon Q Developer. Pour déterminer quel utilisateur a effectué une action particulière, recherchez les événements appelés SendTelemetryEvent et examinez le type d'JSONobjet SendTelemetryEventRequestthat qu'ils contiennent. Dans cet objet, le schéma apparaît comme suit.
http://json-schema.org/draft-07/schema#",
"definitions": {
"ProgrammingLanguage": {
"type": "object",
"properties": {
"languageName": {
"type": "string",
"enum": [
"python",
"javascript",
"java",
"csharp",
"typescript",
"c",
"cpp",
"go",
"kotlin",
"php",
"ruby",
"rust",
"scala",
"shell",
"sql",
"json",
"yaml",
"vue",
"tf",
"tsx",
"jsx",
"plaintext"
],
"description": "Programming Languages supported by Q"
}
}
},
"Dimension": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "must match ^[-a-zA-Z0-9._]*$ and be between 1 and 255 characters"
},
"value": {
"type": "string",
"description": "must match ^[-a-zA-Z0-9._]*$ and be between 1 and 1024 characters"
}
}
}
},
"telemetryEvents": {
"UserTriggerDecisionEvent": {
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "UUID for the session"
},
"requestId": {
"type": "string",
"description": "UUID for the request"
},
"customizationArn": {
"type": "string",
"description": "ARN of the customization matching pattern: ^arn:[-.a-z0-9]{1,63}:codewhisperer:([-.a-z0-9]{0,63}:){2}([a-zA-Z0-9-_:/]){1,1023}$"
},
"programmingLanguage": {
"$ref": "#/definitions/ProgrammingLanguage"
},
"completionType": {
"type": "string",
"enum": [
"BLOCK",
"LINE"
]
},
"suggestionState": {
"type": "string",
"enum": [
"ACCEPT",
"REJECT",
"DISCARD",
"EMPTY"
]
},
"recommendationLatencyMilliseconds": {
"type": "number"
},
"timestamp": {
"type": "string",
"description": "datetime, example: Jul 23, 2024, 12:11:02 AM"
},
"triggerToResponseLatencyMilliseconds": {
"type": "number"
},
"suggestionReferenceCount": {
"type": "integer"
},
"generatedLine": {
"type": "integer"
},
"numberOfRecommendations": {
"type": "integer"
}
},
"required": [
"sessionId",
"requestId",
"programmingLanguage",
"completionType",
"suggestionState",
"recommendationLatencyMilliseconds",
"timestamp"
]
},
"CodeCoverageEvent": {
"type": "object",
"properties": {
"customizationArn": {
"type": "string",
"description": "ARN of the customization matching pattern: ^arn:[-.a-z0-9]{1,63}:codewhisperer:([-.a-z0-9]{0,63}:){2}([a-zA-Z0-9-_:/]){1,1023}$"
},
"programmingLanguage": {
"$ref": "#/definitions/ProgrammingLanguage"
},
"acceptedCharacterCount": {
"type": "integer"
},
"totalCharacterCount": {
"type": "integer"
},
"timestamp": {
"type": "string",
"description": "datetime, example: Jul 23, 2024, 12:11:02 AM"
},
"unmodifiedAcceptedCharacterCount": {
"type": "integer"
}
},
"required": [
"programmingLanguage",
"acceptedCharacterCount",
"totalCharacterCount",
"timestamp"
]
},
"UserModificationEvent": {
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "UUID for the session"
},
"requestId": {
"type": "string",
"description": "UUID for the request"
},
"programmingLanguage": {
"$ref": "#/definitions/ProgrammingLanguage"
},
"modificationPercentage": {
"type": "number",
"description": "This is the percentage of AI generated code which has been modified by the user"
},
"customizationArn": {
"type": "string",
"description": "ARN of the customization matching pattern: ^arn:[-.a-z0-9]{1,63}:codewhisperer:([-.a-z0-9]{0,63}:){2}([a-zA-Z0-9-_:/]){1,1023}$"
},
"timestamp": {
"type": "string",
"description": "datetime, example: Jul 23, 2024, 12:11:02 AM"
}
},
"required": [
"sessionId",
"requestId",
"programmingLanguage",
"modificationPercentage",
"timestamp"
]
},
"CodeScanEvent": {
"type": "object",
"properties": {
"programmingLanguage": {
"$ref": "#/definitions/ProgrammingLanguage"
},
"codeScanJobId": {
"type": "string"
},
"timestamp": {
"type": "string",
"description": "datetime, example: Jul 23, 2024, 12:11:02 AM"
},
"codeAnalysisScope": {
"type": "string",
"enum": [
"FILE",
"PROJECT"
]
}
},
"required": [
"programmingLanguage",
"codeScanJobId",
"timestamp"
]
},
"CodeScanRemediationsEvent": {
"type": "object",
"properties": {
"programmingLanguage": {
"$ref": "#/definitions/ProgrammingLanguage"
},
"CodeScanRemediationsEventType": {
"type": "string",
"enum": [
"CODESCAN_ISSUE_HOVER",
"CODESCAN_ISSUE_APPLY_FIX",
"CODESCAN_ISSUE_VIEW_DETAILS"
]
},
"timestamp": {
"type": "string",
"description": "datetime, example: Jul 23, 2024, 12:11:02 AM"
},
"detectorId": {
"type": "string"
},
"findingId": {
"type": "string"
},
"ruleId": {
"type": "string"
},
"component": {
"type": "string"
},
"reason": {
"type": "string"
},
"result": {
"type": "string"
},
"includesFix": {
"type": "boolean"
}
}
},
"MetricData": {
"type": "object",
"properties": {
"metricName": {
"type": "string",
"description": "must match pattern ^[-a-zA-Z0-9._]*$ and be between 1 and 1024 characters"
},
"metricValue": {
"type": "number"
},
"timestamp": {
"type": "string",
"description": "datetime, example: Jul 23, 2024, 12:11:02 AM"
},
"product": {
"type": "string",
"description": "must match pattern ^[-a-zA-Z0-9._]*$ and be between 1 and 128 characters"
},
"dimensions": {
"type": "array",
"items": {
"$ref": "#/definitions/Dimension"
},
"description": "maximum size of 30"
}
},
"required": [
"metricName",
"metricValue",
"timestamp",
"product"
]
},
"ChatAddMessageEvent": {
"type": "object",
"properties": {
"conversationId": {
"type": "string",
"description": "ID which represents a multi-turn conversation, length between 1 and 128"
},
"messageId": {
"type": "string",
"description": "Unique identifier for the chat message"
},
"customizationArn": {
"type": "string",
"description": "ARN of the customization matching pattern: ^arn:[-.a-z0-9]{1,63}:codewhisperer:([-.a-z0-9]{0,63}:){2}([a-zA-Z0-9-_:/]){1,1023}$"
},
"userIntent": {
"type": "string",
"enum": [
"SUGGEST_ALTERNATE_IMPLEMENTATION",
"APPLY_COMMON_BEST_PRACTICES",
"IMPROVE_CODE",
"SHOW_EXAMPLES",
"CITE_SOURCES",
"EXPLAIN_LINE_BY_LINE",
"EXPLAIN_CODE_SELECTION",
"GENERATE_CLOUDFORMATION_TEMPLATE"
]
},
"hasCodeSnippet": {
"type": "boolean"
},
"programmingLanguage": {
"$ref": "#/definitions/ProgrammingLanguage"
},
"activeEditorTotalCharacters": {
"type": "integer"
},
"timeToFirstChunkMilliseconds": {
"type": "number"
},
"timeBetweenChunks": {
"type": "array",
"items": {
"type": "number"
},
"description": "maximum size of 100"
},
"fullResponselatency": {
"type": "number"
},
"requestLength": {
"type": "integer"
},
"responseLength": {
"type": "integer"
},
"numberOfCodeBlocks": {
"type": "integer"
},
"hasProjectLevelContext": {
"type": "boolean"
}
},
"required": [
"conversationId",
"messageId"
]
},
"ChatInteractWithMessageEvent": {
"type": "object",
"properties": {
"conversationId": {
"type": "string",
"description": "ID which represents a multi-turn conversation, length between 1 and 128"
},
"messageId": {
"type": "string",
"description": "Unique identifier for the chat message"
},
"customizationArn": {
"type": "string",
"description": "ARN of the customization matching pattern: ^arn:[-.a-z0-9]{1,63}:codewhisperer:([-.a-z0-9]{0,63}:){2}([a-zA-Z0-9-_:/]){1,1023}$"
},
"interactionType": {
"type": "string",
"enum": [
"INSERT_AT_CURSOR",
"COPY_SNIPPET",
"COPY",
"CLICK_LINK",
"CLICK_BODY_LINK",
"CLICK_FOLLOW_UP",
"HOVER_REFERENCE",
"UPVOTE",
"DOWNVOTE"
],
"description": "Chat Message Interaction Type"
},
"interactionTarget": {
"type": "string",
"description": "Target of message interaction"
},
"acceptedCharacterCount": {
"type": "integer"
},
"acceptedLineCount": {
"type": "integer"
},
"acceptedSnippetHasReference": {
"type": "boolean"
},
"hasProjectLevelContext": {
"type": "boolean"
}
},
"required": [
"conversationId",
"messageId"
]
},
"ChatUserModificationEvent": {
"type": "object",
"properties": {
"conversationId": {
"type": "string",
"description": "ID which represents a multi-turn conversation, length between 1 and 128"
},
"customizationArn": {
"type": "string",
"description": "ARN of the customization matching pattern: ^arn:[-.a-z0-9]{1,63}:codewhisperer:([-.a-z0-9]{0,63}:){2}([a-zA-Z0-9-_:/]){1,1023}$"
},
"messageId": {
"type": "string",
"description": "Unique identifier for the chat message"
},
"programmingLanguage": {
"$ref": "#/definitions/ProgrammingLanguage"
},
"modificationPercentage": {
"type": "number",
"description": "This is the percentage of AI generated code which has been modified by the user"
},
"hasProjectLevelContext": {
"type": "boolean"
}
},
"required": [
"conversationId",
"messageId",
"modificationPercentage"
]
},
"SuggestionState": {
"type": "string",
"enum": [
"ACCEPT",
"REJECT",
"DISCARD",
"EMPTY"
]
},
"TerminalUserInteractionEvent": {
"type": "object",
"properties": {
"terminalUserInteractionEventType": {
"type": "string",
"enum": [
"CODEWHISPERER_TERMINAL_TRANSLATION_ACTION",
"CODEWHISPERER_TERMINAL_COMPLETION_INSERTED"
],
"description": "Terminal User Interaction Event Type"
},
"terminal": {
"type": "string"
},
"terminalVersion": {
"type": "string"
},
"shell": {
"type": "string"
},
"shellVersion": {
"type": "string"
},
"duration": {
"type": "integer"
},
"timeToSuggestion": {
"type": "integer"
},
"isCompletionAccepted": {
"type": "boolean"
},
"cliToolCommand": {
"type": "string"
}
}
},
"FeatureDevEvent": {
"type": "object",
"properties": {
"conversationId": {
"type": "string",
"description": "ID which represents a multi-turn conversation, length between 1 and 128"
}
},
"required": [
"conversationId"
]
}
},
"SendTelemetryEventRequest": {
"type": "object",
"properties": {
"clientToken": {
"type": "string",
"description": "The client's authentication token"
},
"telemetryEvent": {
"properties": {
"oneOf": [
{
"_comment": "This event is emitted when a user accepts or rejects an inline code suggestion",
"$ref": "#/definitions/userTriggerDecisionEvent"
},
{
"_comment": "This event is emitted every five minutes. It details how much code is written by inline code suggestion and in total during that period",
"$ref": "#/definitions/codeCoverageEvent"
},
{
"_comment": "This event is emitted when a code snippet from inline code suggestion has been edited by a user. It details the percentage of that code snippet modified by the user",
"$ref": "#/definitions/userModificationEvent"
},
{
"_comment": "This field is emitted when a security scan is requested by a user",
"$ref": "#/definitions/codeScanEvent"
},
{
"_comment": "This field is emitted when a security scan recommended remediation is accepted by a user",
"$ref": "#/definitions/codeScanRemediationsEvent"
},
{
"_comment": "This event is deprecated but may still occur in telemetry. Do not use this.",
"$ref": "#/definitions/metricData"
},
{
"_comment": "This event is emitted when Q adds an AI generated message to the chat window",
"$ref": "#/definitions/chatAddMessageEvent"
},
{
"_comment": "This event is emitted when a user interacts with a chat message",
"$ref": "#/definitions/chatInteractWithMessageEvent"
},
{
"_comment": "This event is emitted when a user modifies a code snippet sourced from chat. It gives a percentage of the code snippet which has been modified",
"$ref": "#/definitions/chatUserModificationEvent"
},
{
"_comment": "This event is emitted when a user interacts with a terminal suggestion",
"$ref": "#/definitions/terminalUserInteractionEvent"
},
{
"_comment": "This event is emitted when a user first prompts the /dev feature.",
"$ref": "#/definitions/featureDevEvent"
}
]
}
},
"optOutPreference": {
"type": "string",
"enum": [
"OPTIN",
"OPTOUT"
],
"description": "OPTOUT and telemetry is only provided to the account of purchasing enterprise, OPTIN and telemetry may also be used for product improvement"
},
"userContext": {
"type": "object",
"properties": {
"ideCategory": {
"type": "string",
"enum": [
"JETBRAINS",
"VSCODE",
"CLI",
"JUPYTER_MD",
"JUPYTER_SM"
]
},
"operatingSystem": {
"type": "string",
"description": "The operating system being used"
},
"product": {
"type": "string",
"description": "The name of the product being used"
},
"clientId": {
"type": "string",
"description": "A UUID representing the individual client being used"
},
"ideVersion": {
"type": "string",
"description": "The version of the Q plugin"
}
},
"required": [
"ideCategory",
"operatingSystem",
"product",
"clientId",
"ideVersion"
]
},
"profileArn": {
"type": "string",
"description": "The arn of the Q Profile used to configure individual user accounts."
Notez que a SendTelemetryEvent peut contenir l'un des nombreux événements de télémétrie. Chacun d'entre eux décrit une interaction spécifique entre l'environnement de développement.
Une description plus détaillée de chaque événement apparaît ci-dessous.
UserTriggerDecisionEvent
Cet événement est déclenché lorsqu'un utilisateur interagit avec une suggestion faite par Amazon Q. Il indique si la suggestion a été acceptée, rejetée ou modifiée, ainsi que les métadonnées pertinentes.
-
completionType
: si la complétion était un bloc ou une ligne. -
suggestionState
: si l'utilisateur a accepté, rejeté ou rejeté la suggestion.
CodeScanEvent
Cet événement est enregistré lorsqu'un scan de code est effectué. Il permet de suivre l'étendue et le résultat de l'analyse, en fournissant des informations sur les contrôles de sécurité et de qualité du code.
-
codeScanJobId
: identifiant unique pour la tâche de numérisation du code. -
codeAnalysisScope
: si le scan a été effectué au niveau du fichier ou au niveau du projet. -
programmingLanguage
: langue en cours de numérisation.
CodeScanRemediationsEvent
Cet événement capture les interactions des utilisateurs avec les suggestions de correction d'Amazon Q, telles que l'application de correctifs ou l'affichage des détails du problème.
-
CodeScanRemediationsEventType
: type de mesure corrective prise (par exemple, affichage des détails ou application d'un correctif). -
includesFix
: booléen indiquant si l'utilisateur a appliqué un correctif.
ChatAddMessageEvent
Cet événement est déclenché lorsqu'un nouveau message est ajouté à une conversation de chat en cours. Il capture l'intention de l'utilisateur et tous les extraits de code impliqués.
-
conversationId
: identifiant unique de la conversation. -
messageId
: identifiant unique du message de chat. -
userIntent
: l'intention de l'utilisateur, telle que l'amélioration du code ou l'explication du code. -
programmingLanguage
: langue associée au message de chat.
ChatInteractWithMessageEvent
Cet événement capture les interactions des utilisateurs avec les messages de chat, par exemple en copiant des extraits de code, en cliquant sur des liens ou en survolant des références.
-
interactionType
: le type d'interaction (par exemple, copier, survoler, cliquer). -
interactionTarget
: la cible de l'interaction (par exemple, un extrait de code ou un lien). -
acceptedCharacterCount
: le nombre de caractères du message qui ont été acceptés. -
acceptedSnippetHasReference
: booléen indiquant si l'extrait accepté incluait une référence.
TerminalUserInteractionEvent
Cet événement enregistre les interactions de l'utilisateur avec les commandes du terminal ou les opérations effectuées dans l'environnement du terminal.
-
terminalUserInteractionEventType
: le type d'interaction (par exemple, traduction du terminal ou complétion du code). -
isCompletionAccepted
: un booléen indiquant si l'achèvement a été accepté par l'utilisateur. -
duration
: le temps nécessaire à l'interaction.