We’ve implemented the .NET tracker and are sending events using the global singleton tracker instance. There are now certain situations where we’d like to send events to a Snowplow Micro instance for QA. This isn’t a separate environment, but a particular situation where we want to intercept the event and not send it to production.
In order to switch from our production tracker to Snowplow Micro, I look for the particular scenario where it should go to Micro and stop the tracker and restart with new collector URI. The reverse occurs if an event which should go to production then comes in. This works fine in the situation an environment is not receiving any production traffic and there is then a switchover after passing automated testing. However, I can see an edge case where a mixture of events occurs where some go to production and some to Micro. This would result in the tracker being repeatedly stopped and started with different endpoints which feels inefficient and likely to cause issues.
Is it possible to run two instances of the tracker and programmatically switch between the two? It looks like the use of a global singleton instance which is instantiated with the collector URI is intended to not allow this?