aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Telemetry
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2025-08-18 09:44:45 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2025-08-18 09:44:45 +0300
commitb62a71753c9e132a4281a4c47de2c0326a232eda (patch)
tree14cb2e32709394601b9918cece63133de9c2bca6 /Software/Visual_Studio/Tango.Telemetry
parent4fcf044cc0a4265f6c9c2aad2a3a7aad92eafefa (diff)
downloadTango-b62a71753c9e132a4281a4c47de2c0326a232eda.tar.gz
Tango-b62a71753c9e132a4281a4c47de2c0326a232eda.zip
Telemetry Fixes.
Diffstat (limited to 'Software/Visual_Studio/Tango.Telemetry')
-rw-r--r--Software/Visual_Studio/Tango.Telemetry/DateTimeUTCFixer.cs4
-rw-r--r--Software/Visual_Studio/Tango.Telemetry/PendingTelemetry.cs1
-rw-r--r--Software/Visual_Studio/Tango.Telemetry/Telemetries/TelemetryLog.cs5
-rw-r--r--Software/Visual_Studio/Tango.Telemetry/TelemetryLiteDBStorageManager.cs4
-rw-r--r--Software/Visual_Studio/Tango.Telemetry/TelemetryPendingStorageSource.cs2
-rw-r--r--Software/Visual_Studio/Tango.Telemetry/TelemetryPublisher.cs52
6 files changed, 33 insertions, 35 deletions
diff --git a/Software/Visual_Studio/Tango.Telemetry/DateTimeUTCFixer.cs b/Software/Visual_Studio/Tango.Telemetry/DateTimeUTCFixer.cs
index 2a0c3cc85..490a49e53 100644
--- a/Software/Visual_Studio/Tango.Telemetry/DateTimeUTCFixer.cs
+++ b/Software/Visual_Studio/Tango.Telemetry/DateTimeUTCFixer.cs
@@ -47,7 +47,7 @@ namespace Tango.Telemetry
var value = dict[key];
if (TrySpecifyUtcOnBoxedDateTime(ref value))
{
- dict[key] = value!;
+ dict[key] = value;
}
else
{
@@ -65,7 +65,7 @@ namespace Tango.Telemetry
var element = list[i];
if (TrySpecifyUtcOnBoxedDateTime(ref element))
{
- list[i] = element!;
+ list[i] = element;
}
else
{
diff --git a/Software/Visual_Studio/Tango.Telemetry/PendingTelemetry.cs b/Software/Visual_Studio/Tango.Telemetry/PendingTelemetry.cs
index 5e1b5778d..39c36cb8d 100644
--- a/Software/Visual_Studio/Tango.Telemetry/PendingTelemetry.cs
+++ b/Software/Visual_Studio/Tango.Telemetry/PendingTelemetry.cs
@@ -12,7 +12,6 @@ namespace Tango.Telemetry
[BsonId(true)]
public int Id { get; set; }
public DateTime Created { get; set; }
- public DateTime Expires { get; set; }
public ITelemetry TelemetryObject { get; set; }
public String Source { get; set; }
public TelemetrySourceTypes SourceType { get; set; }
diff --git a/Software/Visual_Studio/Tango.Telemetry/Telemetries/TelemetryLog.cs b/Software/Visual_Studio/Tango.Telemetry/Telemetries/TelemetryLog.cs
index e32243d54..ab141bbe0 100644
--- a/Software/Visual_Studio/Tango.Telemetry/Telemetries/TelemetryLog.cs
+++ b/Software/Visual_Studio/Tango.Telemetry/Telemetries/TelemetryLog.cs
@@ -20,10 +20,5 @@ namespace Tango.Telemetry.Telemetries
public int Line { get; set; }
public String Message { get; set; }
-
- public TelemetryLog() : base()
- {
- ID = String.Empty;
- }
}
}
diff --git a/Software/Visual_Studio/Tango.Telemetry/TelemetryLiteDBStorageManager.cs b/Software/Visual_Studio/Tango.Telemetry/TelemetryLiteDBStorageManager.cs
index f92d508e7..538a3a0d7 100644
--- a/Software/Visual_Studio/Tango.Telemetry/TelemetryLiteDBStorageManager.cs
+++ b/Software/Visual_Studio/Tango.Telemetry/TelemetryLiteDBStorageManager.cs
@@ -248,8 +248,8 @@ namespace Tango.Telemetry
public void PerformPublishedTelemetriesCleanUp(DateTime olderThan)
{
LogManager.Log("Performing published telemetries cache cleanup...");
- var collection = GetSourcesCheckpointCollection();
- int deleted = collection.DeleteMany(x => x.Time < olderThan);
+ var collection = GetPublishedTelemetriesCollection();
+ int deleted = collection.DeleteMany(x => x.CreatedAt < olderThan);
LogManager.Log($"Published telemetries cleanup completed. {deleted} cleaned.");
}
diff --git a/Software/Visual_Studio/Tango.Telemetry/TelemetryPendingStorageSource.cs b/Software/Visual_Studio/Tango.Telemetry/TelemetryPendingStorageSource.cs
index a5e176ca7..96022341d 100644
--- a/Software/Visual_Studio/Tango.Telemetry/TelemetryPendingStorageSource.cs
+++ b/Software/Visual_Studio/Tango.Telemetry/TelemetryPendingStorageSource.cs
@@ -9,7 +9,7 @@ namespace Tango.Telemetry
public class TelemetryPendingStorageSource : ITelemetrySource
{
public string Name { get; private set; } = "Pending Storage";
- public bool RequiresTelemetryDuplicationTracking { get => false; }
+ public bool RequiresTelemetryDuplicationTracking { get => true; }
public void Dispose()
{
diff --git a/Software/Visual_Studio/Tango.Telemetry/TelemetryPublisher.cs b/Software/Visual_Studio/Tango.Telemetry/TelemetryPublisher.cs
index 4c91e6733..4f13eda9d 100644
--- a/Software/Visual_Studio/Tango.Telemetry/TelemetryPublisher.cs
+++ b/Software/Visual_Studio/Tango.Telemetry/TelemetryPublisher.cs
@@ -523,7 +523,6 @@ namespace Tango.Telemetry
{
PendingTelemetry pendingTelemetry = new PendingTelemetry();
pendingTelemetry.Created = DateTime.UtcNow;
- //pendingTelemetry.Expires = source.GetExpiration();
pendingTelemetry.Source = source.Name;
pendingTelemetry.SourceType = sourceType;
pendingTelemetry.TelemetryObject = telemetry;
@@ -824,41 +823,46 @@ namespace Tango.Telemetry
}
var batch = StorageManager.GetPendingTelemetries(maxCount);
- LogManager.Log($"Flushing {batch.Count} pending telemetry package(s).", LogCategory.Info);
List<TelemetryPublishResult> results = new List<TelemetryPublishResult>();
- foreach (var pendingTelemetry in batch)
+ if (batch.Count > 0)
{
- try
+ LogManager.Log($"Flushing {batch.Count} pending telemetry package(s).", LogCategory.Info);
+
+ foreach (var pendingTelemetry in batch)
{
- var package = new TelemetryPublishPackage()
+ try
{
- Source = _pendingStorageSource,
- PendingTelemetry = pendingTelemetry,
- SourceType = TelemetrySourceTypes.PendingStorage
- };
+ var package = new TelemetryPublishPackage()
+ {
+ Source = _pendingStorageSource,
+ PendingTelemetry = pendingTelemetry,
+ SourceType = TelemetrySourceTypes.PendingStorage
+ };
- var result = await PushTelemetryPackageAwait(package);
- results.Add(result);
+ var result = await PushTelemetryPackageAwait(package);
+ results.Add(result);
- LogManager.Log(
- $"Flushed telemetry to destinations: {string.Join(", ", result.DestinationsResults.Select(r => $"{r.Destination.Name}={r.Status}"))}",
- LogCategory.Debug);
- }
- catch (Exception ex)
- {
- LogManager.Log(ex, LogCategory.Error, "Exception occurred while flushing a pending telemetry package.");
- }
+ LogManager.Log(
+ $"Flushed telemetry to destinations: {string.Join(", ", result.DestinationsResults.Select(r => $"{r.Destination.Name}={r.Status}"))}",
+ LogCategory.Debug);
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, LogCategory.Error, "Exception occurred while flushing a pending telemetry package.");
+ }
- if (!IsStarted || _isDisposed)
- {
- LogManager.Log("Flush operation interrupted: publisher is no longer active.", LogCategory.Warning);
- return results;
+ if (!IsStarted || _isDisposed)
+ {
+ LogManager.Log("Flush operation interrupted: publisher is no longer active.", LogCategory.Warning);
+ return results;
+ }
}
+
+ LogManager.Log("FlushPendingTelemetries completed successfully.", LogCategory.Info);
}
- LogManager.Log("FlushPendingTelemetries completed successfully.", LogCategory.Info);
return results;
}