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

Profile: metadata handling tweaks #42868

Merged
merged 6 commits into from
Nov 2, 2021

Conversation

IanButterworth
Copy link
Sponsor Member

@IanButterworth IanButterworth commented Oct 31, 2021

As was discussed in #42482 after merge, there's some things that could be done better:

  • Reverts the is_block_end logic, given it should only be run on data that includes metadata, so can afford to be more efficient
  • Adds has_meta for identifying when profile data has metadata
  • Adds metadata checks to functions that expect metadata to be present
  • Changes Profile.fetch to by default include metadata. The reason for this is that it was previously made to strip metadata to avoid breaking existing downstream Profile data consumers, but it turns out that they use Profile internals like tree! that require the metadata to be present, so this ended up causing an unintended breakage anyway
  • Adds consts for the metadata field offsets, for consumers to use

@IanButterworth IanButterworth merged commit 5ffee12 into JuliaLang:master Nov 2, 2021
@IanButterworth IanButterworth deleted the ib/profiling_tweaks branch November 2, 2021 03:57
LilithHafner pushed a commit to LilithHafner/julia that referenced this pull request Feb 22, 2022
As was discussed in JuliaLang#42482 after merge, there's some things that could be done better:

- Reverts the is_block_end logic, given it should only be run on data that includes metadata, so can afford to be more efficient
- Adds has_meta for identifying when profile data has metadata
- Adds metadata checks to functions that expect metadata to be present
- Changes Profile.fetch to by default include metadata. The reason for this is that it was previously made to strip metadata to avoid breaking existing downstream Profile data consumers, but it turns out that they use Profile internals like tree! that require the metadata to be present, so this ended up causing an unintended breakage anyway
- Adds consts for the metadata field offsets, for consumers to use
LilithHafner pushed a commit to LilithHafner/julia that referenced this pull request Mar 8, 2022
As was discussed in JuliaLang#42482 after merge, there's some things that could be done better:

- Reverts the is_block_end logic, given it should only be run on data that includes metadata, so can afford to be more efficient
- Adds has_meta for identifying when profile data has metadata
- Adds metadata checks to functions that expect metadata to be present
- Changes Profile.fetch to by default include metadata. The reason for this is that it was previously made to strip metadata to avoid breaking existing downstream Profile data consumers, but it turns out that they use Profile internals like tree! that require the metadata to be present, so this ended up causing an unintended breakage anyway
- Adds consts for the metadata field offsets, for consumers to use
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant