-
Notifications
You must be signed in to change notification settings - Fork 183
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
Define a common algorithm for service.instance.id #312
Define a common algorithm for service.instance.id #312
Conversation
Linters be linters: one complains that the readme.md needs to be reformatted, the other complains about a lack of empty line (which exists in the source of the information). Is there a way to ignore a linter, or to force the new line to be added to the output md file? |
I believe this is ready for a wider review. I'll fix the changelog conflicts prior to merging. |
Thinking of ECS alignment / merger in this context. In ECS there is the The I can also create a separate issue for that, if it's preferable. |
I would prefer that, if possible. |
@jpkrohling you might be interested in this: containerd/containerd#8185, I can add some more context if this helps for solving your questions to tell 2 containers apart within a container. |
Status: I got stuck on the container ID for some time and despite stateful and daemon sets being common, I'll treat them as cases that need to be handled manually by users or tooling (like the operator), recommending them to set the container name via semantic conventions for that. |
8d257da
to
2d23626
Compare
Status: I believe this is ready to go. I spent more time than I wanted on trying to find a good solution for stateful and daemon sets for Kubernetes, but I couldn't. I think the current spec is good enough for most of the cases out there, and with perhaps a change or two to the operator, we should have good coverage on the Kubernetes world as well. |
@jsuereth , @tigrannajaryan , @gouthamve , @pyohannes , can you please review this again? I'd like to wrap this up. |
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
64f274f
to
6b8421c
Compare
Implementations, such as SDKs, are recommended to generate a random Version 1 or Version 4 [RFC | ||
4122](https://www.ietf.org/rfc/rfc4122.txt) UUID, but are free to use an inherent unique ID as the source of | ||
this value if stability is desirable. In that case, the ID SHOULD be used as source of a UUID Version 5 and | ||
SHOULD use the following UUID as the namespace: `4d63009a-8d0f-11ee-aad7-4c796ed8e320`. |
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.
don't understand what it means to "use UUID as the namespace"
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.
UUID v5 has a namespace. Previous versions of the PR had an example showing this, but perhaps this would help see where this namespace is used: https://pkg.go.dev/github.com/google/uuid#NewSHA1
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 RFC also explains how namespace is used to generate a v5 UUID: https://datatracker.ietf.org/doc/html/rfc4122#page-13
…e detection `service.instance.id` is a recommended value. This commit adds it to the alibaba resource detector. It uses the `serial-number` value from the instance metadata, which has the description: ``` The serial number of the instance. Example: 4acd2b47-b328-4762-852f-998**** ``` Which alignes with the definition for `service.instance.id` from [here](open-telemetry/semantic-conventions#312) Part Of open-telemetry#2065 Signed-off-by: maryliag <marylia.gutierrez@grafana.com>
…e detection `service.instance.id` is a recommended value. This commit adds it to the alibaba resource detector. It uses the `serial-number` value from the instance metadata, which has the description: ``` The serial number of the instance. Example: 4acd2b47-b328-4762-852f-998**** ``` Which alignes with the definition for `service.instance.id` from [here](open-telemetry/semantic-conventions#312) Part Of open-telemetry#2065 Signed-off-by: maryliag <marylia.gutierrez@grafana.com>
…ction `service.instance.id` is a recommended value. Implements `service.instance.id` from [here](open-telemetry/semantic-conventions#312). Uses `randomUUID` as is similar implemented on other languages, such as the Java SDK. Part Of open-telemetry#2065 Signed-off-by: maryliag <marylia.gutierrez@grafana.com>
…e detection `service.instance.id` is a recommended value. This commit adds it to the alibaba resource detector. It uses the `serial-number` value from the instance metadata, which has the description: ``` The serial number of the instance. Example: 4acd2b47-b328-4762-852f-998**** ``` Which alignes with the definition for `service.instance.id` from [here](open-telemetry/semantic-conventions#312) Part Of open-telemetry#2065 Signed-off-by: maryliag <marylia.gutierrez@grafana.com>
…e detection `service.instance.id` is a recommended value. This commit adds it to the alibaba resource detector. It uses the `serial-number` value from the instance metadata, which has the description: ``` The serial number of the instance. Example: 4acd2b47-b328-4762-852f-998**** ``` Which alignes with the definition for `service.instance.id` from [here](open-telemetry/semantic-conventions#312) Part Of open-telemetry#2065 Signed-off-by: maryliag <marylia.gutierrez@grafana.com>
…ction `service.instance.id` is a recommended value. Implements `service.instance.id` from [here](open-telemetry/semantic-conventions#312). Uses `randomUUID` as is similar implemented on other languages, such as the Java SDK. Part Of open-telemetry#2065 Signed-off-by: maryliag <marylia.gutierrez@grafana.com>
Related to open-telemetry/opentelemetry-specification#311, built on top of open-telemetry/opentelemetry-specification#3222 by @jsuereth.
Changes
Enhances the existing
service.instance.id
convention with a common algorithm for SDKs to use when generating that value.Merge requirement checklist
Signed-off-by: Juraci Paixão Kröhling juraci@kroehling.de