public void LabRemoved(byte[] labData) { if (!GetEnvironmentVariableAsBool(_telemetryOptInVar, false)) { return; } var lab = Lab.Import(labData); var f = new System.IO.FileInfo(lab.LabFilePath); var duration = DateTime.Now - f.CreationTime; var metrics = new Dictionary <string, double> { { "labRunningTicks", duration.Ticks } }; var eventMessage = "Lab removed - Transmitting the following:" + $"\r\nlabRunningTicks = {duration.Ticks}"; try { EventLog.WriteEntry("AutomatedLab", eventMessage, EventLogEntryType.Information, 103); } catch { } try { telemetryClient.TrackEvent("LabRemoved", null, metrics); telemetryClient.Flush(); } catch { ; //nothing to catch. If it doesn't work, it doesn't work. } }
public void LabRemoved(byte[] labData) { if (GetEnvironmentVariableAsBool(_telemetryOptoutEnvVar, false)) { return; } var lab = Lab.Import(labData); var f = new System.IO.FileInfo(lab.LabFilePath); var duration = DateTime.Now - f.CreationTime; var metrics = new Dictionary <string, double> { { "labRunningTicks", duration.Ticks } }; try { telemetryClient.TrackEvent("LabRemoved", null, metrics); telemetryClient.Flush(); } catch { ; //nothing to catch. If it doesn't work, it doesn't work. } }
public void LabFinished(byte[] labData) { if (GetEnvironmentVariableAsBool(_telemetryOptoutEnvVar, false)) { return; } var lab = Lab.Import(labData); var labDuration = DateTime.Now - labStarted; var properties = new Dictionary <string, string> { { "dayOfWeek", labStarted.DayOfWeek.ToString() } }; var metrics = new Dictionary <string, double> { { "timeTakenSeconds", labDuration.TotalSeconds } }; try { telemetryClient.TrackEvent("LabFinished", properties, metrics); telemetryClient.Flush(); } catch { ; //nothing to catch. If it doesn't work, it doesn't work. } }
public void LabStarted(byte[] labData, string version, string osVersion, string psVersion) { if (!GetEnvironmentVariableAsBool(_telemetryOptInVar, false)) { return; } var lab = Lab.Import(labData); lab.Machines.ForEach(m => SendUsedRole(m.Roles.Select(r => r.Name.ToString()).ToList())); lab.Machines.ForEach(m => SendUsedRole(m.PostInstallationActivity.Where(p => p.IsCustomRole).Select(c => System.IO.Path.GetFileNameWithoutExtension(c.ScriptFileName)).ToList(), true)); var properties = new Dictionary <string, string> { { "version", version }, { "hypervisor", lab.DefaultVirtualizationEngine }, { "osversion", osVersion }, { "psversion", psVersion } }; var metrics = new Dictionary <string, double> { { "machineCount", lab.Machines.Count } }; labStarted = DateTime.Now; var eventMessage = "Lab started - Transmitting the following:" + $"\r\nversion = {version}" + $"\r\nhypervisor = {lab.DefaultVirtualizationEngine}" + $"\r\nosversion = {osVersion}" + $"\r\npsversion = {psVersion}" + $"\r\nmachineCount = {lab.Machines.Count}"; try { EventLog.WriteEntry("AutomatedLab", eventMessage, EventLogEntryType.Information, 101); } catch { } try { telemetryClient.TrackEvent("LabStarted", properties, metrics); telemetryClient.Flush(); } catch { ; //nothing to catch. If it doesn't work, it doesn't work. } }
public LabValidator(string labXmlPath) { XmlDocument mainDoc = new XmlDocument(); mainDoc.Load(labXmlPath); docs.Add(mainDoc); var xmlPaths = mainDoc.SelectNodes("//@Path").OfType <XmlAttribute>().Select(e => e.Value).Where(text => text.EndsWith(".xml")); foreach (var path in xmlPaths) { XmlDocument doc = new XmlDocument(); doc.Load(path); docs.Add(doc); } lab = Lab.Import(labXmlPath); lab.MachineDefinitionFiles.ForEach(file => machines.AddFromFile(file.Path)); lab.Machines = machines; }
public void LabFinished(byte[] labData) { if (!GetEnvironmentVariableAsBool(_telemetryOptInVar, false)) { return; } var lab = Lab.Import(labData); var labDuration = DateTime.Now - labStarted; var properties = new Dictionary <string, string> { { "dayOfWeek", labStarted.DayOfWeek.ToString() } }; var metrics = new Dictionary <string, double> { { "timeTakenSeconds", labDuration.TotalSeconds } }; var eventMessage = "Lab finished - Transmitting the following:" + $"\r\ndayOfWeek = {labStarted.DayOfWeek.ToString()}" + $"\r\ntimeTakenSeconds = {labDuration.TotalSeconds}"; try { EventLog.WriteEntry("AutomatedLab", eventMessage, EventLogEntryType.Information, 102); } catch { } try { telemetryClient.TrackEvent("LabFinished", properties, metrics); telemetryClient.Flush(); } catch { ; //nothing to catch. If it doesn't work, it doesn't work. } }
public void LabStarted(byte[] labData, string version, string osVersion, string psVersion) { if (GetEnvironmentVariableAsBool(_telemetryOptoutEnvVar, false)) { return; } var lab = Lab.Import(labData); lab.Machines.ForEach(m => SendUsedRole(m.Roles.Select(r => r.Name.ToString()).ToList())); lab.Machines.ForEach(m => SendUsedRole(m.PostInstallationActivity.Where(p => p.IsCustomRole).Select(c => System.IO.Path.GetFileNameWithoutExtension(c.ScriptFileName)).ToList(), true)); var properties = new Dictionary <string, string> { { "version", version }, { "hypervisor", lab.DefaultVirtualizationEngine }, { "osversion", osVersion }, { "psversion", psVersion } }; var metrics = new Dictionary <string, double> { { "machineCount", lab.Machines.Count } }; labStarted = DateTime.Now; try { telemetryClient.TrackEvent("LabStarted", properties, metrics); telemetryClient.Flush(); } catch { ; //nothing to catch. If it doesn't work, it doesn't work. } }