[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-serviceability-dev
Subject: Re: [RFR]8215623: Add incremental dump for jmap histo
From: "Hohensee, Paul" <hohensee () amazon ! com>
Date: 2018-12-31 20:56:49
Message-ID: 32BE694F-58A4-4BC0-88A9-9295FE9411F6 () amazon ! com
[Download RAW message or body]
[Attachment #2 (text/plain)]
As for 8215622, update the copyright dates to 2019 please, since this won't get \
pushed until then.
You might generalize the implementation so that all inspections are done \
incrementally, and parameterize RecordInstanceClosure with the incremental threshold. \
"incremental" could become "chunkcount=<n>", where <n> defaults to infinity (max \
value of size_t).
I'd not use a default file name when "chunkcount" is specified, I'd just write to \
whatever the output stream is. "chunkcount" is then independent of "file".
I'd add another histo argument for the maximum file size, call it "maxfilesize", and \
parameterize RecordInstanceClosure with it. Default would be infinity (max value of \
size_t).
If you want to make it easy to use your 8k and 5mb chunkcount and maxfilesize \
combination, you could redefine your original "incremental" argument as syntactic \
sugar for "chunkcount=8k,maxfilesize=5m".
INCREMENTAL_THRESHOLD and MAX_INCREMENTAL_FILESIZE become DEFAULT_CHUNKSIZE and \
MAX_FILE_SIZE, are both set to max size_t, and should be defined as "const int" \
within RecordInstanceClosure.
Thanks,
Paul
From: serviceability-dev <serviceability-dev-bounces@openjdk.java.net> on behalf of \
臧琳 <zanglin5@jd.com>
Date: Thursday, December 20, 2018 at 11:13 PM
To: "serviceability-dev@openjdk.java.net" <serviceability-dev@openjdk.java.net>
Subject: [RFR]8215623: Add incremental dump for jmap histo
Hi All,
May I ask your help to review this patch for enhance jmap –histo.
It adds the "incremental" arguments that allow jmap –histo to incrementally save \
the intermediate data into a temp file. The intermediate data is dumped incrementally \
and write to a rolling file, which limit the size of the temp file to be small. This \
is useful for user to get intermediate results when jmap/jvm process is killed \
accidentally. Especially when the heap is large.
This patch is also part of the enhancement described in \
https://bugs.openjdk.java.net/browse/JDK-8214535.
Webrev: http://cr.openjdk.java.net/~xiaofeya/8215623/webrev.00/
Bug: https://bugs.openjdk.java.net/browse/JDK-8215623
Thanks.
BRs,
Lin
[Attachment #3 (text/html)]
<html xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40"> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:DengXian;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@DengXian";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
text-align:justify;
font-size:10.5pt;
font-family:DengXian;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle18
{mso-style-type:personal;
font-family:DengXian;
color:windowtext;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Courier New";}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
{page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">As \
for 8215622, update the copyright dates to 2019 please, since this won't get pushed \
until then.<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif">You might \
generalize the implementation so that all inspections are done incrementally, and \
parameterize RecordInstanceClosure with the incremental threshold. "incremental" \
could become "chunkcount=<n>", where <n> defaults to infinity (max value \
of size_t).<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif">I'd not use a \
default file name when "chunkcount" is specified, I'd just write to whatever the \
output stream is. "chunkcount" is then independent of "file".<o:p></o:p></span></p> \
<p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif">I'd add another \
histo argument for the maximum file size, call it "maxfilesize", and parameterize \
RecordInstanceClosure with it. Default would be infinity (max value of \
size_t).<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif">If you want to \
make it easy to use your 8k and 5mb chunkcount and maxfilesize combination, you could \
redefine your original "incremental" argument as syntactic sugar for \
"chunkcount=8k,maxfilesize=5m".<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif">INCREMENTAL_THRESHOLD \
and MAX_INCREMENTAL_FILESIZE become DEFAULT_CHUNKSIZE and MAX_FILE_SIZE, are both set \
to max size_t, and should be defined as "const int" within \
RecordInstanceClosure.<o:p></o:p></span></p> <p class="MsoNormal" align="left" \
style="text-align:left"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif">Paul<o:p></o:p></span></p>
<p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: \
</span></b><span style="font-size:12.0pt;color:black">serviceability-dev \
<serviceability-dev-bounces@openjdk.java.net> on behalf of 臧琳 \
<zanglin5@jd.com><br> <b>Date: </b>Thursday, December 20, 2018 at 11:13 PM<br>
<b>To: </b>"serviceability-dev@openjdk.java.net" \
<serviceability-dev@openjdk.java.net><br> <b>Subject: </b>[RFR]8215623: Add \
incremental dump for jmap histo<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal">Hi All, <o:p></o:p></p>
<p class="MsoNormal"> May I ask your help to \
review this patch for enhance jmap –histo. <o:p></o:p></p>
<p class="MsoNormal" style="text-indent:21.0pt">It adds the "incremental" arguments \
that allow jmap –histo to incrementally save the intermediate data into a temp \
file.<o:p></o:p></p> <p class="MsoNormal" style="text-indent:21.0pt">The intermediate \
data is dumped incrementally and write to a rolling file, which limit the size of the \
temp file to be small.<o:p></o:p></p> <p class="MsoNormal" \
style="text-indent:21.0pt">This is useful for user to get intermediate results when \
jmap/jvm process is killed accidentally. Especially when the heap is \
large.<o:p></o:p></p> <p class="MsoNormal" \
style="text-indent:21.0pt"> <o:p></o:p></p> <p class="MsoNormal" \
style="text-indent:21.0pt">This patch is also part of the enhancement described in <a \
href="https://bugs.openjdk.java.net/browse/JDK-8214535">https://bugs.openjdk.java.net/browse/JDK-8214535</a>.<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:21.0pt"> <o:p></o:p></p>
<p class="MsoNormal" style="text-indent:21.0pt">Webrev: <a \
href="http://cr.openjdk.java.net/~xiaofeya/8215623/webrev.00/"> \
http://cr.openjdk.java.net/~xiaofeya/8215623/webrev.00/</a><o:p></o:p></p> <p \
class="MsoNormal" style="text-indent:21.0pt">Bug: \
https://bugs.openjdk.java.net/browse/JDK-8215623<o:p></o:p></p> <p class="MsoNormal" \
style="text-indent:21.0pt"> <o:p></o:p></p> <p class="MsoNormal" \
style="text-indent:21.0pt">Thanks.<o:p></o:p></p> <p class="MsoNormal" \
style="text-indent:21.0pt"> <o:p></o:p></p> <p \
class="MsoNormal">BRs,<o:p></o:p></p> <p class="MsoNormal">Lin \
<o:p></o:p></p> <p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</body>
</html>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic