ASB + ServiceControl: Custom queue naming works except ServiceControl.ThroughputData, and servicecontrol.contracts.* topics are created with no subscriptions

We are deploying ServiceControl on Azure Service Bus Premium and are using a shared namespace across environments.

We have successfully configured ServiceControl queues to follow our organization’s naming convention, for example:

queue-d-domain-servicecontrol
queue-d-domain-servicecontrol.errors
queue-d-domain-servicecontrol.staging

queue-d-domain-servicecontrol.audit
queue-d-domain-servicecontrol.audit.errors

queue-d-domain-monitoring

queue-d-domain-servicecontrol-msgserror
queue-d-domain-servicecontrol-msgsaudit

The custom naming convention is correctly honored for the Error, Audit, and Monitoring instances.

However, we initially observed that the throughput queue was still being created as:

ServiceControl.ThroughputData

We could not find a corresponding setting in SCMU and the generated config files did not contain an explicit throughput queue setting.

After manually adding:

LicensingComponent/ServiceControlThroughputDataQueue=queue-d-domain-servicecontrol.throughputdata

and

Monitoring/ServiceControlThroughputDataQueue=queue-d-domain-servicecontrol.throughputdata

and then running:

ServiceControl.exe -s

the custom throughput queue was created and Monitoring reports:

“Listening on queue queue-d-domain-servicecontrol.throughputdata”

Questions regarding the throughput queue:

  1. Is manually updating the config files and re-running setup the recommended/supported approach?
  2. Is there a supported SCMU-based way to configure the throughput queue?
  3. Is there a reason the throughput queue configuration is not exposed similarly to the Error Queue, Audit Queue, and Instance Names?

We also observed ServiceControl creating topics similar to:

servicecontrol.contracts.messagefailed
servicecontrol.contracts.messagefailureresolvedbyretry
servicecontrol.contracts.customcheckfailed
servicecontrol.contracts.heartbeatstopped

These topics:

  • do not follow our naming convention
  • currently have no subscriptions
  • exist in a shared namespace used across multiple environments

Questions regarding the topics:

  1. Where and how are these topics used?
  2. Are they required when only using ServiceControl, ServicePulse, and ServiceInsight?
  3. Can they be safely deleted if there are no subscriptions?
  4. Is there any supported way to customize or namespace these topic names for environments sharing a single Azure Service Bus namespace?

Thanks in advance for any guidance.

  1. Yes, manually updating the config files is currently the only supported way to update this setting.
  2. There is an issue to enable updating this setting in SCMU.
  3. It is in our backlog. Please subscribe to the issue to be notified when we start work on it.
  1. These topics are created for ServiceControl Integration events.
  2. They are only used to subscribe to events that happen in your system. ServiceControl, ServicePulse, and ServiceInsight do not rely on them directly.
  3. We do not recommend deleting them, as every time ServiceControl is updated it will recreate them.
  4. If you are not using these events you can disable integration event publishing and ServiceControl will not create the topics.

Please let us know if you have any other questions.

Thank you @MikeMinutillo , but how about naming conventions of the topics for service control integration events, as mentioned we use a single ASB namespace for all the environments (dev, and qa), so how do i make them environment specific, similar to what i have done for the queues.