in src/common/code_suggestions/code_suggestions_telemetry_manager.ts [231:261]
static async sendTelemetry(suggestionID: string) {
log.debug(`Telemetry: Sending event for suggestion ${suggestionID}`);
const suggestion = this.getInstance().#suggestions.get(suggestionID);
if (!suggestion) {
log.debug(`Telemetry: The suggestion with ${suggestionID} can't be found`);
return;
}
const codeSuggestionContexts = {
schema: 'iglu:com.gitlab/code_suggestions_context/jsonschema/2-0-1',
data: {
language: suggestion.language,
user_agent: 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)',
gitlab_realm: suggestion.gitlabRealm,
model_name: suggestion.modelName,
model_engine: suggestion.modelEngine,
api_status_code: suggestion.statusCode,
},
};
await Snowplow.getInstance().trackStructEvent(
{
category: 'code_suggestions',
action: suggestion.state,
label: suggestionID,
},
['ide-extension-context', codeSuggestionContexts],
);
}