public RabbitMqDistributedTracingTestsBase(TFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; fixture.TestLogger = output; // RabbitMQ SendRecieve uses the BasicGet method to receive, which does not process incoming tracing payloads _fixture.AddCommand($"RabbitMQ SendReceive {_sendReceiveQueue} TestMessage"); // RabbitMQ SendRecieveWithEventingConsumer uses the HandleBasicDeliverWrapper on the receiving side, which does process incoming tracing headers // We execute the method twice to make sure this issue stays fixed: https://github.com/newrelic/newrelic-dotnet-agent/issues/464 _fixture.AddCommand($"RabbitMQ SendReceiveWithEventingConsumer {_sendReceiveQueue} EventingConsumerTestMessageOne"); _fixture.AddCommand($"RabbitMQ SendReceiveWithEventingConsumer {_sendReceiveQueue} EventingConsumerTestMessageTwo"); // This is needed to avoid a hang on shutdown in the test app _fixture.AddCommand("RabbitMQ Shutdown"); fixture.Actions ( setupConfiguration: () => { var configModifier = new NewRelicConfigModifier(fixture.DestinationNewRelicConfigFilePath); configModifier.ForceTransactionTraces(); configModifier.SetOrDeleteDistributedTraceEnabled(true); configModifier.SetOrDeleteSpanEventsEnabled(true); } ); fixture.Initialize(); }
public RabbitMqDistributedTracingTestsBase(TFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; fixture.TestLogger = output; _fixture.AddCommand($"RabbitMQ SendReceive {_sendReceiveQueue} TestMessage"); _fixture.AddCommand($"RabbitMQ SendReceiveWithEventingConsumer {_sendReceiveQueue} EventingConsumerTestMessage"); // This is needed to avoid a hang on shutdown in the test app _fixture.AddCommand("RabbitMQ Shutdown"); fixture.Actions ( setupConfiguration: () => { var configModifier = new NewRelicConfigModifier(fixture.DestinationNewRelicConfigFilePath); configModifier.ForceTransactionTraces(); configModifier.SetOrDeleteDistributedTraceEnabled(true); configModifier.SetOrDeleteSpanEventsEnabled(true); } ); fixture.Initialize(); }
protected RabbitMqTestsBase(TFixture fixture, ITestOutputHelper output) : base(fixture) { _fixture = fixture; _fixture.TestLogger = output; _fixture.AddCommand($"RabbitMQ SendReceive {_sendReceiveQueue} TestMessage"); _fixture.AddCommand($"RabbitMQ SendReceiveTempQueue TempQueueTestMessage"); _fixture.AddCommand($"RabbitMQ QueuePurge {_purgeQueue}"); _fixture.AddCommand($"RabbitMQ SendReceiveTopic {_testExchangeName} {_sendReceiveTopic} TopicTestMessage"); // This is needed to avoid a hang on shutdown in the test app _fixture.AddCommand("RabbitMQ Shutdown"); _fixture.Actions ( setupConfiguration: () => { var configModifier = new NewRelicConfigModifier(fixture.DestinationNewRelicConfigFilePath); configModifier.ForceTransactionTraces(); } ); _fixture.Initialize(); }