[RFR]8215623: Add incremental dump for jmap histo
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Fri May 10 18:17:41 UTC 2019
Dear Lin,
Sorry for the late reply.
I've edited the CSR a little bit to fix some incorrect spots.
Now, a couple of spots are not clear to me.
> - incremental[:<file_name>], enable the incremental dump of heap, dumped
> data will be saved to, by default it is "IncrementalHisto.dump"
Q1: Should the <file_name> be full path or short name?
Is there any default path? What is the path of the
"IncrementalHisto.dump" file?
> - chunksize=<N>, size of objects (in KB) will be dumped in one chunk.
Q2: Should it be chunk of dump, not chunk of objects?
> - maxfilesize=<N>, size of the incremental data dump file (in KB),
when data size
> is larger than maxfilesize, the file is erased and latest data will
be written.
Q3: What is a relation and limitations between chunksize and maxfilesize?
Should the maxfilesize be multiple of the chunksize?
Q4: The sentence "the file is erased and latest data will be written"
is not clear enough.
Why the whole file needs to be erased
Should the incremental file behave like a cyclic buffer?
If so, then only next chunk needs to be erased.
Then the chunks need to be numbered in order, so the earliest one
can be found.
(I do not want you to accept my suggestions right away. It is just
a discussion point.
You need to prove that your approach is good and clean enough.)
If we resolve the questions (or get into agreement) then I'll update the
CSR as needed.
Thanks,
Serguei
On 5/5/19 00:34, 臧琳 wrote:
> Dear All,
> I have updated the CSR at https://bugs.openjdk.java.net/browse/JDK-8222319
> May I ask your help to review it?
> When it is finalized, I will refine the webrev.
>
> BRs,
> Lin
>
>> Dear Serguei,
>> Thanks a lot for your reviewing.
>>
>>
>>
>>> System.err.println(" incremental dump support:");
>>> + System.err.println(" chunkcount=<N> object number counted (in Kilo) to trigger incremental dump");
>>> + System.err.println(" maxfilesize=<N> size limit of incremental dump file (in KB)");
>>>
>>>
>>> From this description is not clear at all what does the chunkcount mean.
>>> Is it to define how many heap objects are dumped in one chunk?
>>> If so, would it better to name it chunksize instead where chunksize is measured in heap objects?
>>> Then would it better to use the same units to define the maxfilesize as well?
>>> (I'm not insisting on this, just asking.)
>> The original meaning of “chunkcount" is how many objects are dumped in one chunk, and the “maxfilesize” is the limited size of the dump file.
>> For example, “chunkcount=1, maxfilesize=10” means that intermediated data will be written to the dump file for every 1000 objects, and
>> when the dump file is larger than 10k,erase the file and rewrite it with the latest dumped data.
>>
>> The reason I didn’t use object count to control the dump file size is that there can be humongous object, which may cause the file too large.
>> Do you think use object size instead of chunkcount is a good option? So the two options can be with same units.
>> BRs,
>> Lin
More information about the serviceability-dev
mailing list