From a802fe75f9538371004f1833e69a69b798892d0c Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Tue, 29 Jul 2025 19:53:35 +0300 Subject: Telemetry --- .../Modules/TelemetryJobRunsHistoryModule.cs | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 Software/Visual_Studio/Tango.Telemetry/Modules/TelemetryJobRunsHistoryModule.cs (limited to 'Software/Visual_Studio/Tango.Telemetry/Modules/TelemetryJobRunsHistoryModule.cs') diff --git a/Software/Visual_Studio/Tango.Telemetry/Modules/TelemetryJobRunsHistoryModule.cs b/Software/Visual_Studio/Tango.Telemetry/Modules/TelemetryJobRunsHistoryModule.cs new file mode 100644 index 000000000..0ba2935c1 --- /dev/null +++ b/Software/Visual_Studio/Tango.Telemetry/Modules/TelemetryJobRunsHistoryModule.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Data.Entity; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.BL; +using Tango.Telemetry.TelemetryObjects; + +namespace Tango.Telemetry.Modules +{ + public class TelemetryJobRunsHistoryModule : TelemetryConfigurableModule, ITelemetryHistoryModule + { + private bool _isBusy; + + public string Name { get; private set; } = "JobRuns History"; + + public Task CanRequestHistory(DateTime from) + { + return Task.FromResult(!_isBusy); + } + + public async Task> RequestHistory(DateTime from) + { + try + { + _isBusy = true; + + using (ObservablesContext db = ObservablesContext.CreateDefault()) + { + var runs = await db.JobRuns + .Where(x => x.LastUpdated > from) + .OrderBy(x => x.LastUpdated) + .Take(Config.MaxJobRunsPerRequest) + .ToListAsync(); + + List tRuns = new List(); + + foreach (var run in runs) + { + TelemetryJobRun tRun = new TelemetryJobRun(); + tRun.Time = run.LastUpdated; + //Fill the object.. + tRuns.Add(tRun); + } + + return tRuns; + } + } + finally + { + _isBusy = false; + } + } + + public void Dispose() + { + + } + } +} -- cgit v1.3.1