Exemplo n.º 1
0
        internal static void FormatAndSend(ITelemetry telemetry, TelemetryEventArgs args)
        {
            if (args.EventName == TargetFrameworkTelemetryEventName)
            {
                var newEventName = $"msbuild/{TargetFrameworkTelemetryEventName}";
                Dictionary <string, string> maskedProperties = new Dictionary <string, string>();
                if (args.Properties.TryGetValue(TargetFrameworkVersionTelemetryPropertyKey, out string targetFrameworkVersionValue))
                {
                    maskedProperties.Add(TargetFrameworkVersionTelemetryPropertyKey, Sha256Hasher.HashWithNormalizedCasing(targetFrameworkVersionValue));
                }

                if (args.Properties.TryGetValue(UseWindowsFormsTelemetryPropertyKey, out string useWindowsFormsValue))
                {
                    maskedProperties.Add(UseWindowsFormsTelemetryPropertyKey, SanitizeToOnlyTrueFalseEmpty(useWindowsFormsValue));
                }

                if (args.Properties.TryGetValue(UseWPFTelemetryPropertyKey, out string useWPFValue))
                {
                    maskedProperties.Add(UseWPFTelemetryPropertyKey, SanitizeToOnlyTrueFalseEmpty(useWPFValue));
                }

                telemetry.TrackEvent(newEventName, maskedProperties, measurements: null);
            }

            if (args.EventName == SdkTaskBaseCatchExceptionTelemetryEventName)
            {
                telemetry.TrackEvent(args.EventName, args.Properties, measurements: null);
            }
        }
Exemplo n.º 2
0
        internal static void FormatAndSend(ITelemetry telemetry, TelemetryEventArgs args)
        {
            if (args.EventName == TargetFrameworkTelemetryEventName)
            {
                var newEventName = $"msbuild/{TargetFrameworkTelemetryEventName}";
                Dictionary <string, string> maskedProperties = new Dictionary <string, string>();

                foreach (var key in new[] {
                    TargetFrameworkVersionTelemetryPropertyKey,
                    RuntimeIdentifierTelemetryPropertyKey,
                    SelfContainedTelemetryPropertyKey,
                    UseApphostTelemetryPropertyKey,
                    OutputTypeTelemetryPropertyKey
                })
                {
                    if (args.Properties.TryGetValue(key, out string value))
                    {
                        maskedProperties.Add(key, Sha256Hasher.HashWithNormalizedCasing(value));
                    }
                }

                telemetry.TrackEvent(newEventName, maskedProperties, measurements: null);
            }

            var passthroughEvents = new string[] {
                SdkTaskBaseCatchExceptionTelemetryEventName,
                PublishPropertiesTelemetryEventName,
                ReadyToRunTelemetryEventName
            };

            if (passthroughEvents.Contains(args.EventName))
            {
                telemetry.TrackEvent(args.EventName, args.Properties, measurements: null);
            }
        }
Exemplo n.º 3
0
        internal static void FormatAndSend(ITelemetry telemetry, TelemetryEventArgs args)
        {
            if (args.EventName == TargetFrameworkTelemetryEventName)
            {
                var newEventName = $"msbuild/{TargetFrameworkTelemetryEventName}";
                Dictionary <string, string> maskedProperties = new Dictionary <string, string>();
                if (args.Properties.TryGetValue(TargetFrameworkVersionTelemetryPropertyKey, out string value))
                {
                    maskedProperties.Add(TargetFrameworkVersionTelemetryPropertyKey, Sha256Hasher.HashWithNormalizedCasing(value));
                }

                telemetry.TrackEvent(newEventName, maskedProperties, measurements: null);
            }
        }