Skip to content

Commit ffc2f88

Browse files
committed
fix: Handle rabbitmqs:// scheme in MassTransit URI parsing
MassTransit generates rabbitmqs:// URIs for SSL connections to RabbitMQ. Add case "rabbitmqs" fallthrough to ParseRabbitMqUri so these URIs get the underscore-splitting logic instead of falling through to the default last-path-segment extraction.
1 parent 72144eb commit ffc2f88

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

src/Agent/NewRelic/Agent/Extensions/NewRelic.Agent.Extensions/Helpers/MassTransit.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ private static MassTransitQueueData GetQueueDataFromUri(Uri sourceAddress)
8989
break;
9090

9191
case "rabbitmq":
92+
case "rabbitmqs":
9293
ParseRabbitMqUri(sourceAddress, data);
9394
break;
9495

tests/Agent/UnitTests/NewRelic.Agent.Extensions.Tests/Helpers/MassTransitHelperTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ public class MassTransitHelperTests
1717
[TestCase("rabbitmq://localhost/SomeHostname_MassTransitTest_bus_myqueuename?temporary=true", "myqueuename")]
1818
[TestCase("rabbitmq://localhost/SomeHostname_MassTransitTest_bus_myqueuename", "myqueuename")]
1919
[TestCase("rabbitmq://localhost/bogus", "bogus")]
20+
// RabbitMQ SSL
21+
[TestCase("rabbitmqs://host/vhost/Hostname_App_bus_myqueue?temporary=true", "myqueue")]
22+
[TestCase("rabbitmqs://host/my-queue", "my-queue")]
2023
// Kafka
2124
[TestCase("kafka://broker:9092/kafka/my-topic", "my-topic")]
2225
[TestCase("kafka://broker/kafka/orders.events.v1", "orders.events.v1")]
@@ -60,6 +63,10 @@ public void GetQueueName(Uri uri, string expectedQueueName)
6063
[TestCase("rabbitmq://localhost/NRHXPSQL3_MassTransitTest_bus_myqueuename", MessageBrokerDestinationType.Queue)]
6164
// RabbitMQ without underscores + temporary
6265
[TestCase("rabbitmq://localhost/myqueue?temporary=true", MessageBrokerDestinationType.TempQueue)]
66+
// RabbitMQ SSL
67+
[TestCase("rabbitmqs://host/vhost/Hostname_App_bus_myqueue?temporary=true", MessageBrokerDestinationType.TempQueue)]
68+
[TestCase("rabbitmqs://host/vhost/Hostname_App_bus_myqueue", MessageBrokerDestinationType.Queue)]
69+
[TestCase("rabbitmqs://host/my-queue", MessageBrokerDestinationType.Queue)]
6370
// Kafka (always Topic)
6471
[TestCase("kafka://broker:9092/kafka/my-topic", MessageBrokerDestinationType.Topic)]
6572
[TestCase("kafka://broker/kafka/orders.events.v1", MessageBrokerDestinationType.Topic)]

0 commit comments

Comments
 (0)