aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs
diff options
context:
space:
mode:
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.cs105
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;
+ }
+ }
}