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"); } }