< prev index next >

src/hotspot/share/utilities/vmError.cpp

Print this page

        

@@ -146,10 +146,36 @@
     }
   }
   out->print_raw_cr("#");
 }
 
+#if INCLUDE_JFR
+static void print_jfr_path(outputStream *out) {
+  if (out == NULL) {
+    return;
+  }
+
+  const char *path = NULL;
+
+  path = Jfr::get_emergency_dump_path();
+  if (*path != '\0') {
+    out->print_raw_cr("# JFR data is saved as:");
+    out->print_raw   ("#   ");
+    out->print_raw_cr(path);
+    out->print_raw_cr("#");
+  } else {
+    path = Jfr::get_repository_path();
+    if ((path != NULL) && (*path != '\0')) {
+      out->print_raw_cr("# JFR files might be saved in the repository:");
+      out->print_raw   ("#   ");
+      out->print_raw_cr(path);
+      out->print_raw_cr("#");
+    }
+  }
+}
+#endif
+
 bool VMError::coredump_status;
 char VMError::coredump_message[O_BUFLEN];
 
 void VMError::record_coredump_status(const char* message, bool status) {
   coredump_status = status;

@@ -616,10 +642,18 @@
       st->print("CreateCoredumpOnCrash turned off, no core file dumped");
     }
     st->cr();
     st->print_cr("#");
 
+#if INCLUDE_JFR
+  STEP("printing jfr repository")
+
+     if (_verbose) {
+       print_jfr_path(st);
+     }
+#endif
+
   STEP("printing bug submit message")
 
      if (should_report_bug(_id) && _verbose) {
        print_bug_submit_message(st, _thread);
      }

@@ -1534,10 +1568,11 @@
       close(fd_log);
       fd_log = -1;
     }
 
     log.set_fd(-1);
+    out.print_raw_cr("#");
   }
 
   if (PrintNMTStatistics) {
     fdStream fds(fd_out);
     MemTracker::final_report(&fds);

@@ -1560,19 +1595,27 @@
         } else {
           int e = errno;
           out.print_raw("#\n# Can't open file to dump replay data. Error: ");
           out.print_raw_cr(os::strerror(e));
         }
+        out.print_raw_cr("#");
       }
     }
   }
 
+#if INCLUDE_JFR
+  static bool skip_jfr_repository = false;
+  if (!skip_jfr_repository) {
+    skip_jfr_repository = true;
+    print_jfr_path(&out);
+    out.print_raw_cr("#");
+  }
+#endif
+
   static bool skip_bug_url = !should_report_bug(_id);
   if (!skip_bug_url) {
     skip_bug_url = true;
-
-    out.print_raw_cr("#");
     print_bug_submit_message(&out, _thread);
   }
 
   static bool skip_OnError = false;
   if (!skip_OnError && OnError && OnError[0]) {
< prev index next >