答复: [RFR]8215622: Add dump to file support for jmap histo

臧琳 zanglin5 at jd.com
Mon Jan 7 10:09:52 UTC 2019


Hi Paul,

    I think it is not necessary to have a loop for argument processing, since there is not so much arguments to handle.
   And I made a new webrev http://cr.openjdk.java.net/~xiaofeya/8215622/webrev.01/

Hi All,
    May I also ask your help for reviewing this webrev?
    webrev http://cr.openjdk.java.net/~xiaofeya/8215622/webrev.01/
    Bug: https://bugs.openjdk.java.net/browse/JDK-8215622

Thanks!
Lin

________________________________
·¢¼þÈË: serviceability-dev <serviceability-dev-bounces at openjdk.java.net> ´ú±í ê°ÁÕ <zanglin5 at jd.com>
·¢ËÍʱ¼ä: 2019Äê1ÔÂ3ÈÕ 10:21
ÊÕ¼þÈË: Hohensee, Paul; serviceability-dev at openjdk.java.net
Ö÷Ìâ: [·¢¼þµØַαÔì,¶ñÒâÓʼþ,Îðµã] RE: [RFR]8215622: Add dump to file support for jmap histo


Dear Paul,

       Thanks a lot for your review! I am trying to remend the patch

       One problem is that in future, I will add more options for histo, such as ¡°parallel¡±, ¡°incremental¡±.

so do you thinking option processing with loop in heap_inspection() in attachListener.cpp would

be more reasonable than the ¡°if else¡± ?

Thanks



BRs,

Lin







From: Hohensee, Paul <hohensee at amazon.com>
Sent: Saturday, December 29, 2018 3:54 AM
To: ê°ÁÕ <zanglin5 at jd.com>; serviceability-dev at openjdk.java.net
Subject: Re: [RFR]8215622: Add dump to file support for jmap histo



Update the copyright dates to 2019 please, since this won¡¯t get pushed until then.



In JMap.java, I¡¯d emulate dump() and use



        String filename = null;

        String subopts[] = options.split(",");



        for (String subopt : subopts){

            if (subopt.isEmpty() || subopt.equals("all")) {

                // pass

            } else if (subopt.equals("live")) {

                liveopt = "-live";

            } else if (subopt.startsWith("file=")) {

                // file=<file> - check that <file> is specified

                if (subopt.length() > 5) {

                    filename = subopt.substring(5);

                }

            } else {

              usage(1);

            }

         }



         // get the canonical path - important to avoid just passing

         // a "heap.bin" and having the dump created in the target VM

         // working directory rather than the directory where jmap

         // is executed.

         filename = new File(filename).getCanonicalPath();

         // inspectHeap is not the same as jcmd GC.class_histogram

         executeCommandForPid(pid, "inspectheap", filename, liveopt);



I.e., use an enhanced for loop to scan the array, and duplicate dump()¡¯s executeCommandForPid() argument order, as well as dump()¡¯s ¡°file=<>¡± check (the code that starts with ¡°if (subopt.startsWith¡±) and canonicalization. Actually, better to factor the latter out into its own method and use it from both histo() and dump().



The argument checking code in heap_inspection() in attachListener.cpp can be simplified along the lines of dump_heap(). I.e., you don¡¯t need to loop over the argument list. To match up with dump_heap()¡¯s info messages, the info message string at the end should be ¡°Heap inspection file created: %s¡±.



Thanks,



Paul



From: serviceability-dev <serviceability-dev-bounces at openjdk.java.net<mailto:serviceability-dev-bounces at openjdk.java.net>> on behalf of ê°ÁÕ <zanglin5 at jd.com<mailto:zanglin5 at jd.com>>
Date: Thursday, December 20, 2018 at 11:03 PM
To: "serviceability-dev at openjdk.java.net<mailto:serviceability-dev at openjdk.java.net>" <serviceability-dev at openjdk.java.net<mailto:serviceability-dev at openjdk.java.net>>
Subject: [RFR]8215622: Add dump to file support for jmap histo



Hi All,

       May I ask your help to review this patch for enhance jmap ¨Chisto.

It add the ¡°file=<path>¡± arguments that allow jmap ¨Chisto outputs data to file directly.

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/8215622/webrev.00/

Bug: https://bugs.openjdk.java.net/browse/JDK-8215622



Thanks.



BRs,

Lin






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20190107/08d1ded1/attachment.html>


More information about the serviceability-dev mailing list