Skip to content

Conversation

@paulojmdias
Copy link
Member

@paulojmdias paulojmdias commented Sep 6, 2025

Description

Extend mdatagen to validate that keys in metadata.yaml files are alphabetically sorted (resource_attributes, attributes, metrics, events, and telemetry.metrics).

The idea came from open-telemetry/opentelemetry-collector-contrib#42477 (comment)

Link to tracking issue

Fixes #13781

Testing

I added tests to validate unordered data and expect an error on it.

❯ mdatagen metadata.yaml
Error: metadata.yaml ordering check failed: [telemetry metrics] keys are not sorted: [metric1 metric0]
Error: metadata.yaml ordering check failed: [telemetry metrics] keys are not sorted: [metric1 metric0]
❯ mdatagen metadata.yaml
Error: metadata.yaml ordering check failed: [resource_attributes] keys are not sorted: [cloud.region cloud.availability_zone cloud.provider host.id host.name]
Error: metadata.yaml ordering check failed: [resource_attributes] keys are not sorted: [cloud.region cloud.availability_zone cloud.provider host.id host.name]

@paulojmdias paulojmdias marked this pull request as ready for review September 6, 2025 08:42
@paulojmdias paulojmdias requested review from a team and dmitryax as code owners September 6, 2025 08:42
@paulojmdias paulojmdias marked this pull request as draft September 6, 2025 08:54
@codecov
Copy link

codecov bot commented Sep 6, 2025

Codecov Report

❌ Patch coverage is 83.01887% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.59%. Comparing base (266beca) to head (ee2eba5).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
cmd/mdatagen/internal/command.go 83.01% 6 Missing and 3 partials ⚠️

❌ Your patch status has failed because the patch coverage (83.01%) is below the target coverage (95.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #13782      +/-   ##
==========================================
- Coverage   91.61%   91.59%   -0.02%     
==========================================
  Files         655      655              
  Lines       42729    42782      +53     
==========================================
+ Hits        39147    39188      +41     
- Misses       2761     2769       +8     
- Partials      821      825       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Signed-off-by: Paulo Dias <[email protected]>
Signed-off-by: Paulo Dias <[email protected]>
@github-actions
Copy link
Contributor

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

@github-actions github-actions bot added the Stale label Sep 23, 2025
@paulojmdias
Copy link
Member Author

/label -stale never-stale

@github-actions github-actions bot removed the Stale label Sep 24, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Oct 9, 2025

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

@github-actions github-actions bot added the Stale label Oct 9, 2025
@dmitryax
Copy link
Member

dmitryax commented Oct 9, 2025

The proposal LGTM. @paulojmdias are you planning to finalize the PR?

@dmitryax dmitryax removed the Stale label Oct 9, 2025
@paulojmdias
Copy link
Member Author

@dmitryax yes, I will work into it soon

@paulojmdias paulojmdias marked this pull request as ready for review October 10, 2025 22:30
@paulojmdias
Copy link
Member Author

@dmitryax I think you can review now.

All the reordering of metadata.yaml files are on this PR, but please let me know if you prefer to move it into a different PRs.

The contrib_tests are expected to fail, as a lot of metadata.yaml files are not properly sorted.

The changelog pipeline failure will be fixed in #14000

Copy link
Member

@dmitryax dmitryax left a comment

Choose a reason for hiding this comment

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

Do you have any script or temporary command to update existing files? It'll be painful to sort all the metadata.yaml files in contrib manually

ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…telemetry#43447)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…pen-telemetry#43449)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…metry#43477)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…etry#43478)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…en-telemetry#43472)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…-telemetry#43471)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…pen-telemetry#43462)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…metry#43459)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…pen-telemetry#43451)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…emetry#43463)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…metry#43476)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…telemetry#43469)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…lemetry#43468)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…n-telemetry#43461)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…lemetry#43460)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…en-telemetry#43465)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…telemetry#43455)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…pen-telemetry#43450)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
open-telemetry#43454)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…tries (open-telemetry#43446)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…pen-telemetry#43445)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…pen-telemetry#43441)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…n-telemetry#43583)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…lemetry#43578)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…lemetry#43582)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…lemetry#43581)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…en-telemetry#43580)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
open-telemetry#43579)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

---------

Signed-off-by: Paulo Dias <[email protected]>
Co-authored-by: Alex Boten <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…telemetry#43627)

#### Description

Sort metadata.yaml file in preparation for sort validation using
mdatagen. Context:
open-telemetry/opentelemetry-collector#13782

Signed-off-by: Paulo Dias <[email protected]>
ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…elemetry#43639)

#### Description

Sort metadata.yaml files since sort validation using mdatagen was
already merged. Context:
open-telemetry/opentelemetry-collector#13782

Fixes core collector tests.

Core pipeline failed:
https://github.com/open-telemetry/opentelemetry-collector/actions/runs/18602672590/job/53044660662

Signed-off-by: Paulo Dias <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add lint/ordering validation for metadata.yaml in mdatagen

4 participants