static async sendTelemetry()

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],
    );
  }