From f9b7af64550be1320acc84d60184e8c8ce873b94 Mon Sep 17 00:00:00 2001 From: Ariel Costas Guerrero Date: Sun, 25 Jan 2026 21:05:33 +0100 Subject: feat: Add OpenTelemetry instrumentation and configuration for enhanced telemetry tracking --- src/Enmarcha.Backend/Controllers/TileController.cs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/Enmarcha.Backend/Controllers/TileController.cs') diff --git a/src/Enmarcha.Backend/Controllers/TileController.cs b/src/Enmarcha.Backend/Controllers/TileController.cs index 4065ecd..3fdedfb 100644 --- a/src/Enmarcha.Backend/Controllers/TileController.cs +++ b/src/Enmarcha.Backend/Controllers/TileController.cs @@ -43,12 +43,19 @@ public class TileController : ControllerBase [HttpGet("stops/{z:int}/{x:int}/{y:int}")] public async Task Stops(int z, int x, int y) { + using var activity = Telemetry.Source.StartActivity("GenerateStopsTile"); + activity?.SetTag("tile.z", z); + activity?.SetTag("tile.x", x); + activity?.SetTag("tile.y", y); + if (z is < 9 or > 20) { return BadRequest("Zoom level out of range (9-20)"); } var cacheHit = _cache.TryGetValue($"stops-tile-{z}-{x}-{y}", out byte[]? cachedTile); + activity?.SetTag("cache.hit", cacheHit); + if (cacheHit && cachedTile != null) { Response.Headers.Append("X-Cache-Hit", "true"); @@ -78,6 +85,7 @@ public class TileController : ControllerBase if (responseBody is not { IsSuccess: true }) { + activity?.SetStatus(System.Diagnostics.ActivityStatusCode.Error, "Error fetching stop data from OTP"); _logger.LogError( "Error fetching stop data, received {StatusCode} {ResponseBody}", response.StatusCode, -- cgit v1.3