/// <summary> /// Get the default # of seconds between Watson reports from registry /// Reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\Telemetry /v FaultEventMinimumSecondsBetweenWatsonReports /t REG_DWORD /d 3600 /f /// </summary> /// <returns></returns> public override int FaultEventMinimumSecondsBetweenWatsonReports() { int result = 3600; TypeTools.TryConvertToInt(registryTools.GetRegistryValueFromCurrentUserRoot("Software\\Microsoft\\VisualStudio\\Telemetry", "FaultEventMinimumSecondsBetweenWatsonReports", (object)3600), out result); return(result); }
/// <summary> /// Get internal settings for the channel specified by its ID. /// There are 3 states could be: /// - explicitly enabled /// - explicitly disabled /// - undefined (no settings available) /// </summary> /// <param name="channelId"></param> /// <returns></returns> public virtual ChannelInternalSetting GetChannelSettings(string channelId) { CodeContract.RequiresArgumentNotNullAndNotEmpty(channelId, "channelId"); if (!TypeTools.TryConvertToInt(registryTools.GetRegistryValueFromCurrentUserRoot("Software\\Coding4Fun\\VisualStudio\\Telemetry\\Channels", channelId, (object)(-1)), out int result)) { result = -1; } ChannelInternalSetting channelInternalSetting = ChannelInternalSetting.Undefined; switch (result) { case 1: channelInternalSetting = ChannelInternalSetting.ExplicitlyEnabled; break; case 0: channelInternalSetting = ChannelInternalSetting.ExplicitlyDisabled; break; } if (channelInternalSetting != ChannelInternalSetting.Undefined) { diagnosticTelemetry.LogRegistrySettings(string.Format(CultureInfo.InvariantCulture, "Channel.{0}", new object[1] { channelId }), channelInternalSetting.ToString()); } return(channelInternalSetting); }
/// <summary> /// Get the default # of Watson reports per session from registry /// Reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\Telemetry /v FaultEventMaximumWatsonReportsPerSession /t REG_DWORD /d 100 /f /// </summary> /// <returns></returns> public override int FaultEventMaximumWatsonReportsPerSession() { int result = 0; TypeTools.TryConvertToInt(registryTools.GetRegistryValueFromCurrentUserRoot("Software\\Microsoft\\VisualStudio\\Telemetry", "FaultEventMaximumWatsonReportsPerSession", (object)10), out result); return(result); }
/// <summary> /// Get the sample rate for Fault Events from registry /// useful for testing /// Reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\Telemetry /v FaultEventWatsonSampleRate /t REG_DWORD /d 100 /f /// </summary> /// <returns></returns> public override int FaultEventWatsonSamplePercent() { int result = 0; TypeTools.TryConvertToInt(registryTools.GetRegistryValueFromCurrentUserRoot("Software\\Microsoft\\VisualStudio\\Telemetry", "FaultEventWatsonSampleRate", (object)10), out result); return(result); }
/// <summary> /// Try to get test AppId settings from the registry. /// </summary> /// <param name="testAppId"></param> /// <returns></returns> public bool TryGetTestAppId(out uint testAppId) { TypeTools.TryConvertToUInt(registryTools.GetRegistryValueFromCurrentUserRoot("Software\\Coding4Fun\\VisualStudio\\Telemetry", "UseTestAppId", (object)0), out testAppId); if (testAppId != 0) { diagnosticTelemetry.LogRegistrySettings("TestAppId", testAppId.ToString(CultureInfo.InvariantCulture)); } return(testAppId != 0); }
/// <summary> /// Check whether user is forced set as external /// </summary> /// <returns></returns> public bool IsForcedUserExternal() { TypeTools.TryConvertToInt(registryTools.GetRegistryValueFromCurrentUserRoot("Software\\Coding4Fun\\VisualStudio\\Telemetry", "ForceExternalUser", (object)0), out int result); bool num = result == 1; if (num) { diagnosticTelemetry.LogRegistrySettings("ForcedExternalUser", "true"); } return(num); }
/// <summary> /// Check, whether telemetry completely disabled /// Reg add HKEY_CURRENT_USER\Software\Coding4Fun\VisualStudio\Telemetry /v TurnOffSwitch /t REG_DWORD /d 1 /f /// </summary> /// <returns></returns> public bool IsTelemetryDisabledCompletely() { TypeTools.TryConvertToInt(registryTools.GetRegistryValueFromCurrentUserRoot("Software\\Coding4Fun\\VisualStudio\\Telemetry", "TurnOffSwitch", (object)0), out int result); bool num = result == 1; if (num) { diagnosticTelemetry.LogRegistrySettings("CompletelyDisabledTelemetry", "true"); } return(num); }
/// <summary> /// Try to get test hostName from the registry. /// </summary> /// <param name="testHostName"></param> /// <returns></returns> public bool TryGetTestHostName(out string testHostName) { testHostName = TypeTools.ConvertToString(registryTools.GetRegistryValueFromCurrentUserRoot("Software\\Coding4Fun\\VisualStudio\\Telemetry", "UseTestHostName", (object)null)); bool num = !string.IsNullOrEmpty(testHostName); if (num) { diagnosticTelemetry.LogRegistrySettings("TestHostName", testHostName); } return(num); }
/// <summary> /// Check, whether passed value is match condition /// </summary> /// <param name="valueToCompare"></param> /// <returns></returns> public bool IsMatch(object valueToCompare) { if (valueToCompare == null) { return(false); } if (!TypeTools.IsNumericType(valueToCompare.GetType())) { return(false); } return(Convert.ToDouble(valueToCompare, null) > Gt); }
/// <summary> /// Check whether local logger is enabled /// </summary> /// <returns></returns> public bool IsLocalLoggerEnabled() { bool flag = false; if (Platform.IsWindows) { TypeTools.TryConvertToInt(registryTools.GetRegistryValueFromCurrentUserRoot("Software\\Coding4Fun\\VisualStudio\\Telemetry", "LocalLoggerEnabled", (object)0), out int result); flag = (result == 1); } if (flag) { diagnosticTelemetry.LogRegistrySettings("LocalLoggerEnabled", "true"); } return(flag); }
/// <summary> /// Creates the Pii Object and converts to string. Throws if val is null. /// </summary> /// <param name="val"></param> public TelemetryPiiProperty(object val) { CodeContract.RequiresArgumentNotNull <object>(val, "val"); RawValue = val; StringValue = TypeTools.ConvertToString(val); }