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

proposal to make code.stacktrace (or code.* namespace) stable #1377

Open
4 tasks
SylvainJuge opened this issue Sep 2, 2024 · 4 comments
Open
4 tasks

proposal to make code.stacktrace (or code.* namespace) stable #1377

SylvainJuge opened this issue Sep 2, 2024 · 4 comments

Comments

@SylvainJuge
Copy link
Contributor

SylvainJuge commented Sep 2, 2024

Area(s)

area:code

Is your change request related to a problem? Please describe.

The code.stacktrace is currently experimental, and we think it would make sense to make it stable.

Current known usages:

Making this attribute stable would allow making features that rely on it stable, relying on an experimental/incubating attribute transitively forces the feature as experimental/incubating.

Describe the solution you'd like

Making the code.stacktrace attribute stable, or making the whole code.* namespace stable.

Describe alternatives you've considered

Making the whole code.* attributes stable would be an alternative as most of those fields are not ambiguous even if some of their values are platform-specific (the code.stacktrace being a good example).

For now keeping the scope to code.stacktrace is a way to reduce the scope as an attempt to making this change easier.

Additional context

Making this attribute stable was discussed in August 29th Java SIG Meeting where the topic was "how to make a component in java contrib stable".

Steps and progress

@SylvainJuge SylvainJuge changed the title proposal to make code.stacktrace stable proposal to make code.stacktrace (or code.* namespace) stable Sep 19, 2024
@SylvainJuge
Copy link
Contributor Author

After a bit of research on trying to find usages of fields in the code.* namespace, I found that we have:

In addition, as described in #1012 we know that the code.function, code.filepath and code.lineno have equivalent ECS (Elastic Common Schema), so while it does not count as direct usage, usages of those equivalent ECS fields can be mapped 1:1 to otel semconv.

When searching for text occurrences of those code.* attributes to see if there are other definitions I did not find anything that would contradict the current definitions, which means there is little ambiguity or things left to interpretation.
For example, I found similar references in:

Also, the value and format code.stacktrace is platform-specific and might be left to ambiguity or further specification, however it uses exactly the same definition of exception.stacktrace which is already stable.

@brettmc
Copy link

brettmc commented Sep 25, 2024

In support of this proposal and as described above, PHP SIG uses code.function, code.namespace, code.filepath and code.lineno extensively throughout our auto-instrumentation packages. We find them very useful and would support them being made stable.

@trask
Copy link
Member

trask commented Sep 26, 2024

I've added this to the next Semantic Convention SIG agenda to ask what the semconv maintainers think

@trask
Copy link
Member

trask commented Sep 30, 2024

it turned out this was discussed previously in Semantic Convention SIG 9/9/2024 😄

@AlexanderWert @SylvainJuge do you want to move forward with this plan? if so, can you create an issue to recruit members and create a new @open-telemetry/semconv-code-approvers team?

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

No branches or pull requests

4 participants