48 #include "jfr/utilities/jfrTime.hpp"
49 #include "jfrfiles/jfrPeriodic.hpp"
50 #include "logging/log.hpp"
51 #include "memory/heapInspection.hpp"
52 #include "memory/resourceArea.hpp"
53 #include "oops/oop.inline.hpp"
54 #include "runtime/arguments.hpp"
55 #include "runtime/flags/jvmFlag.hpp"
56 #include "runtime/globals.hpp"
57 #include "runtime/os.hpp"
58 #include "runtime/os_perf.hpp"
59 #include "runtime/thread.inline.hpp"
60 #include "runtime/threadSMR.hpp"
61 #include "runtime/sweeper.hpp"
62 #include "runtime/vmThread.hpp"
63 #include "services/classLoadingService.hpp"
64 #include "services/management.hpp"
65 #include "services/threadService.hpp"
66 #include "utilities/exceptions.hpp"
67 #include "utilities/globalDefinitions.hpp"
68
69 /**
70 * JfrPeriodic class
71 * Implementation of declarations in
72 * xsl generated traceRequestables.hpp
73 */
74 #define TRACE_REQUEST_FUNC(id) void JfrPeriodicEventSet::request##id(void)
75
76 TRACE_REQUEST_FUNC(JVMInformation) {
77 ResourceMark rm;
78 EventJVMInformation event;
79 event.set_jvmName(VM_Version::vm_name());
80 event.set_jvmVersion(VM_Version::internal_vm_info_string());
81 event.set_javaArguments(Arguments::java_command());
82 event.set_jvmArguments(Arguments::jvm_args());
83 event.set_jvmFlags(Arguments::jvm_flags());
84 event.set_jvmStartTime(Management::vm_init_done_time());
85 event.set_pid(os::current_process_id());
86 event.commit();
87 }
88
603 event.set_reservedTopAddress((u8)CodeCache::high_bound());
604 event.commit();
605 }
606
607 TRACE_REQUEST_FUNC(CodeSweeperStatistics) {
608 EventCodeSweeperStatistics event;
609 event.set_sweepCount(NMethodSweeper::traversal_count());
610 event.set_methodReclaimedCount(NMethodSweeper::total_nof_methods_reclaimed());
611 event.set_totalSweepTime(NMethodSweeper::total_time_sweeping());
612 event.set_peakFractionTime(NMethodSweeper::peak_sweep_fraction_time());
613 event.set_peakSweepTime(NMethodSweeper::peak_sweep_time());
614 event.commit();
615 }
616
617 TRACE_REQUEST_FUNC(CodeSweeperConfiguration) {
618 EventCodeSweeperConfiguration event;
619 event.set_sweeperEnabled(MethodFlushing);
620 event.set_flushingEnabled(UseCodeCacheFlushing);
621 event.commit();
622 }
|
48 #include "jfr/utilities/jfrTime.hpp"
49 #include "jfrfiles/jfrPeriodic.hpp"
50 #include "logging/log.hpp"
51 #include "memory/heapInspection.hpp"
52 #include "memory/resourceArea.hpp"
53 #include "oops/oop.inline.hpp"
54 #include "runtime/arguments.hpp"
55 #include "runtime/flags/jvmFlag.hpp"
56 #include "runtime/globals.hpp"
57 #include "runtime/os.hpp"
58 #include "runtime/os_perf.hpp"
59 #include "runtime/thread.inline.hpp"
60 #include "runtime/threadSMR.hpp"
61 #include "runtime/sweeper.hpp"
62 #include "runtime/vmThread.hpp"
63 #include "services/classLoadingService.hpp"
64 #include "services/management.hpp"
65 #include "services/threadService.hpp"
66 #include "utilities/exceptions.hpp"
67 #include "utilities/globalDefinitions.hpp"
68 #if INCLUDE_SHENANDOAHGC
69 #include "gc/shenandoah/shenandoahJfrSupport.hpp"
70 #endif
71 /**
72 * JfrPeriodic class
73 * Implementation of declarations in
74 * xsl generated traceRequestables.hpp
75 */
76 #define TRACE_REQUEST_FUNC(id) void JfrPeriodicEventSet::request##id(void)
77
78 TRACE_REQUEST_FUNC(JVMInformation) {
79 ResourceMark rm;
80 EventJVMInformation event;
81 event.set_jvmName(VM_Version::vm_name());
82 event.set_jvmVersion(VM_Version::internal_vm_info_string());
83 event.set_javaArguments(Arguments::java_command());
84 event.set_jvmArguments(Arguments::jvm_args());
85 event.set_jvmFlags(Arguments::jvm_flags());
86 event.set_jvmStartTime(Management::vm_init_done_time());
87 event.set_pid(os::current_process_id());
88 event.commit();
89 }
90
605 event.set_reservedTopAddress((u8)CodeCache::high_bound());
606 event.commit();
607 }
608
609 TRACE_REQUEST_FUNC(CodeSweeperStatistics) {
610 EventCodeSweeperStatistics event;
611 event.set_sweepCount(NMethodSweeper::traversal_count());
612 event.set_methodReclaimedCount(NMethodSweeper::total_nof_methods_reclaimed());
613 event.set_totalSweepTime(NMethodSweeper::total_time_sweeping());
614 event.set_peakFractionTime(NMethodSweeper::peak_sweep_fraction_time());
615 event.set_peakSweepTime(NMethodSweeper::peak_sweep_time());
616 event.commit();
617 }
618
619 TRACE_REQUEST_FUNC(CodeSweeperConfiguration) {
620 EventCodeSweeperConfiguration event;
621 event.set_sweeperEnabled(MethodFlushing);
622 event.set_flushingEnabled(UseCodeCacheFlushing);
623 event.commit();
624 }
625
626
627 TRACE_REQUEST_FUNC(ShenandoahHeapRegionInformation) {
628 #if INCLUDE_SHENANDOAHGC
629 if (UseShenandoahGC) {
630 VM_ShenandoahSendHeapRegionInfoEvents op;
631 VMThread::execute(&op);
632 }
633 #endif
634 }
635
|