aboutsummaryrefslogtreecommitdiff
path: root/src/Enmarcha.Backend/Services/Processors
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2026-01-25 21:05:33 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2026-01-25 21:06:01 +0100
commitf9b7af64550be1320acc84d60184e8c8ce873b94 (patch)
treed43e995319b4a3856aa929848b9ad807afb1cf86 /src/Enmarcha.Backend/Services/Processors
parentc89353dede64bd2c21c0a1ebd6b6de6282998326 (diff)
feat: Add OpenTelemetry instrumentation and configuration for enhanced telemetry tracking
Diffstat (limited to 'src/Enmarcha.Backend/Services/Processors')
-rw-r--r--src/Enmarcha.Backend/Services/Processors/CorunaRealTimeProcessor.cs5
-rw-r--r--src/Enmarcha.Backend/Services/Processors/SantiagoRealTimeProcessor.cs7
-rw-r--r--src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs6
3 files changed, 11 insertions, 7 deletions
diff --git a/src/Enmarcha.Backend/Services/Processors/CorunaRealTimeProcessor.cs b/src/Enmarcha.Backend/Services/Processors/CorunaRealTimeProcessor.cs
index 6a9d9dc..b933bf4 100644
--- a/src/Enmarcha.Backend/Services/Processors/CorunaRealTimeProcessor.cs
+++ b/src/Enmarcha.Backend/Services/Processors/CorunaRealTimeProcessor.cs
@@ -13,12 +13,12 @@ public class CorunaRealTimeProcessor : AbstractRealTimeProcessor
private readonly ShapeTraversalService _shapeService;
public CorunaRealTimeProcessor(
- HttpClient http,
+ CorunaRealtimeEstimatesProvider realtime,
FeedService feedService,
ILogger<CorunaRealTimeProcessor> logger,
ShapeTraversalService shapeService)
{
- _realtime = new CorunaRealtimeEstimatesProvider(http);
+ _realtime = realtime;
_feedService = feedService;
_logger = logger;
_shapeService = shapeService;
@@ -41,6 +41,7 @@ public class CorunaRealTimeProcessor : AbstractRealTimeProcessor
}
var realtime = await _realtime.GetEstimatesForStop(numericStopId);
+ System.Diagnostics.Activity.Current?.SetTag("realtime.count", realtime.Count);
var usedTripIds = new HashSet<string>();
diff --git a/src/Enmarcha.Backend/Services/Processors/SantiagoRealTimeProcessor.cs b/src/Enmarcha.Backend/Services/Processors/SantiagoRealTimeProcessor.cs
index 929e439..a4f7d5b 100644
--- a/src/Enmarcha.Backend/Services/Processors/SantiagoRealTimeProcessor.cs
+++ b/src/Enmarcha.Backend/Services/Processors/SantiagoRealTimeProcessor.cs
@@ -12,11 +12,11 @@ public class SantiagoRealTimeProcessor : AbstractRealTimeProcessor
private readonly ILogger<SantiagoRealTimeProcessor> _logger;
public SantiagoRealTimeProcessor(
- HttpClient http,
+ SantiagoRealtimeEstimatesProvider realtime,
FeedService feedService,
ILogger<SantiagoRealTimeProcessor> logger)
{
- _realtime = new SantiagoRealtimeEstimatesProvider(http);
+ _realtime = realtime;
_feedService = feedService;
_logger = logger;
}
@@ -31,6 +31,7 @@ public class SantiagoRealTimeProcessor : AbstractRealTimeProcessor
try
{
var realtime = await _realtime.GetEstimatesForStop(numericStopId);
+ System.Diagnostics.Activity.Current?.SetTag("realtime.count", realtime.Count);
var usedTripIds = new HashSet<string>();
@@ -46,7 +47,7 @@ public class SantiagoRealTimeProcessor : AbstractRealTimeProcessor
RouteMatch = true
})
.Where(x => x.RouteMatch) // Strict route matching
- .Where(x => x.TimeDiff is >= -5 and <= 25) // Allow 2m early (RealTime < Schedule) or 25m late (RealTime > Schedule)
+ .Where(x => x.TimeDiff is >= -5 and <= 35) // Allow 2m early (RealTime < Schedule) or 25m late (RealTime > Schedule)
.OrderBy(x => Math.Abs(x.TimeDiff)) // Best time fit
.FirstOrDefault();
diff --git a/src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs b/src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs
index 5d44995..0ce54c2 100644
--- a/src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs
+++ b/src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs
@@ -16,13 +16,13 @@ public class VitrasaRealTimeProcessor : AbstractRealTimeProcessor
private readonly AppConfiguration _configuration;
public VitrasaRealTimeProcessor(
- HttpClient http,
+ VigoTransitApiClient api,
FeedService feedService,
ILogger<VitrasaRealTimeProcessor> logger,
ShapeTraversalService shapeService,
IOptions<AppConfiguration> options)
{
- _api = new VigoTransitApiClient(http);
+ _api = api;
_feedService = feedService;
_logger = logger;
_shapeService = shapeService;
@@ -52,6 +52,8 @@ public class VitrasaRealTimeProcessor : AbstractRealTimeProcessor
.Where(e => !string.IsNullOrWhiteSpace(e.Route) && !e.Route.Trim().EndsWith('*'))
.ToList();
+ System.Diagnostics.Activity.Current?.SetTag("realtime.count", estimates.Count);
+
var usedTripIds = new HashSet<string>();
var newArrivals = new List<Arrival>();