You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/registry/attributes/service.md
+28-6Lines changed: 28 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,12 +11,15 @@ A service instance.
11
11
12
12
| Key | Stability | Value Type | Description | Example Values |
13
13
|---|---|---|---|---|
14
-
| <aid="service-instance-id"href="#service-instance-id">`service.instance.id`</a> || string | The string ID of the service instance. [1]|`627cc493-f310-47de-96bd-71410b7dec09`|
15
-
| <aid="service-name"href="#service-name">`service.name`</a> || string | Logical name of the service. [2]|`shoppingcart`|
16
-
| <aid="service-namespace"href="#service-namespace">`service.namespace`</a> || string | A namespace for `service.name`. [3]|`Shop`|
14
+
| <aid="service-criticality"href="#service-criticality">`service.criticality`</a> || string | The operational criticality of the service. [1]|`critical`; `high`; `medium`; `low`|
15
+
| <aid="service-instance-id"href="#service-instance-id">`service.instance.id`</a> || string | The string ID of the service instance. [2]|`627cc493-f310-47de-96bd-71410b7dec09`|
16
+
| <aid="service-name"href="#service-name">`service.name`</a> || string | Logical name of the service. [3]|`shoppingcart`|
17
+
| <aid="service-namespace"href="#service-namespace">`service.namespace`</a> || string | A namespace for `service.name`. [4]|`Shop`|
17
18
| <aid="service-version"href="#service-version">`service.version`</a> || string | The version string of the service API or implementation. The format is not defined by these conventions. |`2.0.0`; `a01dbef8a`|
18
19
19
-
**[1]`service.instance.id`:** MUST be unique for each instance of the same `service.namespace,service.name` pair (in other words
20
+
**[1]`service.criticality`:** This attribute enables classification of services based on their operational importance, allowing observability platforms to implement criticality-aware tracing, monitoring, and sampling strategies. By standardizing service criticality, organizations can implement adaptive sampling rates (e.g., 100% for critical, 10% for low-priority services), optimize telemetry costs by reducing data from non-critical services, improve incident response by surfacing critical service traces first, and enable better capacity planning and resource allocation.
21
+
22
+
**[2]`service.instance.id`:** MUST be unique for each instance of the same `service.namespace,service.name` pair (in other words
20
23
`service.namespace,service.name,service.instance.id` triplet MUST be globally unique). The ID helps to
21
24
distinguish instances of the same service that exist at the same time (e.g. instances of a horizontally scaled
22
25
service).
@@ -43,6 +46,25 @@ However, Collectors can set the `service.instance.id` if they can unambiguously
43
46
for that telemetry. This is typically the case for scraping receivers, as they know the target address and
44
47
port.
45
48
46
-
**[2]`service.name`:** MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with [`process.executable.name`](process.md), e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`.
49
+
**[3]`service.name`:** MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with [`process.executable.name`](process.md), e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`.
50
+
51
+
**[4]`service.namespace`:** A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.
52
+
53
+
---
54
+
55
+
`service.criticality` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
56
+
57
+
| Value | Description | Stability |
58
+
|---|---|---|
59
+
|`critical`| Service is business-critical; downtime directly impacts revenue, user experience, or core functionality. [5]||
60
+
|`high`| Service is important but has degradation tolerance or fallback mechanisms. [6]||
61
+
|`low`| Service is non-essential to core operations; used for background tasks or internal tools. [7]||
62
+
|`medium`| Service provides supplementary functionality; degradation has limited user impact. [8]||
63
+
64
+
**[5]:** Examples include payment processing, authentication, and primary user-facing APIs.
65
+
66
+
**[6]:** Examples include shopping cart, search, and recommendation engines.
67
+
68
+
**[7]:** Examples include batch processors, cleanup jobs, and internal dashboards.
47
69
48
-
**[3]`service.namespace`:**A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.
70
+
**[8]:**Examples include analytics, reporting, and non-essential integrations.
Copy file name to clipboardExpand all lines: docs/registry/entities/service.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,6 +18,7 @@
18
18
| Identity |[`service.name`](/docs/registry/attributes/service.md)||`Required`| string | Logical name of the service. [1]|`shoppingcart`|
19
19
| Identity |[`service.instance.id`](/docs/registry/attributes/service.md)||`Recommended`| string | The string ID of the service instance. [2]|`627cc493-f310-47de-96bd-71410b7dec09`|
20
20
| Identity |[`service.namespace`](/docs/registry/attributes/service.md)||`Recommended`| string | A namespace for `service.name`. [3]|`Shop`|
21
+
| Description |[`service.criticality`](/docs/registry/attributes/service.md)||`Recommended`| string | The operational criticality of the service. [4]|`critical`; `high`; `medium`; `low`|
21
22
| Description |[`service.version`](/docs/registry/attributes/service.md)||`Recommended`| string | The version string of the service API or implementation. The format is not defined by these conventions. |`2.0.0`; `a01dbef8a`|
22
23
23
24
**[1]`service.name`:** MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with [`process.executable.name`](process.md), e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`.
@@ -51,4 +52,6 @@ port.
51
52
52
53
**[3]`service.namespace`:** A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.
53
54
55
+
**[4]`service.criticality`:** This attribute enables classification of services based on their operational importance, allowing observability platforms to implement criticality-aware tracing, monitoring, and sampling strategies. By standardizing service criticality, organizations can implement adaptive sampling rates (e.g., 100% for critical, 10% for low-priority services), optimize telemetry costs by reducing data from non-critical services, improve incident response by surfacing critical service traces first, and enable better capacity planning and resource allocation.
Copy file name to clipboardExpand all lines: docs/resource/README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,6 +84,7 @@ as specified in the [Resource SDK specification](https://github.com/open-telemet
84
84
| Identity |[`service.name`](/docs/registry/attributes/service.md)||`Required`| string | Logical name of the service. [1]|`shoppingcart`|
85
85
| Identity |[`service.instance.id`](/docs/registry/attributes/service.md)||`Recommended`| string | The string ID of the service instance. [2]|`627cc493-f310-47de-96bd-71410b7dec09`|
86
86
| Identity |[`service.namespace`](/docs/registry/attributes/service.md)||`Recommended`| string | A namespace for `service.name`. [3]|`Shop`|
87
+
| Description |[`service.criticality`](/docs/registry/attributes/service.md)||`Recommended`| string | The operational criticality of the service. [4]|`critical`; `high`; `medium`; `low`|
87
88
| Description |[`service.version`](/docs/registry/attributes/service.md)||`Recommended`| string | The version string of the service API or implementation. The format is not defined by these conventions. |`2.0.0`; `a01dbef8a`|
88
89
89
90
**[1]`service.name`:** MUST be the same for all instances of horizontally scaled services. If the value was not specified, SDKs MUST fallback to `unknown_service:` concatenated with [`process.executable.name`](process.md), e.g. `unknown_service:bash`. If `process.executable.name` is not available, the value MUST be set to `unknown_service`.
@@ -116,6 +117,8 @@ for that telemetry. This is typically the case for scraping receivers, as they k
116
117
port.
117
118
118
119
**[3]`service.namespace`:** A string value having a meaning that helps to distinguish a group of services, for example the team name that owns a group of services. `service.name` is expected to be unique within the same namespace. If `service.namespace` is not specified in the Resource then `service.name` is expected to be unique for all services that have no explicit namespace defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length namespace string is assumed equal to unspecified namespace.
120
+
121
+
**[4]`service.criticality`:** This attribute enables classification of services based on their operational importance, allowing observability platforms to implement criticality-aware tracing, monitoring, and sampling strategies. By standardizing service criticality, organizations can implement adaptive sampling rates (e.g., 100% for critical, 10% for low-priority services), optimize telemetry costs by reducing data from non-critical services, improve incident response by surfacing critical service traces first, and enable better capacity planning and resource allocation.
0 commit comments