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 |