diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2025-08-07 16:22:43 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2025-08-07 16:22:43 +0300 |
| commit | 61bc5d6672a0dd3c7fd0f8e1a95d5c037fb20cab (patch) | |
| tree | 5963d8d118fd31e34de5d89463542ef4ccf56136 /Software/Visual_Studio/Utilities | |
| parent | 8bbeffb422e8535c399f1eb76a55fdee5a1c65b6 (diff) | |
| download | Tango-61bc5d6672a0dd3c7fd0f8e1a95d5c037fb20cab.tar.gz Tango-61bc5d6672a0dd3c7fd0f8e1a95d5c037fb20cab.zip | |
Telemetry.
Diffstat (limited to 'Software/Visual_Studio/Utilities')
| -rw-r--r-- | Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs | 65 |
1 files changed, 59 insertions, 6 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 0565ab00d..fee2fe346 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 @@ -9,18 +9,24 @@ using Tango.Logging; using Tango.Telemetry.Destinations; using Tango.Telemetry.Mappers; using Tango.Telemetry.Sources; +using Tango.Telemetry.Telemetries; +using System.Data.Entity; +using Tango.BL.Entities; namespace Tango.Telemetry.Tester.IOT.CLI { class Program { + private static List<MachineExtendedInfo> _machineInfos; + private static int _counter = 1; + static void Main(string[] args) { LogManager.Default.RegisterLogger(new Tango.Logging.VSOutputLogger("IOT TESTER")); TelemetryPublisher publisher = new TelemetryPublisher(new TelemetryPublisherConfiguration() { - Environment = "DEV", + Environment = "PROD", SerialNumber = "dev-machine", Organization = "Twine", MachineType = MachineTypes.TS1800, @@ -35,6 +41,7 @@ namespace Tango.Telemetry.Tester.IOT.CLI publisher.RegisterDestination(new TelemetryAzureHubDestination("HostName=iot-twine-dev-weu.azure-devices.net;DeviceId=telemetry-dev-01;SharedAccessKey=cZhCMhiVL+TF7p13fpX+lFmyxoy8ZqCkbxUwumWw18Q=")); publisher.PublishResultAvailable += Publisher_PublishResultAvailable; + publisher.PublishingPackage += Publisher_PublishingPackage; publisher.Start().GetAwaiter().GetResult(); @@ -49,6 +56,42 @@ namespace Tango.Telemetry.Tester.IOT.CLI publisher.Dispose(); } + private static void Publisher_PublishingPackage(object sender, TelemetryPackagePublishingEventArgs e) + { + 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); + } + } + } + + 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(); + } + } + private static void Publisher_PublishResultAvailable(object sender, TelemetryPublishResultAvailableEventArgs e) { Console.ForegroundColor = ConsoleColor.DarkGray; @@ -62,7 +105,7 @@ namespace Tango.Telemetry.Tester.IOT.CLI else { Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine("Package successfully published."); + Console.WriteLine($"Package {_counter++} successfully published."); } Console.ResetColor(); @@ -70,6 +113,13 @@ namespace Tango.Telemetry.Tester.IOT.CLI } } + public class MachineExtendedInfo + { + public Machine Machine { get; set; } + public String Organization { get; set; } + public String Site { get; set; } + } + public class JobRunsTestSource : ITelemetryHistorySource { private bool _busy; @@ -91,18 +141,21 @@ namespace Tango.Telemetry.Tester.IOT.CLI public Task<IEnumerable<ITelemetry>> RequestHistory(DateTime from) { _busy = true; - + ObservablesContext.OverrideSettingsDataSource(new Core.DataSource() { - Address = "localhost\\SQLPPC", - IntegratedSecurity = true, + Address = "twine.database.windows.net", + IntegratedSecurity = false, Catalog = "Tango", + UserName = "Roy", + Password = "Aa123456", Type = Core.DataSourceType.SQLServer, }); using (ObservablesContext db = ObservablesContext.CreateDefault()) { - var runs = db.JobRuns.OrderByDescending(x => x.LastUpdated).Where(x => x.LastUpdated < from).Take(1).ToList(); + var runs = db.JobRuns.Where(x => x.LastUpdated < from).OrderByDescending(x => x.LastUpdated).Take(100).ToList(); + var runsT = runs.Select(x => JobRunMapper.MapJobRun(x)).ToList(); _busy = false; |
