Add telemetry to custom provider endpoints (#24229)

* add telemetry to custom provider endpoints

* add reload ads telemetry

* change import

* add telemetry error event

* use vscode getpackageinfo

* remove getpackageinfo, fix semicolon

* use enum for telemetry message

* add enum, use error object instead of message for telemetry
This commit is contained in:
Christopher Suh
2023-08-30 10:07:53 -07:00
committed by GitHub
parent 55b6f4d16b
commit 9eee1384b4
5 changed files with 49 additions and 0 deletions

View File

@@ -17,6 +17,7 @@ import { HttpsProxyAgentOptions } from 'https-proxy-agent';
import { ProviderSettings, ProviderSettingsJson, SettingIds } from './account-provider/interfaces';
import { AzureResource } from 'azdata';
import { Logger } from './utils/Logger';
import { TelemetryAction, TelemetryReporter, TelemetryViews } from './telemetry';
const localize = nls.loadMessageBundle();
const configProxy = 'proxy';
@@ -172,6 +173,7 @@ export function updateCustomCloudProviderSettings(defaultSettings: ProviderSetti
const impactProvider = changeEvent.affectsConfiguration(constants.CustomProviderSettingsSection);
if (impactProvider === true) {
await displayReloadAds(constants.CustomProviderSettingsSection);
TelemetryReporter.sendTelemetryEvent(TelemetryAction.ReloadAdsCustomEndpoints);
}
});
if (providerSettingsJson && providerSettingsJson.length > 0) {
@@ -183,10 +185,12 @@ export function updateCustomCloudProviderSettings(defaultSettings: ProviderSetti
Logger.info(`Custom provider settings loaded for ${cloudProvider.settings.metadata.displayName}`);
}
void vscode.window.showInformationMessage(localize('providerSettings.success', 'Successfully loaded custom endpoints from settings'));
TelemetryReporter.sendTelemetryEvent(TelemetryAction.LoadCustomEndpointsSuccess);
} catch (error) {
void vscode.window.showErrorMessage(localize('providerSettings.error', 'Could not load endpoints from settings, please check the logs for more details.'));
console.error(error.message);
TelemetryReporter.sendErrorEvent2(TelemetryViews.AzureCore, TelemetryAction.LoadCustomEndpointsError, error);
throw Error(error.message);
}
}
@@ -298,6 +302,11 @@ export function getResourceTypeIcon(appContext: AppContext, type: string): strin
return '';
}
export interface IPackageInfo {
name: string;
version: string;
aiKey: string;
}
export function getProxyEnabledHttpClient(): HttpClient {
const proxy = <string>getHttpConfiguration().get(configProxy);