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 |