< prev index next >
src/hotspot/share/utilities/events.cpp
Print this page
rev 55013 : [mq]: VM.events
*** 49,78 ****
_next = Events::_logs;
Events::_logs = this;
}
// For each registered event logger, print out the current contents of
! // the buffer. This is normally called when the JVM is crashing.
! void Events::print_all(outputStream* out) {
EventLog* log = _logs;
while (log != NULL) {
! log->print_log_on(out);
log = log->next();
}
}
void Events::print() {
print_all(tty);
}
void Events::init() {
if (LogEvents) {
! _messages = new StringEventLog("Events");
! _exceptions = new ExceptionsEventLog("Internal exceptions");
! _redefinitions = new StringEventLog("Classes redefined");
! _class_unloading = new UnloadingEventLog("Classes unloaded");
! _deopt_messages = new StringEventLog("Deoptimization events");
}
}
void eventlog_init() {
Events::init();
--- 49,103 ----
_next = Events::_logs;
Events::_logs = this;
}
// For each registered event logger, print out the current contents of
! // the buffer.
! void Events::print_all(outputStream* out, int max) {
EventLog* log = _logs;
while (log != NULL) {
! log->print_log_on(out, max);
log = log->next();
}
}
+ // Print a single event log specified by name.
+ void Events::print_one(outputStream* out, const char* log_name, int max) {
+ EventLog* log = _logs;
+ int num_printed = 0;
+ while (log != NULL) {
+ if (log->matches_name(log_name)) {
+ log->print_log_on(out, max);
+ num_printed ++;
+ }
+ log = log->next();
+ }
+ // Write a short error note if no name matched.
+ if (num_printed == 0) {
+ out->print_cr("The name \"%s\" did not match any known event log. "
+ "Valid event log names are:", log_name);
+ EventLog* log = _logs;
+ while (log != NULL) {
+ log->print_names(out);
+ out->cr();
+ log = log->next();
+ }
+ }
+ }
+
+
void Events::print() {
print_all(tty);
}
void Events::init() {
if (LogEvents) {
! _messages = new StringEventLog("Events", "events");
! _exceptions = new ExceptionsEventLog("Internal exceptions", "exc");
! _redefinitions = new StringEventLog("Classes redefined", "redef");
! _class_unloading = new UnloadingEventLog("Classes unloaded", "unload");
! _deopt_messages = new StringEventLog("Deoptimization events", "deopt");
}
}
void eventlog_init() {
Events::init();
< prev index next >