src/vs/workbench/contrib/remote/common/remote.contribution.ts/InitialRemoteConnectionHealthContribution/_measureExtHostLatency
class InitialRemoteConnectionHealthContribution:	private async _measureExtHostLatency() {
		// Get the minimum latency, since latency spikes could be caused by a busy extension host.
		let bestLatency = Infinity;
		for (let i = 0; i < EXT_HOST_LATENCY_SAMPLES; i++) {
			const rtt = await this._remoteAgentService.getRoundTripTime();
			if (rtt === undefined) {
				return;
			}
			bestLatency = Math.min(bestLatency, rtt / 2);
			await timeout(EXT_HOST_LATENCY_DELAY);
		}

		type RemoteConnectionLatencyClassification = {
			owner: 'connor4312';
			comment: 'The latency to the remote extension host';
			web: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; comment: 'Whether this is running on web' };
			remoteName: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; comment: 'Anonymized remote name' };
			latencyMs: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; comment: 'Latency to the remote, in milliseconds'; isMeasurement: true };
		};
		type RemoteConnectionLatencyEvent = {
			web: boolean;
			remoteName: string | undefined;
			latencyMs: number;
		};

		this._telemetryService.publicLog2<RemoteConnectionLatencyEvent, RemoteConnectionLatencyClassification>('remoteConnectionLatency', {
			web: isWeb,
			remoteName: getRemoteName(this._environmentService.remoteAuthority),
			latencyMs: bestLatency
		});
	}