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 content for JEP 331 #312

Merged
merged 2 commits into from
Jul 4, 2019
Merged

Conversation

SueChaplain
Copy link
Contributor

OpenJ9 now provides an implementation of JEP 331, which
enables heap profiling with minimal resources. There are
a couple of restrictions, which are documented.

Closes: #284

Signed-off-by: Sue Chaplain [email protected]

@SueChaplain
Copy link
Contributor Author

Jenkins doc stage

@SueChaplain
Copy link
Contributor Author

Jenkins doc stage

@SueChaplain
Copy link
Contributor Author

Jenkins doc stage

@SueChaplain
Copy link
Contributor Author

Jenkins doc stage

@SueChaplain
Copy link
Contributor Author

@JasonFengJ9 - please can you review this small update for JEP331.

docs/version0.15.md Outdated Show resolved Hide resolved
@SueChaplain SueChaplain force-pushed the jep331 branch 2 times, most recently from 2b36090 to 09d054a Compare July 3, 2019 16:02
docs/version0.15.md Outdated Show resolved Hide resolved
@SueChaplain
Copy link
Contributor Author

Jenkins doc stage

Copy link
Member

@JasonFengJ9 JasonFengJ9 left a comment

Choose a reason for hiding this comment

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

Thanks @SueChaplain, it looks good.

@SueChaplain
Copy link
Contributor Author

@pshipton - please can you merge? Jason is happy with the content and I resolved the merge conflict.

@@ -70,6 +71,16 @@ For compatibility, the [`-XX:OnOutOfMemoryError`](xxonoutofmemoryerror.md) OpenJ

The VM now supports the allocation of huge pages on Linux when you use the `madvise` (`/sys/kernel/mm/transparent_hugepage/enabled`) setting. To enable this feature, set [`-XX:+TransparentHugePage`](xxtransparenthugepage.md) on the command line when you start your application. This option is currently not enabled by default.

### ![Start of content that applies to Java 11 (LTS) and later](cr/java11plus.png) Support for low-overhead heap profiling
Copy link
Member

Choose a reason for hiding this comment

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

Should there be an End of content tag?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As it is on the title of the section I think it is ok. It is also consistent with other sections in that topic?

Copy link
Member

Choose a reason for hiding this comment

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

It's not consistent with the ChaCha20 topic, which has the end mark.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Erm ... so it is. And that's not consistent with other release topics either. OK - fixing to make the same in this topic.

<i class="fa fa-exclamation-triangle" aria-hidden="true"></i> **Restrictions:** JEP 331 is implemented for OpenJ9 with the following limitations:

- The `balanced` and `metronome` garbage collection policies are not supported.
- The changes might not be compatible with the Health Center agent, which uses the same sampling interval.
Copy link
Member

Choose a reason for hiding this comment

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

"might not" seems strange. Can't we figure out whether they are incompatible or not?
@JasonFengJ9

Copy link
Member

Choose a reason for hiding this comment

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

Depends. Health Center agent uses same sampling interval. If JEP331 JVMTI agent happens to have same interval values as the Health Center agent, there is no problem. Also if the Health Center agent just displays the sampling allocation without analysis associated with the interval value, there is no problem either.

However if the Health Center agent does rely on the sampling interval value initially passed via command line option, and JEP331 JVMTI agent changes it afterwards, the result will be wrong.

P.S. @charliegracie mentioned the sampling before JEP331 wasn't accurate, a fix is expected via eclipse-openj9/openj9#6024.

Copy link
Member

Choose a reason for hiding this comment

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

I'm thinking we should clarify the release note with this information. "might not" makes it seem like we didn't know.

Copy link
Member

Choose a reason for hiding this comment

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

Agreed. How about following:
JEP331 JVMTI agent uses same sampling interval as the Health Center agent. If both agents expect same interval value, there is no incompatibility, otherwise the Health Center agent will get incorrect results.

Copy link
Member

Choose a reason for hiding this comment

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

Yes, much better.

Copy link
Contributor Author

@SueChaplain SueChaplain Jul 4, 2019

Choose a reason for hiding this comment

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

Changes made.

Copy link
Member

@pshipton pshipton Jul 4, 2019

Choose a reason for hiding this comment

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

So you are saying that if the JEP 331 agent and the health center agent are used at the same time, then Health Center won't work?

The JEP331 JVMTI agent and the Health Center agent both set a sampling interval, which by default is different. If both agents are used at the same time the Health Center agent will get incorrect results, unless the sampling intervals are adjusted to use the same value.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Text updated.

Copy link
Member

Choose a reason for hiding this comment

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

Waiting for Jason to approve before merging.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah, it looks good.

docs/version0.15.md Outdated Show resolved Hide resolved
OpenJ9 now provides an implementation of JEP 331, which
enables heap profiling with minimal resources. There are
a couple of restrictions, which are documented.

Closes: eclipse-openj9#284

Signed-off-by: Sue Chaplain <[email protected]>
@pshipton pshipton merged commit 87708fb into eclipse-openj9:master Jul 4, 2019
@SueChaplain SueChaplain deleted the jep331 branch July 8, 2019 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Documentation for JEP 331
3 participants