Skip to content
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

add User-agent OS attributes #1434

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

rogercoll
Copy link
Contributor

Fixes #1433

Changes

Please provide a brief description of the changes here.

Note: if the PR is touching an area that is not listed in the existing areas, or the area does not have sufficient domain experts coverage, the PR might be tagged as experts needed and move slowly until experts are identified.

Merge requirement checklist

@rogercoll
Copy link
Contributor Author

The PR is mostly a copy and paste from the OS attributes current definition to the user_agent's attributes, is there a way to reference them but applying the "user_agent" prefix?

@rogercoll rogercoll marked this pull request as ready for review October 1, 2024 07:33
@rogercoll rogercoll requested review from a team as code owners October 1, 2024 07:33
Copy link

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions github-actions bot added the Stale label Oct 18, 2024

## User-agent OS Attributes

Describes the OS user-agent attributes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please describe the use-case for these attributes? is there any instrumentation or semantic convention that's supposed to populate it?

We usually add attributes along with the convention (span/metric/resource/event) that uses them - this usually results in more specific attribute definition and more clarity for those who want to populate the attribute on other conventions.

So, could we define such convention and/or document the use-case in some other way?

Copy link
Contributor Author

@rogercoll rogercoll Oct 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please describe the use-case for these attributes?

For example, to understand which are the source OSes that are making requests to your system. This could be used from a Nginx Ingress Controller log, which records all requests UserAgent's.

is there any instrumentation or semantic convention that's supposed to populate it?

There is an ongoing PR in the collector: open-telemetry/opentelemetry-collector-contrib#35458

We usually add attributes along with the convention (span/metric/resource/event) that uses them - this usually results in more specific attribute definition and more clarity for those who want to populate the attribute on other conventions.

From the collector point of view, these attributes are agnostic to its location, they will be extracted from any defined context (span/metric/resource/event). I would like to use it to populate a Nginx Ingress Controller event, but it is not defined in Semconv yet (#982). Would it make sense to add a Nginx log example and explain how these attributes could be extracted?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lmolkova How could we proceed with this PR? In which section could I add the use-case? brief field?

If a proof of concept is needed beforehand, we could unblock open-telemetry/opentelemetry-collector-contrib#35886 (comment) by just referencing this PR for now.

brief: >
The operating system type.
stability: experimental
- id: user_agent.os.description
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this needed? I don't see it in ECS, and I'm not sure what you would populate it with via https://github.com/ua-parser/uap-core

The version string of the operating system as defined in
[Version Attributes](/docs/resource/README.md#version-attributes).
examples: ['14.2.1', '18.04.1']
- id: user_agent.os.build_id
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same question for this attribute, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

Add User Agent OS attributes
4 participants