- java.lang.Object
-
- com.ibm.dtfj.javacore.parser.j9.SectionParserGrammar
-
- com.ibm.dtfj.javacore.parser.j9.SectionParser
-
- com.ibm.dtfj.javacore.parser.j9.section.thread.ThreadSectionParser
-
- All Implemented Interfaces:
ISectionParser,ICommonTypes,IThreadTypes
public class ThreadSectionParser extends SectionParser implements IThreadTypes
Parse the thread section. This has details of all the threads, including Java and native stack traces.
-
-
Field Summary
-
Fields declared in class com.ibm.dtfj.javacore.parser.j9.SectionParser
fImageBuilder, LOOKAHEAD_DEPTH
-
Fields declared in class com.ibm.dtfj.javacore.parser.j9.SectionParserGrammar
anyMatched, DEFAULT_DEPTH, fLookAheadBuffer, FORCE_THROW, fSectionName, fTagManager, fTagParser
-
Fields declared in interface com.ibm.dtfj.javacore.parser.j9.section.common.ICommonTypes
BUILD_INFO, COMMON, JIT_BUILD_VERSION, JIT_PRESENT, JRE_NAME, JRE_VERSION, NULL, POINTER_SIZE, SECTION, UNAVAILABLE_DATA, VM_VERSION
-
Fields declared in interface com.ibm.dtfj.javacore.parser.j9.section.thread.IThreadTypes
ABSTRACT_THREAD_ID, BLOCKER_OBJECT_ADDRESS, BLOCKER_OBJECT_FULL_JAVA_NAME, CLASS_FILE_NAME, COMPILATION_LEVEL, COMPILED, CONTEXT_CLASSLOADER_OBJECT_ADDRESS, CONTEXT_CLASSLOADER_OBJECT_FULL_JAVA_NAME, CPU_TIME_SYSTEM, CPU_TIME_TOTAL, CPU_TIME_USER, FULL_NAME, JAVA_STATE, JAVA_THREAD_NAME, JAVA_THREAD_OBJ, METHOD_NAME, NATIVE_STACK_FROM, NATIVE_STACK_SIZE, NATIVE_STACK_TO, NATIVE_THREAD_ID, NATIVE_THREAD_POLICY, NATIVE_THREAD_PRIORITY, NON_COMPILED, SCOPE, STACK_FILE, STACK_LINE, STACK_MODULE, STACK_MODULE_OFFSET, STACK_PROC_ADDRESS, STACK_ROUTINE, STACK_ROUTINE_ADDRESS, STACK_ROUTINE_OFFSET, STACK_THREAD, STACKTRACE_JAVA_METHOD, STACKTRACE_LINE_NUMBER, STACKTRACE_METHOD_TYPE, STACKTRACE_NATIVE_METHOD, T_1XMCURTHDINFO, T_1XMTHDINFO, T_2XMFULLTHDDUMP, T_3XMCPUTIME, T_3XMHEAPALLOC, T_3XMJAVALTHRCCL, T_3XMJAVALTHREAD, T_3XMTHREADBLOCK, T_3XMTHREADINFO, T_3XMTHREADINFO1, T_3XMTHREADINFO2, T_3XMTHREADINFO3, T_4XENATIVESTACK, T_4XESTACKTRACE, THREAD_SECTION, UNKNOWN_COMPILATION_LEVEL, UNPARSED_ENV_INFORMATION, VM_FLAGS, VM_STATE, VM_THREAD_ID, VM_THREAD_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description ThreadSectionParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidallThreadInfoSubsection()protected voidcurrentThreadInfoSubsection()current_thread_info := CURRENT_THREAD_INFO_SUBSECTION thread_info_section | CURRENT_THREAD_INFO_SUBSECTION
This implementation allows for the parsing process to continue even after errors are caught.protected intprocessThreadandStackTrace(IAttributeValueMap javaThreadResults, boolean buildModel, boolean currentThread, int currentLineNumber)protected voidsovOnlyRules(String startingTag)protected voidthreadInfo(boolean buildModel, boolean currentThread)protected voidtopLevelRule()Must be implemented by subclass.-
Methods declared in class com.ibm.dtfj.javacore.parser.j9.SectionParser
addAsProperty, readIntoDTFJ
-
Methods declared in class com.ibm.dtfj.javacore.parser.j9.SectionParserGrammar
consume, getCurrentFileLineNumber, getErrors, getLineRuleResults, getLookAheadBuffer, handleError, handleError, handleError, handleError, handleError, handleErrorAtLineNumber, handleRequiredMismatch, handleUnknownMismatch, isValidJavaCoreTag, isValidSectionTag, lookAhead, match, matchOptional, matchRequired, processTagLineOptional, processTagLineRequired, setLookAheadBuffer, setLookAheadBuffer, setTagManager
-
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods declared in interface com.ibm.dtfj.javacore.parser.framework.parser.ISectionParser
anyMatched, getSectionName
-
-
-
-
Method Detail
-
topLevelRule
protected void topLevelRule() throws ParserExceptionDescription copied from class:SectionParserMust be implemented by subclass.- Specified by:
topLevelRulein classSectionParser- Throws:
ParserException
-
currentThreadInfoSubsection
protected void currentThreadInfoSubsection() throws ParserExceptioncurrent_thread_info := CURRENT_THREAD_INFO_SUBSECTION thread_info_section | CURRENT_THREAD_INFO_SUBSECTION
This implementation allows for the parsing process to continue even after errors are caught. See the error handler for more information.- Parameters:
scanner-- Throws:
ParserException- See Also:
SectionParserGrammar.handleError(Exception)
-
allThreadInfoSubsection
protected void allThreadInfoSubsection() throws ParserException- Parameters:
scanner-- Throws:
ParserException
-
threadInfo
protected void threadInfo(boolean buildModel, boolean currentThread) throws ParserException- Parameters:
buildModel- true if data parsed should be added into the builder.currentThread- This is the current thread- Throws:
ParserException
-
processThreadandStackTrace
protected int processThreadandStackTrace(IAttributeValueMap javaThreadResults, boolean buildModel, boolean currentThread, int currentLineNumber) throws ParserException
- Parameters:
javaThreadResults-buildModel-currentThread- Is this the current thread?currentLineNumber-- Returns:
- updated line number
- Throws:
ParserException
-
sovOnlyRules
protected void sovOnlyRules(String startingTag) throws ParserException
- Specified by:
sovOnlyRulesin classSectionParser- Parameters:
startingTag-- Throws:
ParserException
-
-