src/os/solaris/dtrace/jvm_dtrace.h

Wed, 25 Aug 2010 05:27:54 -0700

author
twisti
date
Wed, 25 Aug 2010 05:27:54 -0700
changeset 2103
3e8fbc61cee8
parent 1907
c18cbe5936b8
child 2314
f95d63e2154a
permissions
-rw-r--r--

6978355: renaming for 6961697
Summary: This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never

     1 /*
     2  * Copyright (c) 2006, 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 _JVM_DTRACE_H_
    26 #define _JVM_DTRACE_H_
    28 /*
    29  * Interface to dynamically turn on probes in Hotspot JVM. Currently,
    30  * this interface can be used to dynamically enable certain DTrace
    31  * probe points that are costly to have "always on".
    32  */
    34 #ifdef __cplusplus
    35 extern "C" {
    36 #endif
    38 #include <sys/types.h>
    41 struct _jvm_t;
    42 typedef struct _jvm_t jvm_t;
    45 /* Attach to the given JVM process. Returns NULL on failure.
    46    jvm_get_last_error() returns last error message. */
    47 jvm_t* jvm_attach(pid_t pid);
    49 /* Returns the last error message from this library or NULL if none. */
    50 const char* jvm_get_last_error();
    52 /* few well-known probe type constants for 'probe_types' param below */
    54 #define JVM_DTPROBE_METHOD_ENTRY         "method-entry"
    55 #define JVM_DTPROBE_METHOD_RETURN        "method-return"
    56 #define JVM_DTPROBE_MONITOR_ENTER        "monitor-contended-enter"
    57 #define JVM_DTPROBE_MONITOR_ENTERED      "monitor-contended-entered"
    58 #define JVM_DTPROBE_MONITOR_EXIT         "monitor-contended-exit"
    59 #define JVM_DTPROBE_MONITOR_WAIT         "monitor-wait"
    60 #define JVM_DTPROBE_MONITOR_WAITED       "monitor-waited"
    61 #define JVM_DTPROBE_MONITOR_NOTIFY       "monitor-notify"
    62 #define JVM_DTPROBE_MONITOR_NOTIFYALL    "monitor-notifyall"
    63 #define JVM_DTPROBE_OBJECT_ALLOC         "object-alloc"
    64 #define JVM_DTPROBE_ALL                  "*"
    66 /* Enable the specified DTrace probes of given probe types on
    67  * the specified JVM. Returns >= 0 on success, -1 on failure.
    68  * On success, this returns number of probe_types enabled.
    69  * On failure, jvm_get_last_error() returns the last error message.
    70  */
    71 int jvm_enable_dtprobes(jvm_t* jvm, int num_probe_types, const char** probe_types);
    73 /* Note: There is no jvm_disable_dtprobes function. Probes are automatically
    74  * disabled when there are no more clients requiring those probes.
    75  */
    77 /* Detach the given JVM. Returns 0 on success, -1 on failure.
    78  * jvm_get_last_error() returns the last error message.
    79  */
    80 int jvm_detach(jvm_t* jvm);
    82 #ifdef __cplusplus
    83 }
    84 #endif
    86 #endif /* _JVM_DTRACE_H_ */

mercurial