Class NoOpBuildLog
- java.lang.Object
-
- jetbrains.buildServer.serverSide.impl.NoOpBuildLog
-
- All Implemented Interfaces:
BuildLog,BuildLogEx,BuildLogReader,BuildLogReaderEx,BuildLogWriter,BuildLogWriterEx,FlowHierarchy,MessagesState
public class NoOpBuildLog extends Object implements BuildLogEx
-
-
Field Summary
-
Fields inherited from interface jetbrains.buildServer.serverSide.buildLog.MessagesState
MAX_LAST_MESSAGE_TEXT_SIZE
-
-
Constructor Summary
Constructors Constructor Description NoOpBuildLog()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanbuildLogExists()voidclose()Closes this build log.BlockLogMessagecloseBlock(String blockName, String blockType, Date timestamp, String flowId)Closes last opened block with specified name and type and returns it.voidcloseBlockAsync(String blockName, String blockType, Date timestamp, String flowId)Marks an open block message as closed in the build log.voidcloseBlockAsync(String blockName, String blockType, Date timestamp, String flowId, Consumer<BlockLogMessage> openBlockConsumer)Marks an open block message as closed in the build log.BlockLogMessagecloseProgressBlock(Date timestamp, String flowId)Closes last progress block and returns it.voidcloseProgressBlockAsync(Date timestamp, String flowId)Marks an open progress block message as closed in the build log.TestOutputcollectStacktraceTestOutput(int testId)TestOutputcollectTestOutput(int testId)booleancontainsMessageWithHint(String renderingHint)LogMessageIteratorcreateIterator()LogMessageIteratorcreateIterator(int startIndex, boolean strictFlowOpening)LogMessageIteratorcreateIterator(int startIndex, LogView logView)LogMessageIteratorcreateReversedIterator(int endIndex, LogView logView)voiddispose()voiddropProgressText(String flowId)Drops current progress text.LogMessageerror(String type, String message, Date timestamp, String renderingHint, String flowId, Collection<String> tags)Creates and returns a new log message, which reports about an error.voidflowFinished(String flow)This flow is finished and can be releasedintflowIdToInt(String flowId)voidflowStarted(String flow, String parentFlow)This flow is startedvoidflush()Flushes messages from this build log to disk.voidflushIfNeeded()Flushes all messages from local buffer to persister's buffer.TimeZonegetAgentTimeZone()StringgetBuildLogId()The unique id of the build log that allows to find the build log in the storage.StringgetCurrentPath()StringgetCurrentProgressText()List<LogMessage>getDefaultFilteredMessages()Returns messages accepted by default filter.List<LogMessage>getErrorMessages()Returns messages accepted byProblemsFilter.List<LogMessage>getFilteredMessages(LogMessageFilter filter)Returns list of messages accepted by specified filter.InternalErrorMessageProcessor.LogErrorDatagetFirstInternalError()LinkedHashMap<LogMessageInfo,Integer>getFirstLevelOpenCloseBlocksToIndex(LogView logView)intgetFlowAwareIndex(int linearIndex)Map<Integer,FlowsMessageProcessor.FlowInfo>getFlowIndex()IntegergetFlowStartIndex(int flowId)List<Integer>getFlowWithChildren(String flowId)Return list of child flows for given flow id, plus flowId itselfintgetFormatVersion()Map<LogMessageInfo,Integer>getHierarchyAndThresholdMessages(int thresholdMessageId, LogView logView)BlockLogMessagegetLastBlockMessage(String flowId)Returns last block message inside specified flowIntegergetLastIndexSatisfyingKinds(int startIndex, Set<LogMessageKind> kinds, LogView logView)LogMessagegetLastMessage()Returns last message.DategetLastMessageTimestamp()Returns timestamp of the last logged message.Iterator<LogMessageInfo>getLowLevelMessagesIterator(int startIndex)Returns iterator over low level build log records.FilegetMainLogFile()Primary log file which contains messages of the log.LogMessageInfogetMessageInfo(int messageIndex)List<LogMessage>getMessages()Returns all messages as list in order of their appearance.Iterator<LogMessage>getMessagesIterator()Returns iterator over all log messages.intgetNumberOfMessages()IntegergetParentFlow(int flowId)Return parent flow ID for given flow IDList<BlockDescriptor>getPendingOpenBlocks(Integer flowId, String blockType)ProgressInfogetProgressInfo()Returns progress information for the current build.StringgetSizeEstimate()Returns a human-readable string containing approx.longgetSizeEstimateAsLong()Returns an approx.intgetStartedStepsNumber()Iterator<LogMessage>getVerboseIterator()Iterator<LogMessage>getVerboseIterator(LogView logView)booleanhasLocallyBufferedMessages()booleanhasMessagesAvailable()Returnstrueif the log has at least one message.booleanisClosed()Returnstrueif this build log was closed.booleanisFlowAwareIndexAvailable()Returnstrueif the flow-aware index is available for the build (might trigger index costruction if it is not available yet).LogMessagemessage(String text, Status status, Date timestamp, String renderingHint, String flowId, Collection<String> tags)Adds message and returns itLogMessagemessage(String text, Status status, MessageAttrs attrs)Adds message and returns itvoidmessageAsync(String text, Status status, MessageAttrs attrs)Logs a message to the build log.voidmessageAsync(String text, Status status, MessageAttrs attrs, Consumer<Integer> anchorConsumer)Logs a message to the build log.BlockLogMessageopenBlock(String blockName, String blockType, Date timestamp, String renderingHint, String flowId, Collection<String> tags)Opens new block.BlockLogMessageopenBlock(String blockName, String blockType, MessageAttrs attrs)Opens new block.voidopenBlockAsync(String blockName, String blockType, MessageAttrs attrs)Logs an open block message to the build log.voidopenBlockAsync(String blockName, String blockType, MessageAttrs attrs, Consumer<Integer> anchorConsumer)Logs an open block message to the build log.BlockLogMessageopenProgressBlock(String blockName, Date timestamp, String flowId, Collection<String> tags)voidopenProgressBlockAsync(String blockName, MessageAttrs attrs)Logs an open progress block message to the build log.LogMessageprogressMessage(String message, Date timestamp, String flowId, Collection<String> tags)voidprogressMessageAsync(String message, MessageAttrs attrs)Logs a progress message to the build log.voidrefreshNextMessageIndex()This method exists as a workaround for multi node setup when several nodes can write messages to build log.intresolveAnchor(int index, LogView logView)Map<Integer,Integer>resolveAnchors(Set<Integer> indexes)voidscheduleAfterFlushTask(String taskId, Runnable runnable)Adds a task which should be executed right after the next build log flush.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jetbrains.buildServer.serverSide.buildLog.MessagesState
error, message, openBlock, openProgressBlock, progressMessage
-
-
-
-
Method Detail
-
getLowLevelMessagesIterator
@NotNull public Iterator<LogMessageInfo> getLowLevelMessagesIterator(int startIndex)
Description copied from interface:BuildLogReaderExReturns iterator over low level build log records.- Specified by:
getLowLevelMessagesIteratorin interfaceBuildLogReaderEx
-
getPendingOpenBlocks
@NotNull public List<BlockDescriptor> getPendingOpenBlocks(@Nullable Integer flowId, @Nullable String blockType)
- Specified by:
getPendingOpenBlocksin interfaceBuildLogReaderEx- Parameters:
flowId- ifnullblocks from any flow are returned, if notnull, only blocks in the specified flow are returnedblockType- ifnullall blocks are returned, if notnull, only blocks of the specified type are returned- Returns:
- all not yet closed blocks in all flows (returned blocks are order by their opening time - oldest at the beginning, newest at the end).
-
getNumberOfMessages
public int getNumberOfMessages()
- Specified by:
getNumberOfMessagesin interfaceBuildLogReaderEx- Returns:
- total number of logged messages in this build log
-
flushIfNeeded
public void flushIfNeeded()
Description copied from interface:BuildLogWriterExFlushes all messages from local buffer to persister's buffer. Flushes persister's buffer if its size or exceeds some threshold, or it was not flushed for some time period.- Specified by:
flushIfNeededin interfaceBuildLogWriterEx
-
scheduleAfterFlushTask
public void scheduleAfterFlushTask(@NotNull String taskId, @NotNull Runnable runnable)Description copied from interface:BuildLogWriterExAdds a task which should be executed right after the next build log flush.- Specified by:
scheduleAfterFlushTaskin interfaceBuildLogWriterEx- Parameters:
taskId- unique (in for a build) task id, subsequent attempts to add a task with the same id are ignoredrunnable- task
-
hasLocallyBufferedMessages
public boolean hasLocallyBufferedMessages()
- Specified by:
hasLocallyBufferedMessagesin interfaceBuildLogWriterEx
-
flush
public void flush()
Description copied from interface:BuildLogWriterFlushes messages from this build log to disk.- Specified by:
flushin interfaceBuildLogWriter
-
close
public void close()
Description copied from interface:BuildLogWriterCloses this build log. Subsequent attempts to call addMessage will result in an exception.- Specified by:
closein interfaceBuildLogWriter
-
flowStarted
public void flowStarted(@NotNull String flow, @NotNull String parentFlow)Description copied from interface:FlowHierarchyThis flow is started- Specified by:
flowStartedin interfaceFlowHierarchy- Parameters:
flow- flow idparentFlow- parent flow id
-
flowFinished
public void flowFinished(@NotNull String flow)Description copied from interface:FlowHierarchyThis flow is finished and can be released- Specified by:
flowFinishedin interfaceFlowHierarchy- Parameters:
flow- flow id
-
getFlowWithChildren
@NotNull public List<Integer> getFlowWithChildren(@NotNull String flowId)
Description copied from interface:FlowHierarchyReturn list of child flows for given flow id, plus flowId itself- Specified by:
getFlowWithChildrenin interfaceFlowHierarchy- Parameters:
flowId- parent of the child flows to be returned. the param is returned with results of the call.- Returns:
- A list of flowIds in topological order.
-
getParentFlow
@Nullable public Integer getParentFlow(int flowId)
Description copied from interface:FlowHierarchyReturn parent flow ID for given flow ID- Specified by:
getParentFlowin interfaceFlowHierarchy- Parameters:
flowId- child flow ID- Returns:
- see above
-
flowIdToInt
public int flowIdToInt(@NotNull String flowId)- Specified by:
flowIdToIntin interfaceFlowHierarchy
-
getSizeEstimate
@NotNull public String getSizeEstimate()
Description copied from interface:BuildLogReturns a human-readable string containing approx. build log size.- Specified by:
getSizeEstimatein interfaceBuildLog- Returns:
- approx. build log size as string
-
getSizeEstimateAsLong
public long getSizeEstimateAsLong()
Description copied from interface:BuildLogReturns an approx. build log size.- Specified by:
getSizeEstimateAsLongin interfaceBuildLog- Returns:
- approx. build log size as long
-
getMainLogFile
@NotNull public File getMainLogFile()
Description copied from interface:BuildLogPrimary log file which contains messages of the log. This file MUST NOT be used to read or write messages, but only as a reference on where the log is stored. The build log also may have one or more index files, stored nearby this messages log file.- Specified by:
getMainLogFilein interfaceBuildLog
-
getBuildLogId
@NotNull public String getBuildLogId()
Description copied from interface:BuildLogExThe unique id of the build log that allows to find the build log in the storage. For now this id is the path to the main messages file, but this implementation may be changed at any time.- Specified by:
getBuildLogIdin interfaceBuildLogEx
-
openBlock
public BlockLogMessage openBlock(@NotNull String blockName, @NotNull String blockType, @Nullable Date timestamp, @Nullable String renderingHint, @Nullable String flowId, @Nullable Collection<String> tags)
Description copied from interface:MessagesStateOpens new block.- Specified by:
openBlockin interfaceMessagesState- Parameters:
blockName- name of the blockblockType- type of the blocktimestamp- timestamprenderingHint- hint for rendering this blockflowId- block flow identifiertags- block tags which may be used to pass additional data- Returns:
- block message
-
openBlock
public BlockLogMessage openBlock(@NotNull String blockName, @NotNull String blockType, @NotNull MessageAttrs attrs)
Description copied from interface:MessagesStateOpens new block.- Specified by:
openBlockin interfaceMessagesState- Parameters:
blockName- name of the blockblockType- type of the blockattrs- message attributes- Returns:
- block message
-
openBlockAsync
public void openBlockAsync(@NotNull String blockName, @NotNull String blockType, @NotNull MessageAttrs attrs)Description copied from interface:MessagesStateLogs an open block message to the build log. The method does not write to the build log immediately, instead it puts the message into a buffer which will be flushed later.- Specified by:
openBlockAsyncin interfaceMessagesState- Parameters:
blockName- name of the blockblockType- type of the blockattrs- message attributes
-
openBlockAsync
public void openBlockAsync(@NotNull String blockName, @NotNull String blockType, @NotNull MessageAttrs attrs, @NotNull Consumer<Integer> anchorConsumer)Description copied from interface:MessagesStateLogs an open block message to the build log. The method does not write to the build log immediately, instead it puts the message into a buffer which will be flushed later.- Specified by:
openBlockAsyncin interfaceMessagesState- Parameters:
blockName- name of the blockblockType- type of the blockattrs- message attributesanchorConsumer- a consumer that is populated by message id that can later be used to access the message
-
closeBlock
@Nullable public BlockLogMessage closeBlock(@NotNull String blockName, @NotNull String blockType, @NotNull Date timestamp, @NotNull String flowId)
Description copied from interface:MessagesStateCloses last opened block with specified name and type and returns it.- Specified by:
closeBlockin interfaceMessagesState- Parameters:
blockName- name of the block to closeblockType- type of the block to closetimestamp- finish dateflowId- block flow identifier
-
closeBlockAsync
public void closeBlockAsync(@NotNull String blockName, @NotNull String blockType, @NotNull Date timestamp, @NotNull String flowId)Description copied from interface:MessagesStateMarks an open block message as closed in the build log. The method does not write to the build log immediately, instead it puts the message into a buffer which will be flushed later.- Specified by:
closeBlockAsyncin interfaceMessagesState- Parameters:
blockName- name of the block to closeblockType- type of the block to closetimestamp- finish dateflowId- block flow identifier
-
closeBlockAsync
public void closeBlockAsync(@NotNull String blockName, @NotNull String blockType, @NotNull Date timestamp, @NotNull String flowId, @NotNull Consumer<BlockLogMessage> openBlockConsumer)Description copied from interface:BuildLogWriterExMarks an open block message as closed in the build log. The method does not write to the build log immediately, instead it puts the message into a buffer which will be flushed later. But any messages that are in the buffer when this method is called are going to be flushed so that corresponding open bLock could be correctly determined.- Specified by:
closeBlockAsyncin interfaceBuildLogWriterEx- Parameters:
blockName- name of the block to closeblockType- type of the block to closetimestamp- finish dateflowId- block flow identifieropenBlockConsumer- a consumer that is populated by an open block that was closed.
-
message
public LogMessage message(@Nullable String text, @Nullable Status status, @Nullable Date timestamp, @Nullable String renderingHint, @Nullable String flowId, @Nullable Collection<String> tags)
Description copied from interface:MessagesStateAdds message and returns it- Specified by:
messagein interfaceMessagesState- Parameters:
text- message textstatus- message statustimestamp- timestamprenderingHint- hint for rendering this messageflowId- message flow identifiertags- message tags which may be used to pass additional data- Returns:
- message
-
message
public LogMessage message(@Nullable String text, @Nullable Status status, @NotNull MessageAttrs attrs)
Description copied from interface:MessagesStateAdds message and returns it- Specified by:
messagein interfaceMessagesState- Parameters:
text- message textstatus- message statusattrs- message attributes- Returns:
- message
-
messageAsync
public void messageAsync(@Nullable String text, @Nullable Status status, @NotNull MessageAttrs attrs)Description copied from interface:MessagesStateLogs a message to the build log. The method does not write to the build log immediately, instead it puts the message into a buffer which will be flushed later.- Specified by:
messageAsyncin interfaceMessagesState- Parameters:
text- message textstatus- message statusattrs- message attributes
-
messageAsync
public void messageAsync(@Nullable String text, @Nullable Status status, @NotNull MessageAttrs attrs, @NotNull Consumer<Integer> anchorConsumer)Description copied from interface:MessagesStateLogs a message to the build log. The method does not write to the build log immediately, instead it puts the message into a buffer which will be flushed later.- Specified by:
messageAsyncin interfaceMessagesState- Parameters:
text- message textstatus- message statusattrs- message attributesanchorConsumer- a consumer that is populated by message id that can later be used to access the message
-
error
public LogMessage error(@Nullable String type, @Nullable String message, @Nullable Date timestamp, @Nullable String renderingHint, @Nullable String flowId, @Nullable Collection<String> tags)
Description copied from interface:MessagesStateCreates and returns a new log message, which reports about an error.- Specified by:
errorin interfaceMessagesState- Parameters:
type- the error typemessage- the error messagetimestamp- timestamprenderingHint- rendering hintflowId- message flow identifiertags- message tags which may be used to pass additional data- Returns:
- corresponding log message
-
getLastBlockMessage
public BlockLogMessage getLastBlockMessage(@NotNull String flowId)
Description copied from interface:MessagesStateReturns last block message inside specified flow- Specified by:
getLastBlockMessagein interfaceMessagesState- Parameters:
flowId- flow id- Returns:
- last opened block or null if no such flow or no blocks are open
-
getLastMessage
@Nullable public LogMessage getLastMessage()
Description copied from interface:MessagesStateReturns last message. Same asMessagesState.getLastBlockMessage(String)if last message is block message. Will return no more thanMessagesState.MAX_LAST_MESSAGE_TEXT_SIZEchars of original text- Specified by:
getLastMessagein interfaceMessagesState- Returns:
- last message
-
openProgressBlock
public BlockLogMessage openProgressBlock(@NotNull String blockName, @Nullable Date timestamp, @NotNull String flowId, @Nullable Collection<String> tags)
- Specified by:
openProgressBlockin interfaceMessagesState
-
openProgressBlockAsync
public void openProgressBlockAsync(@NotNull String blockName, @NotNull MessageAttrs attrs)Description copied from interface:MessagesStateLogs an open progress block message to the build log. The method does not write to the build log immediately, instead it puts the message into a buffer which will be flushed later.- Specified by:
openProgressBlockAsyncin interfaceMessagesState- Parameters:
blockName- progress block nameattrs- progress block attributes
-
closeProgressBlock
@Nullable public BlockLogMessage closeProgressBlock(@NotNull Date timestamp, @NotNull String flowId)
Description copied from interface:MessagesStateCloses last progress block and returns it.- Specified by:
closeProgressBlockin interfaceMessagesState- Parameters:
timestamp- finish dateflowId- flow id- Returns:
- closed progress block or null
-
closeProgressBlockAsync
public void closeProgressBlockAsync(@NotNull Date timestamp, @NotNull String flowId)Description copied from interface:MessagesStateMarks an open progress block message as closed in the build log. The method does not write to the build log immediately, instead it puts the message into a buffer which will be flushed later.- Specified by:
closeProgressBlockAsyncin interfaceMessagesState- Parameters:
timestamp- finish dateflowId- block flow identifier
-
progressMessage
public LogMessage progressMessage(@NotNull String message, @Nullable Date timestamp, @NotNull String flowId, @Nullable Collection<String> tags)
- Specified by:
progressMessagein interfaceMessagesState
-
progressMessageAsync
public void progressMessageAsync(@NotNull String message, @NotNull MessageAttrs attrs)Description copied from interface:MessagesStateLogs a progress message to the build log. The method does not write to the build log immediately, instead it puts the message into a buffer which will be flushed later.- Specified by:
progressMessageAsyncin interfaceMessagesState- Parameters:
message- progress message text (empty parameter will be perceived as "drop progress text command" - current progress text for specified flow will be cleared)attrs- progress message attributes
-
dropProgressText
public void dropProgressText(@NotNull String flowId)Description copied from interface:MessagesStateDrops current progress text.- Specified by:
dropProgressTextin interfaceMessagesState- Parameters:
flowId- flow id
-
getCurrentProgressText
@Nullable public String getCurrentProgressText()
- Specified by:
getCurrentProgressTextin interfaceMessagesState- Returns:
- current progress text, i.e. text defined via progress messages; returns null if there is no progress text defined
-
getMessagesIterator
@NotNull public Iterator<LogMessage> getMessagesIterator()
Description copied from interface:BuildLogReaderReturns iterator over all log messages. Build log messages form a tree which is iterated as follows: iterator walks down the tree until it meets a leaf, then it seeks whether parent of the leaf has siblings and iterate over them, moving down to their children if needed and so on. In other words this iterator iterates over all messages in the tree in order of their appearance. The iterator is filtered by default, i.e. it doesn't include internal messages. Each log message has parent, so while iterating down the tree it is possible to go up to the topmost parent. You can obtain level in the tree for each message with help ofLogMessage.getLevel()method.- Specified by:
getMessagesIteratorin interfaceBuildLogReader- Returns:
- filtered iterator by log messages.
- See Also:
LogMessage.isInternal()
-
getVerboseIterator
@NotNull public Iterator<LogMessage> getVerboseIterator()
- Specified by:
getVerboseIteratorin interfaceBuildLogReader- Returns:
- message iterator without any filtering, i.e. includes all messages in the build log
- See Also:
BuildLogReader.getMessagesIterator()
-
getVerboseIterator
@NotNull public Iterator<LogMessage> getVerboseIterator(@NotNull LogView logView) throws FlowAwareIndexAccessException
- Specified by:
getVerboseIteratorin interfaceBuildLogReaderEx- Parameters:
logView- linear or flowAware log view- Returns:
- message iterator based on provided view mode without any filtering, i.e. includes all messages in the build log
- Throws:
FlowAwareIndexAccessException
-
hasMessagesAvailable
public boolean hasMessagesAvailable()
Description copied from interface:BuildLogReaderExReturnstrueif the log has at least one message.- Specified by:
hasMessagesAvailablein interfaceBuildLogReaderEx
-
getMessages
@NotNull public List<LogMessage> getMessages()
Description copied from interface:BuildLogReaderReturns all messages as list in order of their appearance.- Specified by:
getMessagesin interfaceBuildLogReader- Returns:
- all messages as list in order of their appearance.
-
getDefaultFilteredMessages
@NotNull public List<LogMessage> getDefaultFilteredMessages()
Description copied from interface:BuildLogReaderReturns messages accepted by default filter. SeeDefaultLogMessageFilter.- Specified by:
getDefaultFilteredMessagesin interfaceBuildLogReader- Returns:
- messages accepted by default filter
-
getErrorMessages
@NotNull public List<LogMessage> getErrorMessages()
Description copied from interface:BuildLogReaderReturns messages accepted byProblemsFilter.- Specified by:
getErrorMessagesin interfaceBuildLogReader- Returns:
- messages accepted by
ProblemsFilter.
-
getFilteredMessages
@NotNull public List<LogMessage> getFilteredMessages(@NotNull LogMessageFilter filter)
Description copied from interface:BuildLogReaderReturns list of messages accepted by specified filter.- Specified by:
getFilteredMessagesin interfaceBuildLogReader- Parameters:
filter- filter for messages- Returns:
- messages accepted by filter.
-
isClosed
public boolean isClosed()
Description copied from interface:BuildLogReaderReturnstrueif this build log was closed.It's important that if the build log was closed on another node, the current one may not know about it!
- Specified by:
isClosedin interfaceBuildLogReader
-
getLastMessageTimestamp
@Nullable public Date getLastMessageTimestamp()
Description copied from interface:BuildLogReaderReturns timestamp of the last logged message.- Specified by:
getLastMessageTimestampin interfaceBuildLogReader- Returns:
- timestamp or null if there were no messages yet.
-
getCurrentPath
@NotNull public String getCurrentPath()
- Specified by:
getCurrentPathin interfaceBuildLogReader- Returns:
- current path - concatenation of text from the last message and names of all the parent blocks
-
dispose
public void dispose()
- Specified by:
disposein interfaceBuildLogEx
-
refreshNextMessageIndex
public void refreshNextMessageIndex()
Description copied from interface:BuildLogExThis method exists as a workaround for multi node setup when several nodes can write messages to build log. In this case index of the next message can become obsolete and if this index is required, then this refresh method should be called before logging a message to the build log.- Specified by:
refreshNextMessageIndexin interfaceBuildLogEx
-
isFlowAwareIndexAvailable
public boolean isFlowAwareIndexAvailable()
Description copied from interface:BuildLogExReturnstrueif the flow-aware index is available for the build (might trigger index costruction if it is not available yet).- Specified by:
isFlowAwareIndexAvailablein interfaceBuildLogEx
-
getProgressInfo
@NotNull public ProgressInfo getProgressInfo()
Description copied from interface:BuildLogExReturns progress information for the current build.- Specified by:
getProgressInfoin interfaceBuildLogEx
-
containsMessageWithHint
public boolean containsMessageWithHint(@NotNull String renderingHint)- Specified by:
containsMessageWithHintin interfaceBuildLogReaderEx
-
getFirstInternalError
@Nullable public InternalErrorMessageProcessor.LogErrorData getFirstInternalError()
- Specified by:
getFirstInternalErrorin interfaceBuildLogReaderEx
-
getFlowStartIndex
@Nullable public Integer getFlowStartIndex(int flowId)
- Specified by:
getFlowStartIndexin interfaceBuildLogReaderEx
-
getLastIndexSatisfyingKinds
@Nullable public Integer getLastIndexSatisfyingKinds(int startIndex, @NotNull Set<LogMessageKind> kinds, @NotNull LogView logView)
- Specified by:
getLastIndexSatisfyingKindsin interfaceBuildLogReaderEx
-
getAgentTimeZone
@Nullable public TimeZone getAgentTimeZone()
- Specified by:
getAgentTimeZonein interfaceBuildLogReaderEx
-
getFirstLevelOpenCloseBlocksToIndex
@NotNull public LinkedHashMap<LogMessageInfo,Integer> getFirstLevelOpenCloseBlocksToIndex(@NotNull LogView logView) throws FlowAwareIndexAccessException
- Specified by:
getFirstLevelOpenCloseBlocksToIndexin interfaceBuildLogReaderEx- Throws:
FlowAwareIndexAccessException
-
getHierarchyAndThresholdMessages
@Nullable public Map<LogMessageInfo,Integer> getHierarchyAndThresholdMessages(int thresholdMessageId, @NotNull LogView logView)
- Specified by:
getHierarchyAndThresholdMessagesin interfaceBuildLogReaderEx
-
getFlowIndex
@NotNull public Map<Integer,FlowsMessageProcessor.FlowInfo> getFlowIndex()
- Specified by:
getFlowIndexin interfaceBuildLogReaderEx
-
collectTestOutput
@NotNull public TestOutput collectTestOutput(int testId)
- Specified by:
collectTestOutputin interfaceBuildLogReaderEx
-
collectStacktraceTestOutput
@NotNull public TestOutput collectStacktraceTestOutput(int testId)
- Specified by:
collectStacktraceTestOutputin interfaceBuildLogReaderEx
-
getMessageInfo
@Nullable public LogMessageInfo getMessageInfo(int messageIndex)
- Specified by:
getMessageInfoin interfaceBuildLogReaderEx
-
getStartedStepsNumber
public int getStartedStepsNumber()
- Specified by:
getStartedStepsNumberin interfaceBuildLogReaderEx
-
getFlowAwareIndex
public int getFlowAwareIndex(int linearIndex) throws FlowAwareIndexAccessException- Specified by:
getFlowAwareIndexin interfaceBuildLogReaderEx- Throws:
FlowAwareIndexAccessException
-
resolveAnchors
public Map<Integer,Integer> resolveAnchors(@NotNull Set<Integer> indexes) throws AnchorReadException
- Specified by:
resolveAnchorsin interfaceBuildLogReaderEx- Throws:
AnchorReadException
-
resolveAnchor
public int resolveAnchor(int index, @NotNull LogView logView) throws AnchorReadException, FlowAwareIndexAccessException- Specified by:
resolveAnchorin interfaceBuildLogReaderEx- Throws:
AnchorReadExceptionFlowAwareIndexAccessException
-
getFormatVersion
public int getFormatVersion()
- Specified by:
getFormatVersionin interfaceBuildLogReaderEx
-
buildLogExists
public boolean buildLogExists()
- Specified by:
buildLogExistsin interfaceBuildLogReaderEx
-
createIterator
@NotNull public LogMessageIterator createIterator()
- Specified by:
createIteratorin interfaceBuildLogReaderEx
-
createIterator
@NotNull public LogMessageIterator createIterator(int startIndex, boolean strictFlowOpening)
- Specified by:
createIteratorin interfaceBuildLogReaderEx
-
createIterator
@NotNull public LogMessageIterator createIterator(int startIndex, @NotNull LogView logView) throws FlowAwareIndexAccessException
- Specified by:
createIteratorin interfaceBuildLogReaderEx- Throws:
FlowAwareIndexAccessException
-
createReversedIterator
@NotNull public LogMessageIterator createReversedIterator(int endIndex, @NotNull LogView logView) throws FlowAwareIndexAccessException
- Specified by:
createReversedIteratorin interfaceBuildLogReaderEx- Throws:
FlowAwareIndexAccessException
-
-