src/share/vm/services/nmtDCmd.hpp

Mon, 31 Mar 2014 13:09:35 -0700

author
minqi
date
Mon, 31 Mar 2014 13:09:35 -0700
changeset 6535
f42c10a3d4b1
parent 5047
31a4e55f8c9d
child 6876
710a3c8b516e
child 7074
833b0f92429a
permissions
-rw-r--r--

7090324: gclog rotation via external tool
Summary: GC log rotation can be set via java command line, but customer sometime need to sync with OS level rotation setting.
Reviewed-by: sla, minqi, ehelin
Contributed-by: suenaga.yasumasa@lab.ntt.co.jp

     1 /*
     2  * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     8  *
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12  * version 2 for more details (a copy is included in the LICENSE file that
    13  * accompanied this code).
    14  *
    15  * You should have received a copy of the GNU General Public License version
    16  * 2 along with this work; if not, write to the Free Software Foundation,
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18  *
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    22  *
    23  */
    25 #ifndef SHARE_VM_SERVICES_NMT_DCMD_HPP
    26 #define SHARE_VM_SERVICES_NMT_DCMD_HPP
    28 #include "services/diagnosticArgument.hpp"
    29 #include "services/diagnosticFramework.hpp"
    31 /**
    32  * Native memory tracking DCmd implementation
    33  */
    34 class NMTDCmd: public DCmdWithParser {
    35  protected:
    36   DCmdArgument<bool>  _summary;
    37   DCmdArgument<bool>  _detail;
    38   DCmdArgument<bool>  _baseline;
    39   DCmdArgument<bool>  _summary_diff;
    40   DCmdArgument<bool>  _detail_diff;
    41   DCmdArgument<bool>  _shutdown;
    42   DCmdArgument<bool>  _auto_shutdown;
    43 #ifndef PRODUCT
    44   DCmdArgument<bool>  _debug;
    45 #endif
    46   DCmdArgument<char*> _scale;
    48  public:
    49   NMTDCmd(outputStream* output, bool heap);
    50   static const char* name() { return "VM.native_memory"; }
    51   static const char* description() {
    52     return "Print native memory usage";
    53   }
    54   static const char* impact() {
    55     return "Medium";
    56   }
    57   static const JavaPermission permission() {
    58     JavaPermission p = {"java.lang.management.ManagementPermission",
    59                         "monitor", NULL};
    60     return p;
    61   }
    62   static int num_arguments();
    63   virtual void execute(DCmdSource source, TRAPS);
    64 };
    66 #endif // SHARE_VM_SERVICES_NMT_DCMD_HPP

mercurial