Skip to content

Commit f831b6a

Browse files
author
Ian Shimmings
committed
Fixed success metric fault
1 parent 79a355a commit f831b6a

File tree

5 files changed

+14
-10
lines changed

5 files changed

+14
-10
lines changed

BtmsGateway/Services/Health/QueueHealthCheck.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.Text.RegularExpressions;
22
using Amazon.SimpleNotificationService;
33
using Amazon.SimpleNotificationService.Model;
4+
using BtmsGateway.Utils;
45
using Microsoft.Extensions.Diagnostics.HealthChecks;
56
using ILogger = Serilog.ILogger;
67

@@ -35,7 +36,7 @@ public class QueueHealthCheck(string name, string topicArn, IAmazonSimpleNotific
3536
var data = new Dictionary<string, object> { { "topic-arn", topicArn } };
3637
if (attributes != null)
3738
{
38-
if ((int)attributes.HttpStatusCode < 200 || (int)attributes.HttpStatusCode > 299) healthStatus = HealthStatus.Degraded;
39+
if (attributes.HttpStatusCode.IsSuccessStatusCode()) healthStatus = HealthStatus.Degraded;
3940

4041
data.Add("content-length", attributes.ContentLength);
4142
data.Add("http-status-code", attributes.HttpStatusCode);

BtmsGateway/Services/Metrics/Metric.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,7 @@ public class Metric(MetricsHost metricsHost) : IMetrics
2020
return new KeyValuePair<string, object?>[]
2121
{
2222
new("routing-successful", routingResult.RoutingSuccessful),
23-
new("path", messageData.Path),
24-
new("originating-url", messageData.Url),
25-
new("route-name", routingResult.RouteName),
26-
new("route-link", routingResult.FullRouteLink),
27-
new("fork-link", routingResult.FullForkLink),
28-
new("country-code", messageData.ContentMap.CountryCode)
23+
new("path", messageData.Path)
2924
};
3025
}
3126

BtmsGateway/Services/Routing/MessageRouter.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,14 @@ public async Task<RoutingResult> Route(MessageData messageData, IMetrics metrics
2222
{
2323
metrics.StartRoutedRequest();
2424

25-
return routingResult.RouteLinkType switch
25+
routingResult = routingResult.RouteLinkType switch
2626
{
2727
LinkType.Queue => await queueSender.Send(routingResult, messageData, routingResult.FullRouteLink),
2828
LinkType.Url => await apiSender.Send(routingResult, messageData, fork: false),
2929
_ => routingResult
3030
};
31+
32+
return routingResult;
3133
}
3234
catch (Exception ex)
3335
{
@@ -49,12 +51,14 @@ public async Task<RoutingResult> Fork(MessageData messageData, IMetrics metrics)
4951
{
5052
metrics.StartForkedRequest();
5153

52-
return routingResult.ForkLinkType switch
54+
routingResult = routingResult.ForkLinkType switch
5355
{
5456
LinkType.Queue => await queueSender.Send(routingResult, messageData, routingResult.FullForkLink),
5557
LinkType.Url => await apiSender.Send(routingResult, messageData, fork: true),
5658
_ => routingResult
5759
};
60+
61+
return routingResult;
5862
}
5963
catch (Exception ex)
6064
{

BtmsGateway/Services/Routing/QueueSender.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.Net;
22
using Amazon.SimpleNotificationService;
33
using BtmsGateway.Middleware;
4+
using BtmsGateway.Utils;
45

56
namespace BtmsGateway.Services.Routing;
67

@@ -19,7 +20,7 @@ public async Task<RoutingResult> Send(RoutingResult routingResult, MessageData m
1920

2021
return routingResult with
2122
{
22-
RoutingSuccessful = response.HttpStatusCode == HttpStatusCode.OK,
23+
RoutingSuccessful = response.HttpStatusCode.IsSuccessStatusCode(),
2324
ResponseContent = $"Successfully published MessageId: {response.MessageId}",
2425
StatusCode = response.HttpStatusCode
2526
};

BtmsGateway/Utils/Extensions.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System.Net;
12
using System.Xml.Linq;
23
using Microsoft.Extensions.Options;
34

@@ -17,4 +18,6 @@ public static class Extensions
1718
public static string ToTitleCase(this string text) => char.ToUpper(text[0]) + text[1..];
1819

1920
public static string ToStringWithDeclaration(this XDocument xDocument) => $"{xDocument.Declaration}{Environment.NewLine}{xDocument}";
21+
22+
public static bool IsSuccessStatusCode(this HttpStatusCode statusCode) => (int)statusCode < 200 || (int)statusCode > 299;
2023
}

0 commit comments

Comments
 (0)