From 6dfcde6482efb15289c864eef132fed13e05e192 Mon Sep 17 00:00:00 2001 From: Nick Gallegos Date: Thu, 12 Feb 2026 13:05:09 -0700 Subject: [PATCH 1/4] Document support for hierarchical entities in ServiceControl --- servicecontrol/transports.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/servicecontrol/transports.md b/servicecontrol/transports.md index cc33e88e7cd..16c8e2f841a 100644 --- a/servicecontrol/transports.md +++ b/servicecontrol/transports.md @@ -61,6 +61,12 @@ As of versions 4.33.3 and 5.0.5 of ServiceControl, support for partitioned entit * `EnablePartitioning=` — Configures the transport to create entities that support partitioning. The default value is `false`. +### Enabling Hierarchical Entities + +As of version 6.12.0 of ServiceControl, support for hierarchical entities can be enabled by adding the following connection string parameter: + +* `HierarchyNamespace=` — Configures the transport to use [a hierarchy namespace prefix](/transports/azure-service-bus/configuration.md#entity-creation-hierarchy-namespace). The default value is `null`, which means no hierarchy namespace is used. + ### Example connection string ```text From 263ff986528c07ace95cc89ef60f2f3b5c328367 Mon Sep 17 00:00:00 2001 From: Nick Gallegos Date: Thu, 12 Feb 2026 13:17:36 -0700 Subject: [PATCH 2/4] Add note in the ASB transport config doc to consider ServiceControl implications --- .../configuration_entity-hierarchy_asbs_[6,).partial.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/transports/azure-service-bus/configuration_entity-hierarchy_asbs_[6,).partial.md b/transports/azure-service-bus/configuration_entity-hierarchy_asbs_[6,).partial.md index d596109982f..da3d318475e 100644 --- a/transports/azure-service-bus/configuration_entity-hierarchy_asbs_[6,).partial.md +++ b/transports/azure-service-bus/configuration_entity-hierarchy_asbs_[6,).partial.md @@ -8,6 +8,9 @@ snippet: azure-service-bus-hierarchynamespace-options Doing so will prefix all entities with the `{HierarchyNamespace}/{original-entity-path}` format. +> [!NOTE] +> Using a hierarchy namespace has [implications for ServiceControl configurations](/servicecontrol/transports.md#azure-service-bus-enabling-hierarchical-entities). + #### Escaping the hierarchy In scenarios when a message must be sent outside of the hierarchy, designated message types or interfaces can defined and excluded from the hierarchy using the `HierarchyNamespaceOptions.ExcludeMessageType()` method. From 098d20968ed0bcaf4bbc90b1a09bb9075962e119 Mon Sep 17 00:00:00 2001 From: Nick Gallegos Date: Thu, 12 Feb 2026 15:45:52 -0700 Subject: [PATCH 3/4] Add documentation for using previous versions of ServiceControl and for using one ServiceControl instance for all hierarchies --- servicecontrol/transports.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/servicecontrol/transports.md b/servicecontrol/transports.md index 16c8e2f841a..15d83fefb93 100644 --- a/servicecontrol/transports.md +++ b/servicecontrol/transports.md @@ -67,6 +67,24 @@ As of version 6.12.0 of ServiceControl, support for hierarchical entities can be * `HierarchyNamespace=` — Configures the transport to use [a hierarchy namespace prefix](/transports/azure-service-bus/configuration.md#entity-creation-hierarchy-namespace). The default value is `null`, which means no hierarchy namespace is used. +This isolates the ServiceControl instance to the hierarchy, so an instance-per-hierarchy would be required to monitor multiple hierarchies. + +#### Configuring a single ServiceControl instance for multiple hierarchies + +Endpoints configured with a hierarchy namespace will use error, audit, and monitoring queues prefixed with the hierarchy namespace. To monitor all hierarchies with a single ServiceControl installation: +1. Configure ServiceControl error, audit, and monitoring instances as you would without using a hierarchy namespace. +2. For each hierarchy-specific error, audit, and monitoring queue that you wish to monitor centrally, configure [auto-forwarding for their corresponding queues in azure](https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-auto-forward#update-the-auto-forward-setting-for-an-existing-queue) to forward messages to the central error, audit, and monitoring queues. + +#### Previous versions + +Previous versions of ServiceControl can still be configured on a per-hierarcy basis. At a minimum, the error queue name needs the prefix prepended to the queue name, separated by a `/`. If monitoring or auditing are enabled, they also need to be modified. + +For example, given a hierarchy namespace of `my-hierarchy` and error, audit, and monitoring queues named `error`, `audit`, and `monitoring`: +- The [error queue name](/servicecontrol/servicecontrol-instances/configuration.md#transport-servicebuserrorqueue) would need to be set to `my-hierarchy/error`. +- The [audit queue name](/servicecontrol/audit-instances/configuration.md#transport-servicebusauditqueue) would need to be set to `my-hierarchy/audit`. +- The [monitoring queue name](/servicecontrol/monitoring-instances/configuration.md#transport-monitoringerrorqueue) would need to be set to `my-hierarchy/monitoring`. + + ### Example connection string ```text From 764295ba37f0fc178c268ee6a35ef12056236770 Mon Sep 17 00:00:00 2001 From: Nick Gallegos Date: Thu, 12 Feb 2026 16:01:30 -0700 Subject: [PATCH 4/4] Remove documentation on SC v6.12.0 - will be adding a separate PR for that --- servicecontrol/transports.md | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/servicecontrol/transports.md b/servicecontrol/transports.md index 15d83fefb93..25603f49d42 100644 --- a/servicecontrol/transports.md +++ b/servicecontrol/transports.md @@ -63,9 +63,14 @@ As of versions 4.33.3 and 5.0.5 of ServiceControl, support for partitioned entit ### Enabling Hierarchical Entities -As of version 6.12.0 of ServiceControl, support for hierarchical entities can be enabled by adding the following connection string parameter: +When [a hierarchy namespace prefix](/transports/azure-service-bus/configuration.md#entity-creation-hierarchy-namespace) is configured on endpoints, ServiceControl needs to be configured for the hierarchy namespace to monitor those endpoints. -* `HierarchyNamespace=` — Configures the transport to use [a hierarchy namespace prefix](/transports/azure-service-bus/configuration.md#entity-creation-hierarchy-namespace). The default value is `null`, which means no hierarchy namespace is used. +At a minimum, the error queue name needs the prefix prepended to the queue name, separated by a `/`. If monitoring or auditing are enabled, they also need to be modified. + +For example, given a hierarchy namespace of `my-hierarchy` and error, audit, and monitoring queues named `error`, `audit`, and `monitoring`: +- The [error queue name](/servicecontrol/servicecontrol-instances/configuration.md#transport-servicebuserrorqueue) would need to be set to `my-hierarchy/error`. +- The [audit queue name](/servicecontrol/audit-instances/configuration.md#transport-servicebusauditqueue) would need to be set to `my-hierarchy/audit`. +- The [monitoring queue name](/servicecontrol/monitoring-instances/configuration.md#transport-monitoringerrorqueue) would need to be set to `my-hierarchy/monitoring`. This isolates the ServiceControl instance to the hierarchy, so an instance-per-hierarchy would be required to monitor multiple hierarchies. @@ -75,16 +80,6 @@ Endpoints configured with a hierarchy namespace will use error, audit, and monit 1. Configure ServiceControl error, audit, and monitoring instances as you would without using a hierarchy namespace. 2. For each hierarchy-specific error, audit, and monitoring queue that you wish to monitor centrally, configure [auto-forwarding for their corresponding queues in azure](https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-auto-forward#update-the-auto-forward-setting-for-an-existing-queue) to forward messages to the central error, audit, and monitoring queues. -#### Previous versions - -Previous versions of ServiceControl can still be configured on a per-hierarcy basis. At a minimum, the error queue name needs the prefix prepended to the queue name, separated by a `/`. If monitoring or auditing are enabled, they also need to be modified. - -For example, given a hierarchy namespace of `my-hierarchy` and error, audit, and monitoring queues named `error`, `audit`, and `monitoring`: -- The [error queue name](/servicecontrol/servicecontrol-instances/configuration.md#transport-servicebuserrorqueue) would need to be set to `my-hierarchy/error`. -- The [audit queue name](/servicecontrol/audit-instances/configuration.md#transport-servicebusauditqueue) would need to be set to `my-hierarchy/audit`. -- The [monitoring queue name](/servicecontrol/monitoring-instances/configuration.md#transport-monitoringerrorqueue) would need to be set to `my-hierarchy/monitoring`. - - ### Example connection string ```text