diff options
Diffstat (limited to 'Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs')
| -rw-r--r-- | Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs | 105 |
1 files changed, 75 insertions, 30 deletions
diff --git a/Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs b/Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs index fee2fe346..0b90f0de4 100644 --- a/Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs +++ b/Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs @@ -12,6 +12,8 @@ using Tango.Telemetry.Sources; using Tango.Telemetry.Telemetries; using System.Data.Entity; using Tango.BL.Entities; +using Tango.Insights; +using System.Threading; namespace Tango.Telemetry.Tester.IOT.CLI { @@ -37,7 +39,8 @@ namespace Tango.Telemetry.Tester.IOT.CLI (publisher.StorageManager as TelemetryLiteDBStorageManager).EnableCheckPointsRecovery = false; - publisher.RegisterSource(new JobRunsTestSource()); + //publisher.RegisterSource(new JobRunsTestSource()); + publisher.RegisterSource(new DiagnosticsTestSource()); publisher.RegisterDestination(new TelemetryAzureHubDestination("HostName=iot-twine-dev-weu.azure-devices.net;DeviceId=telemetry-dev-01;SharedAccessKey=cZhCMhiVL+TF7p13fpX+lFmyxoy8ZqCkbxUwumWw18Q=")); publisher.PublishResultAvailable += Publisher_PublishResultAvailable; @@ -58,38 +61,38 @@ namespace Tango.Telemetry.Tester.IOT.CLI private static void Publisher_PublishingPackage(object sender, TelemetryPackagePublishingEventArgs e) { - TelemetryJobRun tRun = e.Package.PendingTelemetry.TelemetryObject as TelemetryJobRun; + //TelemetryJobRun tRun = e.Package.PendingTelemetry.TelemetryObject as TelemetryJobRun; - if (_machineInfos == null) - { - using (ObservablesContext db = ObservablesContext.CreateDefault()) - { - _machineInfos = new List<MachineExtendedInfo>(); - var machinesOrganizations = db.Machines.Include(x => x.Organization).Select(x => new { x, x.Organization.Name, x.SiteGuid }).ToList(); - foreach (var item in machinesOrganizations) - { - MachineExtendedInfo info = new MachineExtendedInfo(); - info.Machine = item.x; - info.Organization = item.Name; - info.Site = db.Sites.FirstOrDefault(x => x.Guid == item.SiteGuid)?.Name; - _machineInfos.Add(info); - } - } - } + //if (_machineInfos == null) + //{ + // using (ObservablesContext db = ObservablesContext.CreateDefault()) + // { + // _machineInfos = new List<MachineExtendedInfo>(); + // var machinesOrganizations = db.Machines.Include(x => x.Organization).Select(x => new { x, x.Organization.Name, x.SiteGuid }).ToList(); + // foreach (var item in machinesOrganizations) + // { + // MachineExtendedInfo info = new MachineExtendedInfo(); + // info.Machine = item.x; + // info.Organization = item.Name; + // info.Site = db.Sites.FirstOrDefault(x => x.Guid == item.SiteGuid)?.Name; + // _machineInfos.Add(info); + // } + // } + //} - var machineInfo = _machineInfos.FirstOrDefault(x => x.Machine.Guid == tRun.MachineGuid); + //var machineInfo = _machineInfos.FirstOrDefault(x => x.Machine.Guid == tRun.MachineGuid); - if (machineInfo == null) - { - e.Cancel = true; - } - else - { - e.Package.Organization = machineInfo.Organization; - e.Package.Site = machineInfo.Site; - e.Package.SerialNumber = machineInfo.Machine.SerialNumber; - e.Package.MachineType = machineInfo.Machine.Type.ToShortName(); - } + //if (machineInfo == null) + //{ + // e.Cancel = true; + //} + //else + //{ + // e.Package.Organization = machineInfo.Organization; + // e.Package.Site = machineInfo.Site; + // e.Package.SerialNumber = machineInfo.Machine.SerialNumber; + // e.Package.MachineType = machineInfo.Machine.Type.ToShortName(); + //} } private static void Publisher_PublishResultAvailable(object sender, TelemetryPublishResultAvailableEventArgs e) @@ -163,4 +166,46 @@ namespace Tango.Telemetry.Tester.IOT.CLI } } } + + public class DiagnosticsTestSource : ITelemetryStreamingSource + { + public bool IsStarted { get; private set; } + public string Name { get; } = "Diagnostics Test"; + public bool RequiresTelemetryDuplicationTracking { get; } + + public event EventHandler<TelemetryAvailableEventArgs> TelemetryAvailable; + + public void Dispose() + { + Stop(); + } + + public void Start() + { + IsStarted = true; + + Task.Factory.StartNew(() => + { + InsightsFile file = InsightsFile.FromFile("sample.insights"); + foreach (var rawFrame in file.Frames.Where(x => !x.IsEmpty)) + { + var monitors = rawFrame.ToInsightsMonitors(); + + TelemetryDiagnosticsFrame frame = new TelemetryDiagnosticsFrame(); + frame.ID = Guid.NewGuid().ToString(); + frame.Time = DateTime.UtcNow; + frame.Monitors = monitors; + + TelemetryAvailable?.Invoke(this, new TelemetryAvailableEventArgs() { TelemetryObject = frame }); + + Thread.Sleep(500); + } + }); + } + + public void Stop() + { + IsStarted = false; + } + } } |
