Syncplicity for admininstrators Save PDF Selected topic Selected topic and subtopics All content Storage Connector health metrics definitions The Syncplicity Storage Connector generates several different events and metrics related to the performance and overall health of the Storage Connector. Starting from the v.2.7.0.5 release these events and metrics are available for consumption by 3rd party monitoring tools. The following glossary includes a list of every metric and its definition, grouped by category, which can be helpful in building desired graphs, thresholds and alerts for system health and/or performance monitoring. Storage Connector metrics are provided in JMX format. For all time-based metrics the unit of measure is msec (unless stated otherwise). Storage Metrics This class of metrics are primarily used to monitor performance, capacity utilization and operational health of the Storage Connector. syncRequests.concurrentRequestsCounter The number of concurrent requests that can be processed by the Storage Connector node. Each Storage Connector throttles the total number of upload and download requests. The throttling limit is set using the configuration value syncplicity.request.limit in the configuration file. syncRequests.concurrentRequestsCounterMin This counter represents the minimum of the remaining capacity of the Storage Connector to process concurrent requests against the throttling limit. It is calculated based on the highest sum of concurrent upload and download requests during the last sampling period. syncRequests.concurrentRequestsCounterMax This counter represents the maximum of the remaining capacity of the Storage Connector to process concurrent requests against the throttling limit. It is calculated based on the lowest sum of concurrent upload and download requests during the last sampling period. syncRequests.currentDownloadRequestsCounter The current number of download requests at the end of sampling interval. syncRequests.currentUploadRequestsCounter The current number of upload requests at the end of a sampling interval. syncRequests.downloadRequestsForDurationCounter The total number of download requests that were processed during the last sampling interval. syncRequests.uploadRequestsForDurationCounter The total number of upload requests that were processed during the last sampling interval. cleanup.files The number of files that were successfully processed for clean up during the last sampling interval. The Storage Connector periodically cleans up partial files, which are typically due to incomplete file uploads, from storage. cleanup.objects The number of file-related objects such as thumbnails or zip archives that were successfully processed for clean up during the last sampling interval. cleanup.objects.irm The number of protected files that were successfully processed for clean up during the last sampling interval. transfer.in.bytes The number of bytes transferred from clients to storage during last sampling interval. transfer.in.msec The amount of time Storage Connector spent transferring bytes from clients to storage over the last sampling interval. transfer.out.bytes The number of bytes transferred from storage to clients during last sampling interval. transfer.out.msec The amount of time Storage Connector spent transferring bytes from storage to clients over the last sampling interval. storage.delete.count The number of DELETE requests made by the Storage Connector to storage. storage.delete.time The sum of response time of DELETE requests to storage that occurred during the last sampling interval. storage.get.count The number of GET requests made by the Storage Connector to storage. storage.get.time The sum of response time of GET requests made by the Storage Connector to storage that occurred during the last sampling interval. storage.move.count Deprecated storage.move.time Deprecated storage.put.count The number of PUT requests made by the Storage Connector to storage. storage.put.time The sum of response time of PUT requests made by the Storage Connector to storage that occurred during last sampling interval. Storage Services Metrics This class of metrics are useful in monitoring the health of the Storage Connector and the communication with client endpoints and storage services such as rights management APIs. File Upload The following metrics are used to monitor actual file upload health. This are one of the most important metrics for the storage administrator to have. They are most useful to look at when there's a need to access Storage Connector file upload performance or to investigate file upload overall health. The most common error is fileUpload.error.500 which is an indicator of a loss of connectivity or availability to the storage layer or Syncplicity Orchestration. All counters in this section show number of events that occurred during the last sampling interval. fileUpload.error.400 The number of failed file upload requests due to Bad Request errors. The most common causes for this error are a missing directory ID or pathname, invalid form data, missing headers or arguments which are required, or the use of an invalid upload offset. fileUpload.error.402 The number of failed file upload requests due to exceeding quota limits. An out of quota error occurs when the user does not have enough space to upload the file requested. fileUpload.error.403 Deprecated fileUpload.error.500 The number of failed file upload requests typically due to the unavailability of the storage layer or Syncplicity Orchestration. Other potential causes for this error include the access key was invalid or there were unexpected internal errors. fileUpload.initiated The number of initiated file upload requests. For files that are larger than 5MB, this counter is incremented only for the first chunk. fileUpload.resumed For files larger than 5MB, the # of chunks uploaded for a file after the first chunk (which is counted by fileUpload.initiated). fileUpload.success.200 The number of full file upload requests that completed successfully. For example, when a client initiates an upload of a 15MB file, it will upload in 3 5MB chunks (default chunk size). Once all chunks are uploaded this counter is incremented by 1. fileUpload.success.308 The number of chunk file upload requests that completed successfully. For example, when a client initiates an upload of an 18MB file, it will upload in 4 5MB chunks (default chunk size). The value of this counter would increment +1 for each chunk that is successfully uploaded. This counter applies to Syncplicity desktop and mobile clients and does not apply to the web online file browser. File Download The following metrics are used to monitor actual file download health. This are one of the most important metrics for the storage administrator to have. They are most useful to look at when there's a need to access Storage Connector file download performance or to investigate file download overall health. The most common errors are fileDownload.error.404, which indicates that a file is not present in storage, and fileDownload.error.500, which means the file couldn't be downloaded from storage typically caused by the unavailability of the storage layer or Syncplicity Orchestration. All counters in this section show number of events that occurred during the last sampling interval. fileDownload.entire The number of full file download requests completed. fileDownload.ranged The number of completed download requests for a range of the file as specified by the request header. fileDownload.error.400 The number of failed file download requests due to Bad Request errors. The most common causes for this error include missing headers or arguments which are required, use of an invalid offset, or the file is not present in storage. fileDownload.error.402 Deprecated fileDownload.error.403 The number of failed file download requests related to rights management protection. The possible causes include a misconfigured rights management server, the file being requested for download is unable to be encrypted, or there are network issues communicating with the rights management server. fileDownload.error.404 The number of failed file download requests due to Not Found errors. This indicates that the file requested for download does not exist in storage. fileDownload.error.500 The number of failed file download requests typically due to the unavailability of the storage layer or Syncplicity Orchestration. Other potential causes for this error include the file was marked as corrupt (no longer present in storage), the access key was invalid or there were unexpected internal errors. fileDownload.success.200 The number of full file download requests that completed successfully. Bulk Download The following metrics are used to retrieve statistics for bulk download requests. bulkdownload.concurrentThreadsCounter The number of archives that are currently being created in parallel for a storage connector. bulkdownload.put.count The number of PUT requests made by the Storage Connector to bulk downloads. bulkdownload.put.time The sum of response times for PUT requests made by the Storage Connector to bulk download that occurred during last sampling interval. bulkdownload.created.count The total number of successfully created archives during the specified period. bulkdownload.created.time The duration of an archive creation, when the archive is created successfully. bulkdownload.creationFailed.count The total number of failed archives during the specified period. bulkdownload.creationCancelled.count The total number of cancelled archives during the specified period. bulkdownload.download.success The number of successfully downloaded archives during the specified period bulkdownload.download.failure The number of failed downloads during the specified period (due to file not found, bad request, server error, etc.) cleanup.bulkdownload The number of cleaned up archives during the specified period Device Authorization These metrics are deprecated. device.error.400 device.error.403 device.error.404 device.error.500 device.success.200 Token Authorization The deviceToken metrics are useful in monitoring the token authorization service health. Each client must authenticate itself to Syncplicity before it can access files in storage. The primary method of authentication is with a short-lived security token, which is commonly performed when the client begins an upload or download request. Upon receiving this request, the Storage Connector responds with a security token that the client must include in all subsequent requests it makes. When deviceToken.error.40x or deviceToken.error.500 counts are present with frequency or high volume this is indicative of an issue with one or more client endpoints. The most common cause is that Syncplicity Orchestration cannot generate a device token due to missing required headers, parameters or access denied. deviceToken.error.400 deviceToken.error.403 - Deprecated deviceToken.error.404 - Deprecated deviceToken.error.500 - Deprecated deviceToken.success.200 Shared Link The following metrics are used to measure the health of shared links. The Shared Link API provides a method to authenticate user-initiated file shares issued by Syncplicity. When link.error.40x or link.error.500 counts are present with frequency or high volume this is indicative of issues with shared link generation. Typical causes include the unavailability of Syncplicity Orchestration, missing required headers or parameters, or unauthorized access. link.error.400 link.error.401 link.error.403 link.error.500 link.success.200 Web Preview Syncplicity Web Preview is only available in the Syncplicity public cloud. The following metrics are not used for on-premise Storage Connector deployments. preview.doc.attributes.count preview.doc.attributes.time preview.doc.bytes preview.doc.get.count preview.doc.get.time preview.doc.put.count preview.doc.put.time preview.error.403 preview.error.480 preview.error.500 preview.page.attributes.count preview.page.attributes.time preview.page.bytes preview.page.content.count preview.page.content.time preview.success.200 Storage Authorization These metrics are used to monitor storage authorization health. The Storage Authorization API validates the authenticity of a Storage Connector instance. When storageAuthorization.error.40x or storageAuthorization.error.500 counts are present with frequency or high volume this is indicative of an issue with missing headers or parameters that are required, an invalid storage token, invalid or restricted email, or Syncplicity Orchestration is unavailable. storageAuthorization.error.400 storageAuthorization.error.401 storageAuthorization.error.403 storageAuthorization.error.500 storageAuthorization.success.200 Storage Password These metrics are useful to monitor storage password health. The Storage Password Service is used for client authentication when second layer authentication or SSO authentication is enabled. When storagePassword.error.40x or storagePassword.error.500 counts are present with frequency or high volume this is indicative of an issue at the second layer authentication or SSO level. For example, this could indicate there are missing headers or parameters that are required, an invalid or missing storage password, or Syncplicity Orchestration is unavailable. storagePassword.error.400 storagePassword.error.403 storagePassword.error.404 storagePassword.error.500 storagePassword.success.200 Thumbnail The following metrics are used to monitor thumbnail health. The thumbnail API is called when a Syncplicity client issues a request to retrieve an image thumbnail or generate a thumbnail. When thumbnail.error.40x or thumbnail.error.500 counts are present with frequency or high volume this is indicative of an error during thumbnail generation, the thumbnail requested does not exist, or either storage or Syncplicity Orchestration was unavailable to service the request. thumbnail.error.400 thumbnail.error.403 thumbnail.error.404 thumbnail.error.500 thumbnail.success.200 Syncplicity Services Metrics The following metrics may appear in your data stream but should be ignored at this time as they are for future integrations. They measure performance of Storage Connector calls to other Syncplicity web services. orchestration.authTokenService.count orchestration.authTokenService.time orchestration.chunkService.count orchestration.chunkService.time orchestration.cleanupService.count orchestration.cleanupService.time orchestration.deviceService.count orchestration.deviceService.time orchestration.deviceTokenService.count orchestration.deviceTokenService.time orchestration.fileService.count orchestration.fileService.timeorchestration.linkService.count orchestration.linkService.time orchestration.storageAuthorizationService.count orchestration.storageAuthorizationService.time orchestration.storagePasswordService.count orchestration.storagePasswordService.time orchestration.thumbnailService.count orchestration.thumbnailService.time JVM Metrics jvm.heapUsed JVM total heap used. jvm.threadCount The total number of active threads in the JVM. jvm.uptime JVM uptime. system.cpu.current.load.value The current CPU load. system.process.cpu.load.value The lapsed CPU time since the last screen update, expressed as a percentage of total CPU time. system.process.cpu.time.value The JVM share of the elapsed CPU time. system.freePhysicalMemory The total free physical memory available. system.load The system load average for the last minute multiplied by 100. system.totalPhysicalMemory The total physical memory. jvm.classloading.loaded.value The number of loaded classes. jvm.classloading.unloaded.value The number of of unloaded classes. jvm.memory.total.init.value The total initial memory. jvm.memory.total.used.value The total memory used. jvm.memory.total.max.value The maximum available JVM memory. jvm.memory.total.commited.value The total memory committed. jvm.memory.heap.init.value The initial heap memory. jvm.memory.heap.used.value Total heap memory used. jvm.memory.heap.max.value The maximum available heap memory. jvm.memory.heap.commited.value The total heap memory committed. jvm.memory.non-heap.init.value The initial non-heap memory. jvm.memory.non-heap.used.value The total non-heap memory used. jvm.memory.non-heap.max.value The maximum available non-heap memory. jvm.memory.non-heap.commited.value The total non-heap memory committed. system.file.descriptors.open.value The total number of open OS file descriptors. system.file.descriptors.max.value The maximum available system open OS file descriptors. jvm.thread.state.%state name%.value The number of threads in a specific state. jvm.gc.%gc name%.count.value The number of invocations of a garbage collector. jvm.gc.%gc name%.time.value The total time spent in a garbage collector. Related Links
Storage Connector health metrics definitions The Syncplicity Storage Connector generates several different events and metrics related to the performance and overall health of the Storage Connector. Starting from the v.2.7.0.5 release these events and metrics are available for consumption by 3rd party monitoring tools. The following glossary includes a list of every metric and its definition, grouped by category, which can be helpful in building desired graphs, thresholds and alerts for system health and/or performance monitoring. Storage Connector metrics are provided in JMX format. For all time-based metrics the unit of measure is msec (unless stated otherwise). Storage Metrics This class of metrics are primarily used to monitor performance, capacity utilization and operational health of the Storage Connector. syncRequests.concurrentRequestsCounter The number of concurrent requests that can be processed by the Storage Connector node. Each Storage Connector throttles the total number of upload and download requests. The throttling limit is set using the configuration value syncplicity.request.limit in the configuration file. syncRequests.concurrentRequestsCounterMin This counter represents the minimum of the remaining capacity of the Storage Connector to process concurrent requests against the throttling limit. It is calculated based on the highest sum of concurrent upload and download requests during the last sampling period. syncRequests.concurrentRequestsCounterMax This counter represents the maximum of the remaining capacity of the Storage Connector to process concurrent requests against the throttling limit. It is calculated based on the lowest sum of concurrent upload and download requests during the last sampling period. syncRequests.currentDownloadRequestsCounter The current number of download requests at the end of sampling interval. syncRequests.currentUploadRequestsCounter The current number of upload requests at the end of a sampling interval. syncRequests.downloadRequestsForDurationCounter The total number of download requests that were processed during the last sampling interval. syncRequests.uploadRequestsForDurationCounter The total number of upload requests that were processed during the last sampling interval. cleanup.files The number of files that were successfully processed for clean up during the last sampling interval. The Storage Connector periodically cleans up partial files, which are typically due to incomplete file uploads, from storage. cleanup.objects The number of file-related objects such as thumbnails or zip archives that were successfully processed for clean up during the last sampling interval. cleanup.objects.irm The number of protected files that were successfully processed for clean up during the last sampling interval. transfer.in.bytes The number of bytes transferred from clients to storage during last sampling interval. transfer.in.msec The amount of time Storage Connector spent transferring bytes from clients to storage over the last sampling interval. transfer.out.bytes The number of bytes transferred from storage to clients during last sampling interval. transfer.out.msec The amount of time Storage Connector spent transferring bytes from storage to clients over the last sampling interval. storage.delete.count The number of DELETE requests made by the Storage Connector to storage. storage.delete.time The sum of response time of DELETE requests to storage that occurred during the last sampling interval. storage.get.count The number of GET requests made by the Storage Connector to storage. storage.get.time The sum of response time of GET requests made by the Storage Connector to storage that occurred during the last sampling interval. storage.move.count Deprecated storage.move.time Deprecated storage.put.count The number of PUT requests made by the Storage Connector to storage. storage.put.time The sum of response time of PUT requests made by the Storage Connector to storage that occurred during last sampling interval. Storage Services Metrics This class of metrics are useful in monitoring the health of the Storage Connector and the communication with client endpoints and storage services such as rights management APIs. File Upload The following metrics are used to monitor actual file upload health. This are one of the most important metrics for the storage administrator to have. They are most useful to look at when there's a need to access Storage Connector file upload performance or to investigate file upload overall health. The most common error is fileUpload.error.500 which is an indicator of a loss of connectivity or availability to the storage layer or Syncplicity Orchestration. All counters in this section show number of events that occurred during the last sampling interval. fileUpload.error.400 The number of failed file upload requests due to Bad Request errors. The most common causes for this error are a missing directory ID or pathname, invalid form data, missing headers or arguments which are required, or the use of an invalid upload offset. fileUpload.error.402 The number of failed file upload requests due to exceeding quota limits. An out of quota error occurs when the user does not have enough space to upload the file requested. fileUpload.error.403 Deprecated fileUpload.error.500 The number of failed file upload requests typically due to the unavailability of the storage layer or Syncplicity Orchestration. Other potential causes for this error include the access key was invalid or there were unexpected internal errors. fileUpload.initiated The number of initiated file upload requests. For files that are larger than 5MB, this counter is incremented only for the first chunk. fileUpload.resumed For files larger than 5MB, the # of chunks uploaded for a file after the first chunk (which is counted by fileUpload.initiated). fileUpload.success.200 The number of full file upload requests that completed successfully. For example, when a client initiates an upload of a 15MB file, it will upload in 3 5MB chunks (default chunk size). Once all chunks are uploaded this counter is incremented by 1. fileUpload.success.308 The number of chunk file upload requests that completed successfully. For example, when a client initiates an upload of an 18MB file, it will upload in 4 5MB chunks (default chunk size). The value of this counter would increment +1 for each chunk that is successfully uploaded. This counter applies to Syncplicity desktop and mobile clients and does not apply to the web online file browser. File Download The following metrics are used to monitor actual file download health. This are one of the most important metrics for the storage administrator to have. They are most useful to look at when there's a need to access Storage Connector file download performance or to investigate file download overall health. The most common errors are fileDownload.error.404, which indicates that a file is not present in storage, and fileDownload.error.500, which means the file couldn't be downloaded from storage typically caused by the unavailability of the storage layer or Syncplicity Orchestration. All counters in this section show number of events that occurred during the last sampling interval. fileDownload.entire The number of full file download requests completed. fileDownload.ranged The number of completed download requests for a range of the file as specified by the request header. fileDownload.error.400 The number of failed file download requests due to Bad Request errors. The most common causes for this error include missing headers or arguments which are required, use of an invalid offset, or the file is not present in storage. fileDownload.error.402 Deprecated fileDownload.error.403 The number of failed file download requests related to rights management protection. The possible causes include a misconfigured rights management server, the file being requested for download is unable to be encrypted, or there are network issues communicating with the rights management server. fileDownload.error.404 The number of failed file download requests due to Not Found errors. This indicates that the file requested for download does not exist in storage. fileDownload.error.500 The number of failed file download requests typically due to the unavailability of the storage layer or Syncplicity Orchestration. Other potential causes for this error include the file was marked as corrupt (no longer present in storage), the access key was invalid or there were unexpected internal errors. fileDownload.success.200 The number of full file download requests that completed successfully. Bulk Download The following metrics are used to retrieve statistics for bulk download requests. bulkdownload.concurrentThreadsCounter The number of archives that are currently being created in parallel for a storage connector. bulkdownload.put.count The number of PUT requests made by the Storage Connector to bulk downloads. bulkdownload.put.time The sum of response times for PUT requests made by the Storage Connector to bulk download that occurred during last sampling interval. bulkdownload.created.count The total number of successfully created archives during the specified period. bulkdownload.created.time The duration of an archive creation, when the archive is created successfully. bulkdownload.creationFailed.count The total number of failed archives during the specified period. bulkdownload.creationCancelled.count The total number of cancelled archives during the specified period. bulkdownload.download.success The number of successfully downloaded archives during the specified period bulkdownload.download.failure The number of failed downloads during the specified period (due to file not found, bad request, server error, etc.) cleanup.bulkdownload The number of cleaned up archives during the specified period Device Authorization These metrics are deprecated. device.error.400 device.error.403 device.error.404 device.error.500 device.success.200 Token Authorization The deviceToken metrics are useful in monitoring the token authorization service health. Each client must authenticate itself to Syncplicity before it can access files in storage. The primary method of authentication is with a short-lived security token, which is commonly performed when the client begins an upload or download request. Upon receiving this request, the Storage Connector responds with a security token that the client must include in all subsequent requests it makes. When deviceToken.error.40x or deviceToken.error.500 counts are present with frequency or high volume this is indicative of an issue with one or more client endpoints. The most common cause is that Syncplicity Orchestration cannot generate a device token due to missing required headers, parameters or access denied. deviceToken.error.400 deviceToken.error.403 - Deprecated deviceToken.error.404 - Deprecated deviceToken.error.500 - Deprecated deviceToken.success.200 Shared Link The following metrics are used to measure the health of shared links. The Shared Link API provides a method to authenticate user-initiated file shares issued by Syncplicity. When link.error.40x or link.error.500 counts are present with frequency or high volume this is indicative of issues with shared link generation. Typical causes include the unavailability of Syncplicity Orchestration, missing required headers or parameters, or unauthorized access. link.error.400 link.error.401 link.error.403 link.error.500 link.success.200 Web Preview Syncplicity Web Preview is only available in the Syncplicity public cloud. The following metrics are not used for on-premise Storage Connector deployments. preview.doc.attributes.count preview.doc.attributes.time preview.doc.bytes preview.doc.get.count preview.doc.get.time preview.doc.put.count preview.doc.put.time preview.error.403 preview.error.480 preview.error.500 preview.page.attributes.count preview.page.attributes.time preview.page.bytes preview.page.content.count preview.page.content.time preview.success.200 Storage Authorization These metrics are used to monitor storage authorization health. The Storage Authorization API validates the authenticity of a Storage Connector instance. When storageAuthorization.error.40x or storageAuthorization.error.500 counts are present with frequency or high volume this is indicative of an issue with missing headers or parameters that are required, an invalid storage token, invalid or restricted email, or Syncplicity Orchestration is unavailable. storageAuthorization.error.400 storageAuthorization.error.401 storageAuthorization.error.403 storageAuthorization.error.500 storageAuthorization.success.200 Storage Password These metrics are useful to monitor storage password health. The Storage Password Service is used for client authentication when second layer authentication or SSO authentication is enabled. When storagePassword.error.40x or storagePassword.error.500 counts are present with frequency or high volume this is indicative of an issue at the second layer authentication or SSO level. For example, this could indicate there are missing headers or parameters that are required, an invalid or missing storage password, or Syncplicity Orchestration is unavailable. storagePassword.error.400 storagePassword.error.403 storagePassword.error.404 storagePassword.error.500 storagePassword.success.200 Thumbnail The following metrics are used to monitor thumbnail health. The thumbnail API is called when a Syncplicity client issues a request to retrieve an image thumbnail or generate a thumbnail. When thumbnail.error.40x or thumbnail.error.500 counts are present with frequency or high volume this is indicative of an error during thumbnail generation, the thumbnail requested does not exist, or either storage or Syncplicity Orchestration was unavailable to service the request. thumbnail.error.400 thumbnail.error.403 thumbnail.error.404 thumbnail.error.500 thumbnail.success.200 Syncplicity Services Metrics The following metrics may appear in your data stream but should be ignored at this time as they are for future integrations. They measure performance of Storage Connector calls to other Syncplicity web services. orchestration.authTokenService.count orchestration.authTokenService.time orchestration.chunkService.count orchestration.chunkService.time orchestration.cleanupService.count orchestration.cleanupService.time orchestration.deviceService.count orchestration.deviceService.time orchestration.deviceTokenService.count orchestration.deviceTokenService.time orchestration.fileService.count orchestration.fileService.timeorchestration.linkService.count orchestration.linkService.time orchestration.storageAuthorizationService.count orchestration.storageAuthorizationService.time orchestration.storagePasswordService.count orchestration.storagePasswordService.time orchestration.thumbnailService.count orchestration.thumbnailService.time JVM Metrics jvm.heapUsed JVM total heap used. jvm.threadCount The total number of active threads in the JVM. jvm.uptime JVM uptime. system.cpu.current.load.value The current CPU load. system.process.cpu.load.value The lapsed CPU time since the last screen update, expressed as a percentage of total CPU time. system.process.cpu.time.value The JVM share of the elapsed CPU time. system.freePhysicalMemory The total free physical memory available. system.load The system load average for the last minute multiplied by 100. system.totalPhysicalMemory The total physical memory. jvm.classloading.loaded.value The number of loaded classes. jvm.classloading.unloaded.value The number of of unloaded classes. jvm.memory.total.init.value The total initial memory. jvm.memory.total.used.value The total memory used. jvm.memory.total.max.value The maximum available JVM memory. jvm.memory.total.commited.value The total memory committed. jvm.memory.heap.init.value The initial heap memory. jvm.memory.heap.used.value Total heap memory used. jvm.memory.heap.max.value The maximum available heap memory. jvm.memory.heap.commited.value The total heap memory committed. jvm.memory.non-heap.init.value The initial non-heap memory. jvm.memory.non-heap.used.value The total non-heap memory used. jvm.memory.non-heap.max.value The maximum available non-heap memory. jvm.memory.non-heap.commited.value The total non-heap memory committed. system.file.descriptors.open.value The total number of open OS file descriptors. system.file.descriptors.max.value The maximum available system open OS file descriptors. jvm.thread.state.%state name%.value The number of threads in a specific state. jvm.gc.%gc name%.count.value The number of invocations of a garbage collector. jvm.gc.%gc name%.time.value The total time spent in a garbage collector.
Storage Connector health metrics definitions The Syncplicity Storage Connector generates several different events and metrics related to the performance and overall health of the Storage Connector. Starting from the v.2.7.0.5 release these events and metrics are available for consumption by 3rd party monitoring tools. The following glossary includes a list of every metric and its definition, grouped by category, which can be helpful in building desired graphs, thresholds and alerts for system health and/or performance monitoring. Storage Connector metrics are provided in JMX format. For all time-based metrics the unit of measure is msec (unless stated otherwise). Storage Metrics This class of metrics are primarily used to monitor performance, capacity utilization and operational health of the Storage Connector. syncRequests.concurrentRequestsCounter The number of concurrent requests that can be processed by the Storage Connector node. Each Storage Connector throttles the total number of upload and download requests. The throttling limit is set using the configuration value syncplicity.request.limit in the configuration file. syncRequests.concurrentRequestsCounterMin This counter represents the minimum of the remaining capacity of the Storage Connector to process concurrent requests against the throttling limit. It is calculated based on the highest sum of concurrent upload and download requests during the last sampling period. syncRequests.concurrentRequestsCounterMax This counter represents the maximum of the remaining capacity of the Storage Connector to process concurrent requests against the throttling limit. It is calculated based on the lowest sum of concurrent upload and download requests during the last sampling period. syncRequests.currentDownloadRequestsCounter The current number of download requests at the end of sampling interval. syncRequests.currentUploadRequestsCounter The current number of upload requests at the end of a sampling interval. syncRequests.downloadRequestsForDurationCounter The total number of download requests that were processed during the last sampling interval. syncRequests.uploadRequestsForDurationCounter The total number of upload requests that were processed during the last sampling interval. cleanup.files The number of files that were successfully processed for clean up during the last sampling interval. The Storage Connector periodically cleans up partial files, which are typically due to incomplete file uploads, from storage. cleanup.objects The number of file-related objects such as thumbnails or zip archives that were successfully processed for clean up during the last sampling interval. cleanup.objects.irm The number of protected files that were successfully processed for clean up during the last sampling interval. transfer.in.bytes The number of bytes transferred from clients to storage during last sampling interval. transfer.in.msec The amount of time Storage Connector spent transferring bytes from clients to storage over the last sampling interval. transfer.out.bytes The number of bytes transferred from storage to clients during last sampling interval. transfer.out.msec The amount of time Storage Connector spent transferring bytes from storage to clients over the last sampling interval. storage.delete.count The number of DELETE requests made by the Storage Connector to storage. storage.delete.time The sum of response time of DELETE requests to storage that occurred during the last sampling interval. storage.get.count The number of GET requests made by the Storage Connector to storage. storage.get.time The sum of response time of GET requests made by the Storage Connector to storage that occurred during the last sampling interval. storage.move.count Deprecated storage.move.time Deprecated storage.put.count The number of PUT requests made by the Storage Connector to storage. storage.put.time The sum of response time of PUT requests made by the Storage Connector to storage that occurred during last sampling interval. Storage Services Metrics This class of metrics are useful in monitoring the health of the Storage Connector and the communication with client endpoints and storage services such as rights management APIs. File Upload The following metrics are used to monitor actual file upload health. This are one of the most important metrics for the storage administrator to have. They are most useful to look at when there's a need to access Storage Connector file upload performance or to investigate file upload overall health. The most common error is fileUpload.error.500 which is an indicator of a loss of connectivity or availability to the storage layer or Syncplicity Orchestration. All counters in this section show number of events that occurred during the last sampling interval. fileUpload.error.400 The number of failed file upload requests due to Bad Request errors. The most common causes for this error are a missing directory ID or pathname, invalid form data, missing headers or arguments which are required, or the use of an invalid upload offset. fileUpload.error.402 The number of failed file upload requests due to exceeding quota limits. An out of quota error occurs when the user does not have enough space to upload the file requested. fileUpload.error.403 Deprecated fileUpload.error.500 The number of failed file upload requests typically due to the unavailability of the storage layer or Syncplicity Orchestration. Other potential causes for this error include the access key was invalid or there were unexpected internal errors. fileUpload.initiated The number of initiated file upload requests. For files that are larger than 5MB, this counter is incremented only for the first chunk. fileUpload.resumed For files larger than 5MB, the # of chunks uploaded for a file after the first chunk (which is counted by fileUpload.initiated). fileUpload.success.200 The number of full file upload requests that completed successfully. For example, when a client initiates an upload of a 15MB file, it will upload in 3 5MB chunks (default chunk size). Once all chunks are uploaded this counter is incremented by 1. fileUpload.success.308 The number of chunk file upload requests that completed successfully. For example, when a client initiates an upload of an 18MB file, it will upload in 4 5MB chunks (default chunk size). The value of this counter would increment +1 for each chunk that is successfully uploaded. This counter applies to Syncplicity desktop and mobile clients and does not apply to the web online file browser. File Download The following metrics are used to monitor actual file download health. This are one of the most important metrics for the storage administrator to have. They are most useful to look at when there's a need to access Storage Connector file download performance or to investigate file download overall health. The most common errors are fileDownload.error.404, which indicates that a file is not present in storage, and fileDownload.error.500, which means the file couldn't be downloaded from storage typically caused by the unavailability of the storage layer or Syncplicity Orchestration. All counters in this section show number of events that occurred during the last sampling interval. fileDownload.entire The number of full file download requests completed. fileDownload.ranged The number of completed download requests for a range of the file as specified by the request header. fileDownload.error.400 The number of failed file download requests due to Bad Request errors. The most common causes for this error include missing headers or arguments which are required, use of an invalid offset, or the file is not present in storage. fileDownload.error.402 Deprecated fileDownload.error.403 The number of failed file download requests related to rights management protection. The possible causes include a misconfigured rights management server, the file being requested for download is unable to be encrypted, or there are network issues communicating with the rights management server. fileDownload.error.404 The number of failed file download requests due to Not Found errors. This indicates that the file requested for download does not exist in storage. fileDownload.error.500 The number of failed file download requests typically due to the unavailability of the storage layer or Syncplicity Orchestration. Other potential causes for this error include the file was marked as corrupt (no longer present in storage), the access key was invalid or there were unexpected internal errors. fileDownload.success.200 The number of full file download requests that completed successfully. Bulk Download The following metrics are used to retrieve statistics for bulk download requests. bulkdownload.concurrentThreadsCounter The number of archives that are currently being created in parallel for a storage connector. bulkdownload.put.count The number of PUT requests made by the Storage Connector to bulk downloads. bulkdownload.put.time The sum of response times for PUT requests made by the Storage Connector to bulk download that occurred during last sampling interval. bulkdownload.created.count The total number of successfully created archives during the specified period. bulkdownload.created.time The duration of an archive creation, when the archive is created successfully. bulkdownload.creationFailed.count The total number of failed archives during the specified period. bulkdownload.creationCancelled.count The total number of cancelled archives during the specified period. bulkdownload.download.success The number of successfully downloaded archives during the specified period bulkdownload.download.failure The number of failed downloads during the specified period (due to file not found, bad request, server error, etc.) cleanup.bulkdownload The number of cleaned up archives during the specified period Device Authorization These metrics are deprecated. device.error.400 device.error.403 device.error.404 device.error.500 device.success.200 Token Authorization The deviceToken metrics are useful in monitoring the token authorization service health. Each client must authenticate itself to Syncplicity before it can access files in storage. The primary method of authentication is with a short-lived security token, which is commonly performed when the client begins an upload or download request. Upon receiving this request, the Storage Connector responds with a security token that the client must include in all subsequent requests it makes. When deviceToken.error.40x or deviceToken.error.500 counts are present with frequency or high volume this is indicative of an issue with one or more client endpoints. The most common cause is that Syncplicity Orchestration cannot generate a device token due to missing required headers, parameters or access denied. deviceToken.error.400 deviceToken.error.403 - Deprecated deviceToken.error.404 - Deprecated deviceToken.error.500 - Deprecated deviceToken.success.200 Shared Link The following metrics are used to measure the health of shared links. The Shared Link API provides a method to authenticate user-initiated file shares issued by Syncplicity. When link.error.40x or link.error.500 counts are present with frequency or high volume this is indicative of issues with shared link generation. Typical causes include the unavailability of Syncplicity Orchestration, missing required headers or parameters, or unauthorized access. link.error.400 link.error.401 link.error.403 link.error.500 link.success.200 Web Preview Syncplicity Web Preview is only available in the Syncplicity public cloud. The following metrics are not used for on-premise Storage Connector deployments. preview.doc.attributes.count preview.doc.attributes.time preview.doc.bytes preview.doc.get.count preview.doc.get.time preview.doc.put.count preview.doc.put.time preview.error.403 preview.error.480 preview.error.500 preview.page.attributes.count preview.page.attributes.time preview.page.bytes preview.page.content.count preview.page.content.time preview.success.200 Storage Authorization These metrics are used to monitor storage authorization health. The Storage Authorization API validates the authenticity of a Storage Connector instance. When storageAuthorization.error.40x or storageAuthorization.error.500 counts are present with frequency or high volume this is indicative of an issue with missing headers or parameters that are required, an invalid storage token, invalid or restricted email, or Syncplicity Orchestration is unavailable. storageAuthorization.error.400 storageAuthorization.error.401 storageAuthorization.error.403 storageAuthorization.error.500 storageAuthorization.success.200 Storage Password These metrics are useful to monitor storage password health. The Storage Password Service is used for client authentication when second layer authentication or SSO authentication is enabled. When storagePassword.error.40x or storagePassword.error.500 counts are present with frequency or high volume this is indicative of an issue at the second layer authentication or SSO level. For example, this could indicate there are missing headers or parameters that are required, an invalid or missing storage password, or Syncplicity Orchestration is unavailable. storagePassword.error.400 storagePassword.error.403 storagePassword.error.404 storagePassword.error.500 storagePassword.success.200 Thumbnail The following metrics are used to monitor thumbnail health. The thumbnail API is called when a Syncplicity client issues a request to retrieve an image thumbnail or generate a thumbnail. When thumbnail.error.40x or thumbnail.error.500 counts are present with frequency or high volume this is indicative of an error during thumbnail generation, the thumbnail requested does not exist, or either storage or Syncplicity Orchestration was unavailable to service the request. thumbnail.error.400 thumbnail.error.403 thumbnail.error.404 thumbnail.error.500 thumbnail.success.200 Syncplicity Services Metrics The following metrics may appear in your data stream but should be ignored at this time as they are for future integrations. They measure performance of Storage Connector calls to other Syncplicity web services. orchestration.authTokenService.count orchestration.authTokenService.time orchestration.chunkService.count orchestration.chunkService.time orchestration.cleanupService.count orchestration.cleanupService.time orchestration.deviceService.count orchestration.deviceService.time orchestration.deviceTokenService.count orchestration.deviceTokenService.time orchestration.fileService.count orchestration.fileService.timeorchestration.linkService.count orchestration.linkService.time orchestration.storageAuthorizationService.count orchestration.storageAuthorizationService.time orchestration.storagePasswordService.count orchestration.storagePasswordService.time orchestration.thumbnailService.count orchestration.thumbnailService.time JVM Metrics jvm.heapUsed JVM total heap used. jvm.threadCount The total number of active threads in the JVM. jvm.uptime JVM uptime. system.cpu.current.load.value The current CPU load. system.process.cpu.load.value The lapsed CPU time since the last screen update, expressed as a percentage of total CPU time. system.process.cpu.time.value The JVM share of the elapsed CPU time. system.freePhysicalMemory The total free physical memory available. system.load The system load average for the last minute multiplied by 100. system.totalPhysicalMemory The total physical memory. jvm.classloading.loaded.value The number of loaded classes. jvm.classloading.unloaded.value The number of of unloaded classes. jvm.memory.total.init.value The total initial memory. jvm.memory.total.used.value The total memory used. jvm.memory.total.max.value The maximum available JVM memory. jvm.memory.total.commited.value The total memory committed. jvm.memory.heap.init.value The initial heap memory. jvm.memory.heap.used.value Total heap memory used. jvm.memory.heap.max.value The maximum available heap memory. jvm.memory.heap.commited.value The total heap memory committed. jvm.memory.non-heap.init.value The initial non-heap memory. jvm.memory.non-heap.used.value The total non-heap memory used. jvm.memory.non-heap.max.value The maximum available non-heap memory. jvm.memory.non-heap.commited.value The total non-heap memory committed. system.file.descriptors.open.value The total number of open OS file descriptors. system.file.descriptors.max.value The maximum available system open OS file descriptors. jvm.thread.state.%state name%.value The number of threads in a specific state. jvm.gc.%gc name%.count.value The number of invocations of a garbage collector. jvm.gc.%gc name%.time.value The total time spent in a garbage collector.