46 #include "memory/heapInspection.hpp"
47 #include "memory/resourceArea.hpp"
48 #include "oops/oop.inline.hpp"
49 #include "runtime/arguments.hpp"
50 #include "runtime/flags/jvmFlag.hpp"
51 #include "runtime/globals.hpp"
52 #include "runtime/os.hpp"
53 #include "runtime/os_perf.hpp"
54 #include "runtime/thread.inline.hpp"
55 #include "runtime/threadSMR.hpp"
56 #include "runtime/sweeper.hpp"
57 #include "runtime/vmThread.hpp"
58 #include "services/classLoadingService.hpp"
59 #include "services/management.hpp"
60 #include "services/threadService.hpp"
61 #include "utilities/exceptions.hpp"
62 #include "utilities/globalDefinitions.hpp"
63 #if INCLUDE_G1GC
64 #include "gc/g1/g1HeapRegionEventSender.hpp"
65 #endif
66
67 /**
68 * JfrPeriodic class
69 * Implementation of declarations in
70 * xsl generated traceRequestables.hpp
71 */
72 #define TRACE_REQUEST_FUNC(id) void JfrPeriodicEventSet::request##id(void)
73
74 TRACE_REQUEST_FUNC(JVMInformation) {
75 ResourceMark rm;
76 EventJVMInformation event;
77 event.set_jvmName(VM_Version::vm_name());
78 event.set_jvmVersion(VM_Version::internal_vm_info_string());
79 event.set_javaArguments(Arguments::java_command());
80 event.set_jvmArguments(Arguments::jvm_args());
81 event.set_jvmFlags(Arguments::jvm_flags());
82 event.set_jvmStartTime(Management::vm_init_done_time());
83 event.set_pid(os::current_process_id());
84 event.commit();
85 }
557 event.set_reservedTopAddress((u8)CodeCache::high_bound());
558 event.commit();
559 }
560
561 TRACE_REQUEST_FUNC(CodeSweeperStatistics) {
562 EventCodeSweeperStatistics event;
563 event.set_sweepCount(NMethodSweeper::traversal_count());
564 event.set_methodReclaimedCount(NMethodSweeper::total_nof_methods_reclaimed());
565 event.set_totalSweepTime(NMethodSweeper::total_time_sweeping());
566 event.set_peakFractionTime(NMethodSweeper::peak_sweep_fraction_time());
567 event.set_peakSweepTime(NMethodSweeper::peak_sweep_time());
568 event.commit();
569 }
570
571 TRACE_REQUEST_FUNC(CodeSweeperConfiguration) {
572 EventCodeSweeperConfiguration event;
573 event.set_sweeperEnabled(MethodFlushing);
574 event.set_flushingEnabled(UseCodeCacheFlushing);
575 event.commit();
576 }
|
46 #include "memory/heapInspection.hpp"
47 #include "memory/resourceArea.hpp"
48 #include "oops/oop.inline.hpp"
49 #include "runtime/arguments.hpp"
50 #include "runtime/flags/jvmFlag.hpp"
51 #include "runtime/globals.hpp"
52 #include "runtime/os.hpp"
53 #include "runtime/os_perf.hpp"
54 #include "runtime/thread.inline.hpp"
55 #include "runtime/threadSMR.hpp"
56 #include "runtime/sweeper.hpp"
57 #include "runtime/vmThread.hpp"
58 #include "services/classLoadingService.hpp"
59 #include "services/management.hpp"
60 #include "services/threadService.hpp"
61 #include "utilities/exceptions.hpp"
62 #include "utilities/globalDefinitions.hpp"
63 #if INCLUDE_G1GC
64 #include "gc/g1/g1HeapRegionEventSender.hpp"
65 #endif
66 #if INCLUDE_SHENANDOAHGC
67 #include "gc/shenandoah/shenandoahJfrSupport.hpp"
68 #endif
69
70 /**
71 * JfrPeriodic class
72 * Implementation of declarations in
73 * xsl generated traceRequestables.hpp
74 */
75 #define TRACE_REQUEST_FUNC(id) void JfrPeriodicEventSet::request##id(void)
76
77 TRACE_REQUEST_FUNC(JVMInformation) {
78 ResourceMark rm;
79 EventJVMInformation event;
80 event.set_jvmName(VM_Version::vm_name());
81 event.set_jvmVersion(VM_Version::internal_vm_info_string());
82 event.set_javaArguments(Arguments::java_command());
83 event.set_jvmArguments(Arguments::jvm_args());
84 event.set_jvmFlags(Arguments::jvm_flags());
85 event.set_jvmStartTime(Management::vm_init_done_time());
86 event.set_pid(os::current_process_id());
87 event.commit();
88 }
560 event.set_reservedTopAddress((u8)CodeCache::high_bound());
561 event.commit();
562 }
563
564 TRACE_REQUEST_FUNC(CodeSweeperStatistics) {
565 EventCodeSweeperStatistics event;
566 event.set_sweepCount(NMethodSweeper::traversal_count());
567 event.set_methodReclaimedCount(NMethodSweeper::total_nof_methods_reclaimed());
568 event.set_totalSweepTime(NMethodSweeper::total_time_sweeping());
569 event.set_peakFractionTime(NMethodSweeper::peak_sweep_fraction_time());
570 event.set_peakSweepTime(NMethodSweeper::peak_sweep_time());
571 event.commit();
572 }
573
574 TRACE_REQUEST_FUNC(CodeSweeperConfiguration) {
575 EventCodeSweeperConfiguration event;
576 event.set_sweeperEnabled(MethodFlushing);
577 event.set_flushingEnabled(UseCodeCacheFlushing);
578 event.commit();
579 }
580
581
582 TRACE_REQUEST_FUNC(ShenandoahHeapRegionInformation) {
583 #if INCLUDE_SHENANDOAHGC
584 if (UseShenandoahGC) {
585 VM_ShenandoahSendHeapRegionInfoEvents op;
586 VMThread::execute(&op);
587 }
588 #endif
589 }
590
|