Monitoring performance

Monitoring ARender performance is done by logging method execution and complementary fields in logs files.

See below an example of log :

Start=1921-01-01 11:02:27,776 || End=1921-01-01 11:02:27,777 || TimeMs=1 || ModuleLoadingTime=227 || DocumentLoadingTime=1084 || User=null || UserAgent=null || Method=ServletDocumentService.notifyOpeningTimes(..) || MimeType=null || DocumentId=b64_I2RlZmF1bHQ= || Result=OK || Exception=null || Args=[227, 1084]

Description of fields

Warning

Fields ModuleLoadingTime and DocumentLoadingTime are available since ARender 4.3.0 and above.

Before ARender 4.3.0 : Those fields are retrievable with the field ‘args’ when field ‘method’ contains ‘notifyLoadingTimes(..)’. The field ‘args’ is constructed like following : ‘[moduleLoadingTime, documentLoadingTime]’

Field Description
Start Start date of method execution. The date is formatted as yyyy-mm-dd hh-mm-ss.
End End date of method execution. The date is formatted as yyyy-mm-dd hh-mm-ss.
TimeMs Method execution time in millisecond. This is calculated with End - Start.
ModuleLoadingTime Module loading time in millisecond. Value is equal to -1 when executed method is ServletDocumentService.notifyOpeningTimes(..).
DocumentLoadingTime Document loading time in millisecond. Value is equal to -1 when executed method ServletDocumentService.notifyOpeningTimes(..).
User User name of current user. Value is null when username has not been retrieved or if the property arender.server.perf.logger.username.fetch is false.
UserAgent UserAgent of the current user. Value is null when UserAgent has not been retrieved or the property arender.server.perf.logger.useragent.fetch is false.
Method Method name that have been executed and where informations are retrieved from.
MimeType MimeType of document used in the executed method. Value is equal to null if method is not equal to DocumentServiceMapper.getDocumentLayout(..).
DocumentId DocumentId of document used in the executed method. Value is equal to null when executed method has no need of a documentId.
DocumentIdRevertedParams Parameters encoded in the documentId. Value is égal to null when property arender.server.perf.logger.document.id.params.fetch is equal to false. Field is not logged if the documentId has no encoded parameters in it.
Result Indicate if the method have been executed successfully. Value is equal to OK if success and KO if failed.
Exception Exception thrown when there is method execution error. Value is equal to null if no error.
Args List of arguments of the method. Arguments are between square brackets and separated by comma.

List of methods logged from rendition :

Method Description Parameters Error thrown
alterDocumentContent(..) Used when downloading with annotation, saving or updating a document from the documentBuilder List of DocumentId , AlterContentDescription AlterContentOperationException, DocumentNotAvailableException
compareDocuments(..) Used when comparing two documents leftDocumentId, rightDocumentId DocumentNotAvailableException
compareImages(..) Used when comparing two images documentLeft, documentRight, fuzz, highlightColor , lowlightColor DocumentNotAvailableException
convertStampAppearance(..) Used to convert stamp appearances of PDFBox to stamp appearance of ARender List of Annotation DocumentNotAvailableException
createPrintablePDF(..) Used at document printing
createPrintablePDFStreamed(..) Used at document printing HttpServletResponse
evict(..)
extractAnnotations(..) Extract annotations from given PDF file formatType, bytes DocumentNotAvailableException
generateAnnotations(..) Generate FDF annotations from ARender annotations. Used when downloading with annotation formatType, List of Annotation DocumentNotAvailableException, IOException
generatePDFWithFDFAnnotations(..) Used at document downloading with FDF annotations List of Annotation DocumentNotAvailableException, IOException
getAdvancedSearchPageResult(..) Used at advanced search for given page searchOptions, pageNumber DocumentNotAvailableException
getAdvancedSearchPagesWithResult(..) Used at advanced search for all pages searchOptions DocumentNotAvailableException
getAnnotationAccessor(..) Used when document has annotations
getAnnotationsContainingSearchText(..) Used at search to retrieve a list of annotation containing the searched text in given page List of Annotation , searchOptions, pageNumber DocumentNotAvailableException
getBookmarks(..) Retrieve bookmarks at document loading DocumentNotAvailableException
getDocumentAccessor(..) Retrieve document accessor at document loading DocumentAccessorSelector DocumentNotAvailableException
getDocumentAccessorContent(..) Retrieve content of the document DocumentAccessorSelector DocumentNotAvailableException
getDocumentAccessorController(..) Retrieve document accessor controller
getDocumentDPI(..) Retrieve DPI of a page of a document DocumentAccessorSelector, pageNumber Exception
getDocumentLayout(..) Retrieve the document layout at document loading DocumentNotAvailableException
getDocumentMetadata(..) Retrieve the metadata at document loading DocumentNotAvailableException
getPageContents(..) Retrieve textual content of the given page pageNumber DocumentNotAvailableException, PageOutOfRangeException, DocumentFormatNotSupportedException
getPageImageStream(..) Retrieve the image of the given page. Used for thumbnails and displayed pages pageNumber, PageImageDescription, HttpServletResponse DocumentNotAvailableException, DocumentFormatNotSupportedException
getPageResult(..) Retrieve search results for a given page searchQuery, pageNumber, searchOptions DocumentNotAvailableException
getPagesWithResult(..) Retrieve search results for all pages searchQuery DocumentNotAvailableException
getSize(..) Retrieve document size DocumentAccessorSelector DocumentNotAvailableException
getVideoChunk(..) Retrieve a chunk of a video file start, length, HttpServletResponse DocumentNotAvailableException, DocumentFormatNotSupportedException, IOException
hasDocument(..) Check is the micro service DFS has the document
loadDocumentAccessor(..) Load a document from his documentAccessor DocumentAccessor DocumentNotAvailableException, DocumentFormatNotSupportedException
loadDocumentAccessor(..) Load a document from his documentAccessor and selector DocumentAccessor , DocumentAccessorSelector DocumentNotAvailableException
loadPartialDocument(..) Load a part of the document contentBuffer, offset, finished DocumentNotAvailableException, DocumentFormatNotSupportedException
startLoadPartialDocument(..) Start to load a part of the document mimeType, documentTitle, contentSize IOException
uploadDocument(..) Used to upload a document in ARender mimeType, documentTitle, inputStream

List of methods logged from UI :

Method Description Parameters Error thrown
alterDocumentContent(..) Used when downloading with annotation, saving or updating a document from the documentBuilder sourceDocumentIdList, description AlterContentOperationException, DocumentFormatNotSupportedException, DocumentNotAvailableException
compareDocuments(..) Used when comparing two documents documentIdLeft, documentIdRight DocumentNotAvailableException, DocumentServiceDelegateNotAvailable, DocumentFormatNotSupportedException
compareImages(..) Used when comparing two images documentIdLeft, documentIdRight, fuzz, highlightColor, lowlightColor DocumentNotAvailableException, DocumentServiceDelegateNotAvailable, DocumentFormatNotSupportedException
convertStampAppearance(..) Used to convert stamp appearances of PDFBox to stamp appearance of ARender stampAnnotations DocumentFormatNotSupportedException
createPrintablePDF(..) Used at document printing arenderAnnotations DocumentNotAvailableException
DownloadServlet.doGet(..) Used at document downloading methodName, revertedDocumentIdParameters
evict(..)
extractAnnotations(..) Extract annotations from given PDF file sourceId, formatType, contents DocumentFormatNotSupportedException
generateAnnotations(..) Generate FDF annotations from ARender annotations. Used when downloading with annotation formatType, arenderAnnotations DocumentNotAvailableException
generatePDFWithFDFAnnotations(..) Used at document downloading with FDF annotations arenderAnnotations DocumentNotAvailableException
getAdvancedSearchPageResult(..) Used at advanced search for given page searchOptions, pageNumber DocumentNotAvailableException, DocumentFormatNotSupportedException
getAdvancedSearchPagesWithResult(..) Used at advanced search for all pages searchOptions DocumentNotAvailableException
getAnnotationAccessor(..) Used when document has annotations DocumentNotAvailableException, AnnotationsNotSupportedException
getAnnotationsContainingSearchText(..) Used at search to retrieve a list of annotation containing the searched text in given page annotations, searchOptions, pageNumber AnnotationsNotSupportedException, DocumentNotAvailableException
getBookmarks(..) Retrieve bookmarks at document loading DocumentNotAvailableException
getDocumentAccessor(..) Retrieve document accessor at document loading documentAccessorSelector DocumentNotAvailableException, IOException
getDocumentAccessorContent(..) Retrieve content of the document documentAccessorSelector DocumentNotAvailableException
getDocumentDPI(..) Retrieve DPI of a page of a document documentAccessorSelector, page Exception
getDocumentLayout(..) Retrieve the document layout at document loading DocumentFormatNotSupportedException, DocumentNotAvailableException
getDocumentMetadata(..) Retrieve the metadata at document loading DocumentNotAvailableException, DocumentFormatNotSupportedException
getPageContents(..) Retrieve textual content of the given page pageNumber DocumentNotAvailableException, PageOutOfRangeException, DocumentFormatNotSupportedException
getPageImage(..) Retrieve the image of the given page. Used for thumbnails and displayed pages page, pageImageDescription DocumentNotAvailableException, DocumentFormatNotSupportedException, PageOutOfRangeException, IOException
getPageResult(..) Retrieve search results for a given page searchText, pageNumber, searchOptions DocumentNotAvailableException, DocumentFormatNotSupportedException
getPagesWithResult(..) Retrieve search results for all pages searchText DocumentNotAvailableException
getTargetsWeather(..) Used when accessing at arendergwt/weather isPrettyHtmlPrint
hasCurrentUserParsedDocument(..) Check if the document is available for the current user
loadDocumentAccessor(..) Load a document from his documentAccessor documentAccessor DocumentNotAvailableException, DocumentFormatNotSupportedException
loadDocumentAccessor(..) Load a document from his documentAccessor and selector documentAccessor, documentAccessorSelector
loadDocument(..) Load an already parsed document document
mayProcessAnnotationRendition(..) Try to generate a document with annotations sharedDocumentId DocumentFormatNotSupportedException
notifyOpeningTimes(..) Used to notify that a document is open and displayed in ARender moduleLoadingTime, documentLoadingTime
parseLoadingQueryUrl(..) Used when URL using loadingQuery identifier DocumentNotAvailableException, DocumentFormatNotSupportedException
parseReversibleDocumentId(..) DocumentNotAvailableException, DocumentFormatNotSupportedException
parseURL(..) Parse URL used before trying to execute action like opening a document applicationContext, request DocumentNotAvailableException, DocumentFormatNotSupportedException
PrintServlet.doGet(..) Executed at document printing methodName, revertedDocumentIdParameters
uploadDocument(..) Used to upload a document in ARender mimeType, documentTitle, inputStream
validateQueryToken(..) Validate if the given token in the request ok or not queryURL