semantic-conventions/semantic_conventions/resource/service.yaml

51 lines
2.3 KiB
YAML

groups:
- id: service
prefix: service
brief: >
A service instance.
attributes:
- id: name
type: string
required: always
brief: >
Logical name of the service.
note: >
MUST be the same for all instances of horizontally scaled services.
examples: ["shoppingcart"]
- id: namespace
type: string
brief: >
A namespace for `service.name`.
note: >
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.
examples: ["Shop"]
- id: instance.id
type: string
required: always
brief: >
The string ID of the service instance.
note: >
MUST be unique for each instance of the same `service.namespace,service.name` pair
(in other words `service.namespace,service.name,service.id` triplet MUST be globally unique).
The ID helps to distinguish instances of the same service that exist at the same time
(e.g. instances of a horizontally scaled service). It is preferable for the ID to be persistent
and stay the same for the lifetime of the service instance, however it is acceptable that
the ID is ephemeral and changes during important lifetime events for the service
(e.g. service restarts).
If the service has no inherent unique ID that can be used as the value of this attribute
it is recommended to generate a random Version 1 or Version 4 RFC 4122 UUID
(services aiming for reproducible UUIDs may also use Version 5, see RFC 4122
for more recommendations).
examples: ["627cc493-f310-47de-96bd-71410b7dec09"]
- id: version
type: string
brief: >
The version string of the service API or implementation.
examples: ["2.0.0"]