aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2025-08-21 14:36:42 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2025-08-21 14:36:42 +0300
commit33c5e689caa9842aa29dac915b4f8d83564cee0c (patch)
treee8a96988ce0cb66797fae688c5e753359da41f03 /Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI
parent9c64ff964e98c5a27bb63cecf3042499b6b50736 (diff)
downloadTango-33c5e689caa9842aa29dac915b4f8d83564cee0c.tar.gz
Tango-33c5e689caa9842aa29dac915b4f8d83564cee0c.zip
Telemetry JobStatus
Diffstat (limited to 'Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI')
-rw-r--r--Software/Visual_Studio/Utilities/Tango.Telemetry.Tester.IOT.CLI/Program.cs105
1 files changed, 98 insertions, 7 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 1b02b9066..945fe5f1f 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
@@ -14,6 +14,7 @@ using System.Data.Entity;
using Tango.BL.Entities;
using Tango.Insights;
using System.Threading;
+using Tango.PMR.MachineStatus;
namespace Tango.Telemetry.Tester.IOT.CLI
{
@@ -29,7 +30,7 @@ namespace Tango.Telemetry.Tester.IOT.CLI
TelemetryPublisher publisher = new TelemetryPublisher(new TelemetryPublisherConfiguration()
{
Environment = "PROD",
- SerialNumber = "dev-machine",
+ SerialNumber = "ROY_X1",
Organization = "Twine",
MachineType = MachineTypes.TS1800,
HistorySourcesRequestInterval = TimeSpan.FromSeconds(1),
@@ -42,8 +43,16 @@ namespace Tango.Telemetry.Tester.IOT.CLI
//publisher.RegisterSource(new JobRunsTestSource());
//publisher.RegisterSource(new DiagnosticsTestSource());
publisher.RegisterSource(new EventsTestSource());
- //publisher.RegisterDestination(new TelemetryAzureHubDestination("HostName=iot-twine-dev-weu.azure-devices.net;DeviceId=telemetry-dev-01;SharedAccessKey=cZhCMhiVL+TF7p13fpX+lFmyxoy8ZqCkbxUwumWw18Q="));
- publisher.RegisterDestination(new TelemetryMqttDestination("Telemetry MQTT"));
+ publisher.RegisterSource(new MachineStatusTestSource());
+
+ var logsSource = new TelemetryLogsStreamingSource();
+ logsSource.Config.Categories.Add(LogCategory.Info);
+
+ publisher.RegisterSource(logsSource);
+ publisher.RegisterSource(new TelemetryLogsStreamingSource());
+ publisher.RegisterSource(new JobStatusTestSource());
+ publisher.RegisterDestination(new TelemetryAzureHubDestination("HostName=iot-twine-dev-weu.azure-devices.net;DeviceId=telemetry-dev-01;SharedAccessKey=cZhCMhiVL+TF7p13fpX+lFmyxoy8ZqCkbxUwumWw18Q="));
+ //publisher.RegisterDestination(new TelemetryMqttDestination("Telemetry MQTT"));
publisher.PublishResultAvailable += Publisher_PublishResultAvailable;
publisher.PublishingPackage += Publisher_PublishingPackage;
@@ -250,11 +259,9 @@ namespace Tango.Telemetry.Tester.IOT.CLI
{
Task.Factory.StartNew(() =>
{
- Thread.Sleep(2000);
-
using (ObservablesContext db = ObservablesContext.CreateDefault())
{
- foreach (var evType in db.EventTypes.Take(20).ToList())
+ foreach (var evType in db.EventTypes.Take(10).ToList())
{
TelemetryEvent ev = new TelemetryEvent();
ev.Description = $"Description of {evType.Description}";
@@ -263,7 +270,7 @@ namespace Tango.Telemetry.Tester.IOT.CLI
ev.Time = DateTime.UtcNow;
ev.Time = DateTime.SpecifyKind(ev.Time, DateTimeKind.Unspecified);
TelemetryAvailable?.Invoke(this, new TelemetryAvailableEventArgs() { TelemetryObject = ev });
- Thread.Sleep(5000);
+ Thread.Sleep(2000);
}
}
});
@@ -274,4 +281,88 @@ namespace Tango.Telemetry.Tester.IOT.CLI
}
}
+
+ public class MachineStatusTestSource : ITelemetryStreamingSource
+ {
+ public bool IsStarted { get; }
+ public string Name { get; } = "Machine Status Streaming";
+ public bool RequiresTelemetryDuplicationTracking { get; }
+
+ public event EventHandler<TelemetryAvailableEventArgs> TelemetryAvailable;
+
+ public void Dispose()
+ {
+
+ }
+
+ public void Start()
+ {
+ Task.Factory.StartNew(() =>
+ {
+ for (int i = 10; i < 20; i++)
+ {
+ TelemetryAvailable?.Invoke(this, new TelemetryAvailableEventArgs()
+ {
+ TelemetryObject = new TelemetryMachineStatus() { Status = new MachineStatus() { OverallTemperature = i } },
+ });
+
+ Thread.Sleep(1000);
+ }
+ });
+ }
+
+ public void Stop()
+ {
+
+ }
+ }
+
+ public class JobStatusTestSource : ITelemetryStreamingSource
+ {
+ public bool IsStarted { get; }
+ public string Name { get; } = "Machine Status Streaming";
+ public bool RequiresTelemetryDuplicationTracking { get; }
+
+ public event EventHandler<TelemetryAvailableEventArgs> TelemetryAvailable;
+
+ public void Dispose()
+ {
+
+ }
+
+ public void Start()
+ {
+ String groupID = Guid.NewGuid().ToString();
+
+ Task.Factory.StartNew(() =>
+ {
+ for (int i = 0; i < 22; i++)
+ {
+ TelemetryAvailable?.Invoke(this, new TelemetryAvailableEventArgs()
+ {
+ DisableDeliveryRetries = true,
+ TelemetryObject = new TelemetryJobStatus()
+ {
+ JobName = "Test Job",
+ ID = groupID,
+ Status = i == 0 ? TelemetryJobStatus.JobStatus.InProgress : TelemetryJobStatus.JobStatus.Completed,
+ TotalProgress = 21,
+ Progress = i,
+ RemainingTime = TimeSpan.FromSeconds(22 - i),
+ Message = $"Job status message {i}..."
+ },
+ });
+
+ LogManager.Default.Log($"Job Progress Updated {i}/22...");
+
+ Thread.Sleep(1000);
+ }
+ });
+ }
+
+ public void Stop()
+ {
+
+ }
+ }
}