- 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 void
allThreadInfoSubsection()
protected void
currentThreadInfoSubsection()
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 int
processThreadandStackTrace(IAttributeValueMap javaThreadResults, boolean buildModel, boolean currentThread, int currentLineNumber)
protected void
sovOnlyRules(String startingTag)
protected void
threadInfo(boolean buildModel, boolean currentThread)
protected void
topLevelRule()
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 ParserException
Description copied from class:SectionParser
Must be implemented by subclass.- Specified by:
topLevelRule
in classSectionParser
- Throws:
ParserException
-
currentThreadInfoSubsection
protected void currentThreadInfoSubsection() throws ParserException
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. 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:
sovOnlyRules
in classSectionParser
- Parameters:
startingTag
-- Throws:
ParserException
-
-