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

Generate process metrics with semconv yaml #330

Merged
merged 15 commits into from
Jan 23, 2024

Conversation

braydonk
Copy link
Contributor

@braydonk braydonk commented Sep 18, 2023

Supplants #160

Changes

This PR adds a yaml version of the process metrics and changes the process metrics documentation to be generated from the yaml instead of hand-written.

Merge requirement checklist

@braydonk
Copy link
Contributor Author

I am unable to assign reviewers, these are the folks who commented on the previous PR. @joaopgrassi @mx-psi @jsuereth

@mx-psi
Copy link
Member

mx-psi commented Sep 19, 2023

Needs minor edits for CI to pass but content LGTM

@braydonk
Copy link
Contributor Author

Needs minor edits for CI to pass

Thanks @mx-psi those are fixed now, also added something to .yamllint to not scan node_modulues when running yamllint locally (didn't think it was worth a whole separate PR for something that small).

@braydonk
Copy link
Contributor Author

Looks like these workflows require approval now if someone can press the button for me. 😄

Copy link
Member

@ChrsMark ChrsMark left a comment

Choose a reason for hiding this comment

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

Content-wise lgtm!

@braydonk please file an issue for #330 (comment) so as to examine #260 as well :).

@braydonk
Copy link
Contributor Author

Thanks, I'll file an issue today and I'll put my thoughts on #260 in there!

@joaopgrassi
Copy link
Member

I will try to take a look at it today or tomorrow!

Copy link
Member

@joaopgrassi joaopgrassi left a comment

Choose a reason for hiding this comment

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

Here's a first pass

CHANGELOG.md Outdated Show resolved Hide resolved
model/metrics/process-metrics.yaml Outdated Show resolved Hide resolved
schema-next.yaml Outdated Show resolved Hide resolved
docs/system/process-metrics.md Show resolved Hide resolved
@braydonk
Copy link
Contributor Author

Sorry for the force-push, I should have merged instead of rebasing to update the branch. Force of habit

model/metrics/process-metrics.yaml Outdated Show resolved Hide resolved
model/metrics/process-metrics.yaml Outdated Show resolved Hide resolved
model/metrics/process-metrics.yaml Outdated Show resolved Hide resolved
@braydonk
Copy link
Contributor Author

braydonk commented Oct 11, 2023

It's possible I'm missing some kind of context from discussions around #51, but it seems like what I have here should be fine. With the paging fault type attribute for example: it is in the process.paging.faults namespace. I added that namespace, as the attribute was previously type (just type). process.paging is not any more of a proper namespace than process.paging.faults as far as I can tell.

If I'm indeed missing some extra guidance that's not present in #51, and this attribute should go to process.paging, then I can also rename it to fault_type. But I would like to understand why this and the other pointed out attributes are not following the decision from #51 already.

@joaopgrassi
Copy link
Member

joaopgrassi commented Oct 12, 2023

With the paging fault type attribute for example: it is in the process.paging.faults namespace

The thing I'm not sure is that process.paging.faults is the metric, not a namespace. From reading #51 and the linked issues, my interpretation is that attributes should go on the namespace , meaning process.paging.* in this case. Maybe we need clarification if attributes can also be nested under the "implicit metric namespace".

CC @open-telemetry/specs-semconv-approvers @open-telemetry/specs-semconv-maintainers

Edit: There's also this old issue which I think is related and was never closed with a decision #50

@braydonk
Copy link
Contributor Author

braydonk commented Nov 7, 2023

I have updated the PR to match the semantic convention guidance as well as I'm able.

I renamed the metrics that are updowncounters to use the .count pluralization method. I also changed the metric attributes such that they do not use the metric names as namespaces.

Fixes linting errors, also adds the `ignore-from-file` configuration the
the `.yamllint` to avoid scanning `node_modules` locally.
in progress 2

in progress 3
Rename metrics that are updowncounters to use the `.count` naming
convention. Also rename attributes to not use metric names as
namespaces.
disk.io.direction and network.io.direction were added to the global
registry, so this commit uses references to those attributes.
@braydonk
Copy link
Contributor Author

braydonk commented Jan 10, 2024

I added proposed_changelog.md and proposed_schema_next.yaml, which upon PR approval I will add properly to the CHANGELOG.md and schema-next.yaml files. This is to avoid constantly needing to rebase these giant files if the PR lasts over a long period of time.

Do not merge until I've added these back to the main files.

Copy link
Member

@joaopgrassi joaopgrassi left a comment

Choose a reason for hiding this comment

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

LGTM after fixing the CI issues

Copy link
Member

@ChrsMark ChrsMark left a comment

Choose a reason for hiding this comment

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

LGTM. Let's make sure that we file an issue for moving the attributes to the registry: #330 (comment)

@braydonk
Copy link
Contributor Author

LGTM. Let's make sure that we file an issue for moving the attributes to the registry: #330 (comment)

Opened #650 to track this.

@braydonk
Copy link
Contributor Author

This should be ready for merge.

@joaopgrassi
Copy link
Member

I will bring this up in the semconv SIG meeting today, to raise awareness. I guess we can merge it then later today/tomorrow if no objections.

@joaopgrassi joaopgrassi merged commit d21135e into open-telemetry:main Jan 23, 2024
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

8 participants