-
Notifications
You must be signed in to change notification settings - Fork 277
Initial cut at modelling service entities based on SIG discussions. #2963
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
| **type:** `service` | ||
|
|
||
| **Description:** A service instance. | ||
| **Description:** A logical, distinct, component that makes up a system. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| **Description:** A logical, distinct, component that makes up a system. | |
| **Description:** A logical, distinct component that makes up a system. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| **Description:** A logical, distinct, component that makes up a system. | |
| **Description:** A logical unit of an application or system that performs a specific function. |
My AI discussions sometimes used "system", "application" and "distributed system" as alternatives. I want to like system but I also get some weird feeling about it. The more I read.. the more I tend to prefer application more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
|
||
| # Service semantic conventions | ||
|
|
||
| Service is a logical component of an application that prodcues telemetry |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Service is a logical component of an application that prodcues telemetry | |
| Service is a logical component of an application that produces telemetry |
| - An `service.namespace` is an entire system of components designed for | ||
| end-users or other applications to leverage. | ||
| - A `service` is one of the logical, distinct components that make up the | ||
| application, typically running as a separate process or microservice. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the word "process" makes me think of service.instance
| application, typically running as a separate process or microservice. | |
| application. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree on not using the term "process" to avoid the confusion, but removing latter part makes the sentence a bit vague for me. I would replace the latter part with another phrase. Example here:
| application, typically running as a separate process or microservice. | |
| application, typically running as a bundle of the instances that run the same container image for load balancing. |
| brief: > | ||
| A system of components designed for end-users or other applications. | ||
| note: > | ||
| A `service.namespace` is system, product or application that is |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A `service.namespace` is system, product or application that is | |
| A `service.namespace` is a system, product or application that is |
| A service instance. | ||
| A logical, distinct, component that makes up a system. | ||
| note: > | ||
| A `service` is a logical component used in a system, product or |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A `service` is a logical component used in a system, product or | |
| A service is a logical component used in a system, product or |
| | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | | ||
| |---|---|---|---|---|---| | ||
| | [`service.name`](/docs/registry/attributes/service.md) | string | Logical name of the service. [1] | `shoppingcart` | `Required` |  | | ||
| | [`service.version`](/docs/registry/attributes/service.md) | string | The version string of the service API or implementation. The format is not defined by these conventions. | `2.0.0`; `a01dbef8a` | `Recommended` |  | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| | [`service.version`](/docs/registry/attributes/service.md) | string | The version string of the service API or implementation. The format is not defined by these conventions. | `2.0.0`; `a01dbef8a` | `Recommended` |  | | |
| | [`service.version`](/docs/registry/attributes/service.md) | string | The version string of the service component. The format is not defined by these conventions. | `2.0.0`; `a01dbef8a` | `Recommended` |  | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I asked AI about how our model relates to k8s constructs. Here's the overview (which nicely aligns with our vision/goal/discussions so far)
| OpenTelemetry Attribute | Kubernetes Construct | Description |
|---|---|---|
service.name |
Deployment or Service |
Represents the logical name of the application or microservice. Typically aligns with a Kubernetes Deployment or Service name. |
service.namespace |
Namespace |
Groups related services together. Aligns with Kubernetes namespaces for logical organization and isolation. |
service.instance.id |
Container ID |
Uniquely identifies a specific instance of the service. Maps to the container runtime ID for the service's container. |
service.version |
Container Image Tag |
Tracks the version of the service. Maps to the container image tag specified in the Deployment spec or Pod template. |
| **type:** `service` | ||
|
|
||
| **Description:** A service instance. | ||
| **Description:** A logical, distinct, component that makes up a system. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| **Description:** A logical, distinct, component that makes up a system. | |
| **Description:** A logical unit of an application or system that performs a specific function. |
My AI discussions sometimes used "system", "application" and "distributed system" as alternatives. I want to like system but I also get some weird feeling about it. The more I read.. the more I tend to prefer application more.
| **type:** `service` | ||
|
|
||
| **Description:** A service instance. | ||
| **Description:** A logical, distinct, component that makes up a system. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| type: entity | ||
| name: service.instance | ||
| brief: > | ||
| A distinct instance of a service component. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A distinct instance of a service component. | |
| A unique instance of a logical service. |
Maybe? To connect and reinforce that a service is a logical component while a instance is not.
| brief: > | ||
| A distinct instance of a service component. | ||
| note: > | ||
| A `service.instance` is a specific instance of a component. For example, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A `service.instance` is a specific instance of a component. For example, | |
| A `service.instance` uniquely identifies an instance of a logical service. For example, |
| A distinct instance of a service component. | ||
| note: > | ||
| A `service.instance` is a specific instance of a component. For example, | ||
| a specific kubernetes container that is part of a kuebrnetes deployment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| a specific kubernetes container that is part of a kuebrnetes deployment | |
| a container that is part of a kubernetes deployment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would suggest beginning with capital letter for proper nouns ("Kubernetes")
| type: entity | ||
| name: service.namespace | ||
| brief: > | ||
| A system of components designed for end-users or other applications. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A system of components designed for end-users or other applications. | |
| Groups related services that compose a system or application under a common namespace. |
| brief: > | ||
| A system of components designed for end-users or other applications. | ||
| note: > | ||
| A `service.namespace` is system, product or application that is |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| A `service.namespace` is system, product or application that is | |
| A `service.namespace` can be used to logically organize and group related services under a common namespace. |
Maybe?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just took a glance for the update. I'll add more comments if I have any findings.
| - An `service.namespace` is an entire system of components designed for | ||
| end-users or other applications to leverage. | ||
| - A `service` is one of the logical, distinct components that make up the | ||
| application, typically running as a separate process or microservice. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree on not using the term "process" to avoid the confusion, but removing latter part makes the sentence a bit vague for me. I would replace the latter part with another phrase. Example here:
| application, typically running as a separate process or microservice. | |
| application, typically running as a bundle of the instances that run the same container image for load balancing. |
| A distinct instance of a service component. | ||
| note: > | ||
| A `service.instance` is a specific instance of a component. For example, | ||
| a specific kubernetes container that is part of a kuebrnetes deployment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would suggest beginning with capital letter for proper nouns ("Kubernetes")

Fixes #2880
Changes
serviceentity to consist of three components and describes eachImportant
Pull requests acceptance are subject to the triage process as described in Issue and PR Triage Management.
PRs that do not follow the guidance above, may be automatically rejected and closed.
Merge requirement checklist
[chore]