Esempio n. 1
0
        internal void InitializeTelemetry(ClientContext context, InitializationType initializationType)
        {
            var enableTelemetry = false;
            var userProfile     = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
            var telemetryFile   = System.IO.Path.Combine(userProfile, ".pnppowershelltelemetry");

            if (Environment.GetEnvironmentVariable("PNPPOWERSHELL_DISABLETELEMETRY") != null)
            {
                enableTelemetry = Environment.GetEnvironmentVariable("PNPPOWERSHELL_DISABLETELEMETRY").ToLower().Equals("false");
            }

            if (!System.IO.File.Exists(telemetryFile))
            {
                enableTelemetry = true;
            }
            else
            {
                if (System.IO.File.ReadAllText(telemetryFile).ToLower() == "allow")
                {
                    enableTelemetry = true;
                }
            }

            if (enableTelemetry)
            {
                var serverLibraryVersion = "";
                var serverVersion        = "";
                if (context != null)
                {
                    try
                    {
                        if (context.ServerLibraryVersion != null)
                        {
                            serverLibraryVersion = context.ServerLibraryVersion.ToString();
                        }
                        if (context.ServerVersion != null)
                        {
                            serverVersion = context.ServerVersion.ToString();
                        }
                    }
                    catch { }
                }

                ApplicationInsights = new ApplicationInsights();
                var coreAssembly    = Assembly.GetExecutingAssembly();
                var operatingSystem = Utilities.OperatingSystem.GetOSString();

                ApplicationInsights.Initialize(serverLibraryVersion, serverVersion, initializationType.ToString(), ((AssemblyFileVersionAttribute)coreAssembly.GetCustomAttribute(typeof(AssemblyFileVersionAttribute))).Version.ToString(), operatingSystem);
                ApplicationInsights.TrackEvent("Connect-PnPOnline");
            }
        }
        //internal static ClientContext GetCachedContext(string url)
        //{
        //    return ContextCache.FirstOrDefault(c => System.Net.WebUtility.UrlEncode(c.Url) == System.Net.WebUtility.UrlEncode(url));
        //}

        //internal static void ClearContextCache()
        //{
        //    ContextCache.Clear();
        //}

        internal void InitializeTelemetry(ClientContext context, InitializationType initializationType)
        {
            var enableTelemetry = false;
            var userProfile     = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
            var telemetryFile   = System.IO.Path.Combine(userProfile, ".pnppowershelltelemetry");

            if (!System.IO.File.Exists(telemetryFile))
            {
                enableTelemetry = true;
            }
            else
            {
                if (System.IO.File.ReadAllText(telemetryFile).ToLower() == "allow")
                {
                    enableTelemetry = true;
                }
            }
            if (enableTelemetry)
            {
                var serverLibraryVersion = "";
                var serverVersion        = "";
                if (context != null)
                {
                    try
                    {
                        if (context.ServerLibraryVersion != null)
                        {
                            serverLibraryVersion = context.ServerLibraryVersion.ToString();
                        }
                        if (context.ServerVersion != null)
                        {
                            serverVersion = context.ServerVersion.ToString();
                        }
                    }
                    catch { }
                }

                ApplicationInsights = new ApplicationInsights();
                var coreAssembly = Assembly.GetExecutingAssembly();
                ApplicationInsights.Initialize(serverLibraryVersion, serverVersion, initializationType.ToString(), ((AssemblyFileVersionAttribute)coreAssembly.GetCustomAttribute(typeof(AssemblyFileVersionAttribute))).Version.ToString());
                ApplicationInsights.TrackEvent("Connect-PnPOnline");

                //TelemetryConfiguration config = TelemetryConfiguration.CreateDefault();
                //TelemetryClient = new TelemetryClient(config);
                //config.InstrumentationKey = "a301024a-9e21-4273-aca5-18d0ef5d80fb";
                ////config..Context.Session.Id = Guid.NewGuid().ToString();
                //TelemetryClient.Context.Cloud.RoleInstance = "PnPPowerShell";
                //TelemetryClient.Context.Device.OperatingSystem = Environment.OSVersion.ToString();

                //TelemetryProperties = new Dictionary<string, string>(10);
                //TelemetryProperties.Add("ServerLibraryVersion", serverLibraryVersion);
                //TelemetryProperties.Add("ServerVersion", serverVersion);
                //TelemetryProperties.Add("ConnectionMethod", initializationType.ToString());
                //var coreAssembly = Assembly.GetExecutingAssembly();
                //TelemetryProperties.Add("Version", ((AssemblyFileVersionAttribute)coreAssembly.GetCustomAttribute(typeof(AssemblyFileVersionAttribute))).Version.ToString());
                //TelemetryProperties.Add("Platform", "SPO");
                //TelemetryClient.TrackEvent("Connect-PnPOnline", TelemetryProperties);


                //TelemetryClient = new TelemetryClient(;
                //TelemetryClient.InstrumentationKey = "a301024a-9e21-4273-aca5-18d0ef5d80fb";
                //TelemetryClient.Context.Session.Id = Guid.NewGuid().ToString();
                //TelemetryClient.Context.Cloud.RoleInstance = "PnPPowerShell";
                //TelemetryClient.Context.Device.OperatingSystem = Environment.OSVersion.ToString();
                //TelemetryClient.Context.Properties.Add("ServerLibraryVersion", serverLibraryVersion);
                //TelemetryClient.Context.Properties.Add("ServerVersion", serverVersion);
                //TelemetryClient.Context.Properties.Add("ConnectionMethod", initializationType.ToString());
                //var coreAssembly = Assembly.GetExecutingAssembly();
                //TelemetryClient.Context.Properties.Add("Version", ((AssemblyFileVersionAttribute)coreAssembly.GetCustomAttribute(typeof(AssemblyFileVersionAttribute))).Version.ToString());
                //TelemetryClient.Context.Properties.Add("Platform", "SPO");
                //TelemetryClient.TrackEvent("Connect-PnPOnline");
            }
        }