private handleConnectionSuccess()

in src/controllers/connectionManager.ts [292:322]


    private handleConnectionSuccess(fileUri: string,
                                    connection: ConnectionInfo,
                                    newCredentials: Interfaces.IConnectionCredentials,
                                    result: ConnectionContracts.ConnectionCompleteParams): void {
        connection.connectionId = result.connectionId;
        connection.serverInfo = result.serverInfo;
        connection.credentials = newCredentials;
        connection.errorNumber = undefined;
        connection.errorMessage = undefined;

        this.statusView.connectSuccess(fileUri, newCredentials, connection.serverInfo);
        this.statusView.languageServiceStatusChanged(fileUri, LocalizedConstants.updatingIntelliSenseStatus);

        this._vscodeWrapper.logToOutputChannel(
            Utils.formatString(LocalizedConstants.msgConnectedServerInfo, connection.credentials.host, fileUri, JSON.stringify(connection.serverInfo))
        );

        connection.extensionTimer.end();

        Telemetry.sendTelemetryEvent('DatabaseConnected', {
            connectionType: connection.serverInfo ? (connection.serverInfo.isCloud ? 'Azure' : 'Standalone') : '',
            serverVersion: connection.serverInfo ? connection.serverInfo.serverVersion : '',
            serverEdition: connection.serverInfo ? connection.serverInfo.serverEdition : '',
            serverOs: connection.serverInfo ? this.getIsServerLinux(connection.serverInfo.osVersion) : ''
        }, {
            isEncryptedConnection: connection.credentials.encrypt ? 1 : 0,
            isIntegratedAuthentication: connection.credentials.authenticationType === 'Integrated' ? 1 : 0,
            extensionConnectionTime: connection.extensionTimer.getDuration() - connection.serviceTimer.getDuration(),
            serviceConnectionTime: connection.serviceTimer.getDuration()
        });
    }