1 /* 2 * Copyright (c) 2014, 2015, Dynatrace and/or its affiliates. All rights reserved. 3 * 4 * This file is part of the Lock Contention Tracing Subsystem for the HotSpot 5 * Virtual Machine, which is developed at Christian Doppler Laboratory on 6 * Monitoring and Evolution of Very-Large-Scale Software Systems. Please 7 * contact us at <http://mevss.jku.at/> if you need additional information 8 * or have any questions. 9 * 10 * This code is free software; you can redistribute it and/or modify it 11 * under the terms of the GNU General Public License version 2 only, as 12 * published by the Free Software Foundation. 13 * 14 * This code is distributed in the hope that it will be useful, but WITHOUT 15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 17 * version 2 for more details (a copy is included in the LICENSE file that 18 * accompanied this code). 19 * 20 * You should have received a copy of the GNU General Public License version 21 * 2 along with this work. If not, see <http://www.gnu.org/licenses/>. 22 * 23 */ 24 package sun.evtracing.processing; 25 26 import sun.evtracing.StatisticsProvider; 27 import sun.evtracing.parser.ClassLoaderUnloadEvent; 28 import sun.evtracing.parser.ClassMetadataEvent; 29 import sun.evtracing.parser.GroupEvent; 30 import sun.evtracing.parser.IdenticalStacksMetadataEvent; 31 import sun.evtracing.parser.MarkerEvent; 32 import sun.evtracing.parser.MetadataResetEvent; 33 import sun.evtracing.parser.MethodMetadataEvent; 34 import sun.evtracing.parser.MonitorContendedEnterEvent; 35 import sun.evtracing.parser.MonitorContendedEnteredEvent; 36 import sun.evtracing.parser.MonitorContendedExitedEvent; 37 import sun.evtracing.parser.MonitorDeflateEvent; 38 import sun.evtracing.parser.MonitorDummyEvent; 39 import sun.evtracing.parser.MonitorInflateEvent; 40 import sun.evtracing.parser.SafepointBeginEvent; 41 import sun.evtracing.parser.SafepointEndEvent; 42 import sun.evtracing.parser.StackMetadataEvent; 43 import sun.evtracing.parser.ThreadExitEvent; 44 import sun.evtracing.parser.ThreadInterruptEvent; 45 import sun.evtracing.parser.ThreadNameChangeEvent; 46 import sun.evtracing.parser.ThreadParkBeginEvent; 47 import sun.evtracing.parser.ThreadParkEndEvent; 48 import sun.evtracing.parser.ThreadStartEvent; 49 import sun.evtracing.parser.ThreadStateChangeEvent; 50 import sun.evtracing.parser.ThreadUnparkEvent; 51 import sun.evtracing.parser.VMEndEvent; 52 53 public interface TraceEventHandler extends StatisticsProvider { 54 55 void threadStart(ThreadStartEvent event); 56 57 void threadNameChange(ThreadNameChangeEvent event); 58 59 void threadStateChange(ThreadStateChangeEvent event); 60 61 void threadInterrupt(ThreadInterruptEvent event); 62 63 void threadExit(ThreadExitEvent event); 64 65 void threadParkBegin(ThreadParkBeginEvent event); 66 67 void threadParkEnd(ThreadParkEndEvent event); 68 69 void threadUnpark(ThreadUnparkEvent event); 70 71 void monitorContendedEnter(MonitorContendedEnterEvent event); 72 73 void monitorDeflate(MonitorDeflateEvent event); 74 75 void monitorContendedEntered(MonitorContendedEnteredEvent event); 76 77 void monitorContendedExited(MonitorContendedExitedEvent event); 78 79 void monitorDummy(MonitorDummyEvent event); 80 81 void safepointBegin(SafepointBeginEvent event); 82 83 void safepointEnd(SafepointEndEvent event); 84 85 void endVM(VMEndEvent event); 86 87 void monitorInflate(MonitorInflateEvent event); 88 89 void classMetadata(ClassMetadataEvent event); 90 91 void methodMetadata(MethodMetadataEvent event); 92 93 void classLoaderUnload(ClassLoaderUnloadEvent event); 94 95 void stackMetadata(StackMetadataEvent event); 96 97 void identicalStacksMetadata(IdenticalStacksMetadataEvent event); 98 99 void metadataReset(MetadataResetEvent event); 100 101 void group(GroupEvent event); 102 103 void marker(MarkerEvent event); 104 105 }