src/share/vm/services/management.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot-npg Sdiff src/share/vm/services

src/share/vm/services/management.hpp

Print this page




  41   static jmmOptionalSupport _optional_support;
  42   static TimeStamp          _stamp; // Timestamp since vm init done time
  43 
  44   // Management klasses
  45   static Klass*             _sensor_klass;
  46   static Klass*             _threadInfo_klass;
  47   static Klass*             _memoryUsage_klass;
  48   static Klass*             _memoryPoolMXBean_klass;
  49   static Klass*             _memoryManagerMXBean_klass;
  50   static Klass*             _garbageCollectorMXBean_klass;
  51   static Klass*             _managementFactory_klass;
  52   static Klass*             _garbageCollectorImpl_klass;
  53   static Klass*             _gcInfo_klass;
  54 
  55   static Klass* load_and_initialize_klass(Symbol* sh, TRAPS);
  56 
  57 public:
  58   static void init();
  59   static void initialize(TRAPS);
  60 
  61   static jlong ticks_to_ms(jlong ticks);
  62   static jlong timestamp();
  63 
  64   static void  oops_do(OopClosure* f);
  65   static void* get_jmm_interface(int version);
  66   static void  get_optional_support(jmmOptionalSupport* support);
  67 
  68   static void get_loaded_classes(JavaThread* cur_thread, GrowableArray<KlassHandle>* klass_handle_array);
  69 
  70   static void  record_vm_startup_time(jlong begin, jlong duration);

  71   static void  record_vm_init_completed() {
  72     // Initialize the timestamp to get the current time
  73     _vm_init_done_time->set_value(os::javaTimeMillis());
  74 
  75     // Update the timestamp to the vm init done time
  76     _stamp.update();
  77   }
  78 
  79   static jlong begin_vm_creation_time() {
  80     return _begin_vm_creation_time->get_value();
  81   }
  82   static jlong vm_init_done_time() {
  83     return _vm_init_done_time->get_value();
  84   }
  85 
  86   // methods to return a Klass*.
  87   static Klass* java_lang_management_ThreadInfo_klass(TRAPS);
  88   static Klass* java_lang_management_MemoryUsage_klass(TRAPS);

  89   static Klass* java_lang_management_MemoryPoolMXBean_klass(TRAPS);
  90   static Klass* java_lang_management_MemoryManagerMXBean_klass(TRAPS);
  91   static Klass* java_lang_management_GarbageCollectorMXBean_klass(TRAPS);
  92   static Klass* sun_management_Sensor_klass(TRAPS);
  93   static Klass* sun_management_ManagementFactory_klass(TRAPS);
  94   static Klass* sun_management_GarbageCollectorImpl_klass(TRAPS);
  95   static Klass* com_sun_management_GcInfo_klass(TRAPS);




  96 
  97   static instanceOop create_thread_info_instance(ThreadSnapshot* snapshot, TRAPS);
  98   static instanceOop create_thread_info_instance(ThreadSnapshot* snapshot, objArrayHandle monitors_array, typeArrayHandle depths_array, objArrayHandle synchronizers_array, TRAPS);
  99 };
 100 
 101 class TraceVmCreationTime : public StackObj {
 102 private:
 103   TimeStamp _timer;
 104   jlong     _begin_time;
 105 
 106 public:
 107   TraceVmCreationTime() {}
 108   ~TraceVmCreationTime() {}
 109 
 110   void start()
 111   { _timer.update_to(0); _begin_time = os::javaTimeMillis(); }
 112 
 113   /**
 114    * Only call this if initialization completes successfully; it will
 115    * crash if PerfMemory_exit() has already been called (usually by


  41   static jmmOptionalSupport _optional_support;
  42   static TimeStamp          _stamp; // Timestamp since vm init done time
  43 
  44   // Management klasses
  45   static Klass*             _sensor_klass;
  46   static Klass*             _threadInfo_klass;
  47   static Klass*             _memoryUsage_klass;
  48   static Klass*             _memoryPoolMXBean_klass;
  49   static Klass*             _memoryManagerMXBean_klass;
  50   static Klass*             _garbageCollectorMXBean_klass;
  51   static Klass*             _managementFactory_klass;
  52   static Klass*             _garbageCollectorImpl_klass;
  53   static Klass*             _gcInfo_klass;
  54 
  55   static Klass* load_and_initialize_klass(Symbol* sh, TRAPS);
  56 
  57 public:
  58   static void init();
  59   static void initialize(TRAPS);
  60 
  61   static jlong ticks_to_ms(jlong ticks) NOT_MANAGEMENT_RETURN_(0L);
  62   static jlong timestamp() NOT_MANAGEMENT_RETURN_(0L);
  63 
  64   static void  oops_do(OopClosure* f) NOT_MANAGEMENT_RETURN;
  65   static void* get_jmm_interface(int version);
  66   static void  get_optional_support(jmmOptionalSupport* support);
  67 
  68   static void get_loaded_classes(JavaThread* cur_thread, GrowableArray<KlassHandle>* klass_handle_array);
  69 
  70   static void  record_vm_startup_time(jlong begin, jlong duration)
  71       NOT_MANAGEMENT_RETURN;
  72   static void  record_vm_init_completed() {
  73     // Initialize the timestamp to get the current time
  74     _vm_init_done_time->set_value(os::javaTimeMillis());
  75 
  76     // Update the timestamp to the vm init done time
  77     _stamp.update();
  78   }
  79 
  80   static jlong begin_vm_creation_time() {
  81     return _begin_vm_creation_time->get_value();
  82   }
  83   static jlong vm_init_done_time() {
  84     return _vm_init_done_time->get_value();
  85   }
  86 
  87   // methods to return a Klass*.
  88   static Klass* java_lang_management_ThreadInfo_klass(TRAPS);
  89   static Klass* java_lang_management_MemoryUsage_klass(TRAPS)
  90       NOT_MANAGEMENT_RETURN_(NULL);
  91   static Klass* java_lang_management_MemoryPoolMXBean_klass(TRAPS);
  92   static Klass* java_lang_management_MemoryManagerMXBean_klass(TRAPS);
  93   static Klass* java_lang_management_GarbageCollectorMXBean_klass(TRAPS);
  94   static Klass* sun_management_Sensor_klass(TRAPS)
  95       NOT_MANAGEMENT_RETURN_(NULL);
  96   static Klass* sun_management_ManagementFactory_klass(TRAPS)
  97       NOT_MANAGEMENT_RETURN_(NULL);
  98   static Klass* sun_management_GarbageCollectorImpl_klass(TRAPS)
  99       NOT_MANAGEMENT_RETURN_(NULL);
 100   static Klass* com_sun_management_GcInfo_klass(TRAPS)
 101       NOT_MANAGEMENT_RETURN_(NULL);
 102 
 103   static instanceOop create_thread_info_instance(ThreadSnapshot* snapshot, TRAPS);
 104   static instanceOop create_thread_info_instance(ThreadSnapshot* snapshot, objArrayHandle monitors_array, typeArrayHandle depths_array, objArrayHandle synchronizers_array, TRAPS);
 105 };
 106 
 107 class TraceVmCreationTime : public StackObj {
 108 private:
 109   TimeStamp _timer;
 110   jlong     _begin_time;
 111 
 112 public:
 113   TraceVmCreationTime() {}
 114   ~TraceVmCreationTime() {}
 115 
 116   void start()
 117   { _timer.update_to(0); _begin_time = os::javaTimeMillis(); }
 118 
 119   /**
 120    * Only call this if initialization completes successfully; it will
 121    * crash if PerfMemory_exit() has already been called (usually by
src/share/vm/services/management.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File