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 }