Running Conversion Service health checks via REST API
To make sure everything is running as expected, you can send a request to the /tribefire-services/api/v1/check
endpoint of your Conversion Service instance.
Sample cURL call
curl --request GET https://[CONVERSION_HOST]:[PORT]/tribefire-services/api/v1/check?sessionId=[CONVERSION_SESSION_ID] --header "Accept: application/json"
Replace the following items in your call:
[CONVERSION_HOST]:[PORT]
- replace with the domain name hosting your Conversion Service instance (for exampleconversion-host.com
orconversion-host:8080.com
)[CONVERSION_SESSION_ID]
- replace with a valid session ID. See Authentication for information on how to get a session ID.--header "Accept: application/json"
- you can also usetext/html
for HTML output.
Response and interpretation
You will get a long response as a result, which includes a number of checks related to the base platform and Conversion itself. Database connectivity, thread pools, and Conversion Service functionality are checked among others. It's most important to verify the check status of all components, which should read ok
, as in "checkStatus": "ok"
. If you get a warn
or fail
status, it indicates a problem within the reporting component.
{"_type": "com.braintribe.model.deploymentapi.check.data.CheckBundlesResponse", "_id": "0",
"elapsedTimeInMs": 626.82,
"elements": [
{"_type": "com.braintribe.model.deploymentapi.check.data.aggr.CheckBundleResult", "_id": "1",
"check": {"_type": "com.braintribe.model.extensiondeployment.check.HardwiredCheckProcessor", "_id": "2",
"autoDeploy": true,
"deploymentStatus": "deployed",
"externalId": "checkProcessor.hardwired.BaseConnectivityCheckProcessor",
"globalId": "hardwired:check/BaseConnectivityCheckProcessor",
"id": "hardwired:check/BaseConnectivityCheckProcessor",
"module": {"_type": "com.braintribe.model.deployment.Module", "_id": "3",
"bindsDeployables": false,
"bindsHardwired": false,
"bindsInitializers": false,
"bindsWireContracts": false,
"globalId": "module://platform",
"id": "module://platform",
"name": "tribefire-web-platform",
"partition": "cortex"
},
"name": "Base Connectivity Check Processor",
"partition": "cortex"
},
"coverage": "connectivity",
"isPlatformRelevant": false,
"name": "Base Platform Connectivity Checks",
"node": "conversion@DESKTOP-J07TD08#200720151401978a268ac9350b4e7f9d",
"result": {"_type": "com.braintribe.model.check.service.CheckResult", "_id": "4",
"elapsedTimeInMs": 8.72,
"entries": [
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "5",
"checkStatus": "ok",
"details": "Type | Valid | Check duration\n--- | --- | ---\nLeadership | true | 0 ms\nLock | true | 0 ms\n",
"detailsAsMarkdown": true,
"name": "System Databases"
},
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "6",
"checkStatus": "ok",
"details": "Name | Idle Connections | Threads Waiting | Active Connections | Total Connections | Max Pool Size\n--- | --- | --- | --- | --- | ---\nconnection.conversion|3|0|0|3|20\nconnection.user-sessions|1|0|0|1|20\nconnection.default|2|0|1|3|20\nconnection.auth|1|0|0|1|10\nconnection.locking|2|0|0|2|10\nconnection.leadership|1|0|1|2|5\nconnection.user-session-statistics|1|0|0|1|10\n",
"detailsAsMarkdown": true,
"name": "Connection Pools"
},
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "7",
"checkStatus": "ok",
"details": "Name | Message Transit Duration\n--- | ---\nDMB Messaging | 304700 ns\n",
"detailsAsMarkdown": true,
"name": "Messaging"
}
]
},
"status": "ok"
},
{"_type": "com.braintribe.model.deploymentapi.check.data.aggr.CheckBundleResult", "_id": "8",
"check": {"_type": "com.braintribe.model.extensiondeployment.check.HardwiredCheckProcessor", "_id": "9",
"autoDeploy": true,
"deploymentStatus": "deployed",
"externalId": "checkProcessor.hardwired.BaseFunctionalityCheckProcessor",
"globalId": "hardwired:check/BaseFunctionalityCheckProcessor",
"id": "hardwired:check/BaseFunctionalityCheckProcessor",
"module": {"_ref": "3"},
"name": "Base Functionality Check Processor",
"partition": "cortex"
},
"coverage": "functional",
"isPlatformRelevant": false,
"name": "Base Platform Functionality Checks",
"node": "conversion@DESKTOP-J07TD08#200720151401978a268ac9350b4e7f9d",
"result": {"_type": "com.braintribe.model.check.service.CheckResult", "_id": "10",
"elapsedTimeInMs": 6.1765,
"entries": [
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "11",
"checkStatus": "ok",
"details": "---|---\nLock Manager|DB Lock Manager\n",
"detailsAsMarkdown": true,
"name": "Lock Check"
},
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "12",
"checkStatus": "ok",
"details": "---|---\nLeadership Manager|DB Leadership Manager\n",
"detailsAsMarkdown": true,
"name": "Leadership Check"
},
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "13",
"checkStatus": "ok",
"details": "---|---\nIssued to|Braintribe Technology GmbH\nIssued by|Braintribe\nExpiration|01 Apr 2021\n",
"detailsAsMarkdown": true,
"name": "License"
},
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "14",
"checkStatus": "ok",
"details": "Name|Active Threads|Total Executions|Average Execution Time|Pool Size|Core Pool Size|Maximum Pool Size|Pending Tasks in Queue|Average Pending Time in Queue|Time Since Last Execution\n---|---|---|---|---|---|---|---|---|---\nActivation|0|1|254 ms|0|5|5|0|0.65 ms|2 d\nCartridge Evaluator|0|0|0 ms|0|40|40|0|0 ms|0 ms\nCheckBundleExecution|3|107|154 ms|5|5|20|0|0.23 ms|0 ms\nConversion Cleanup|0|0|0 ms|0|5|5|0|0 ms|0 ms\nConversion Document Creation|0|0|0 ms|0|3|3|0|0 ms|0 ms\nConversion Document Creation Auxiliary|0|0|0 ms|0|6|6|0|0 ms|0 ms\nConversion Job Executor|0|0|0 ms|0|3|3|0|0 ms|0 ms\nDatabase Connection Check|0|0|0 ms|0|1|10|0|0 ms|0 ms\nDmb Message Consumer (conversion.ConversionJobNotification)|1|1|0 ms|1|1|1|0|0 ms|2 d\nDmb Message Consumer (conversion.tf.queue.trustedRequest)|1|1|0 ms|1|1|1|0|0 ms|2 d\nDmb Message Consumer (conversion.tf.topic.heartbeat)|1|1|0 ms|1|1|1|0|0 ms|2 d\nDmb Message Consumer (conversion.tf.topic.multicastRequest)|1|1|0 ms|1|1|1|0|0 ms|2 d\nDmb Message Consumer (conversion.tf.topic.multicastResponse)|1|1|0 ms|1|1|1|0|0 ms|2 d\nJava Common Pool|0|-1|-1 ms|0|0|0|0| |0 ms\nJob Cleanup|0|0|0 ms|0|3|3|0|0 ms|0 ms\nLeadership Daemon|0|141794|3 ms|1|1|unbound|1|0 ms|860 ms\nMBean Message Reaper|1|1|0 ms|1|1|1|0|0 ms|2 d\nMaster Heartbeat Sender|0|14235|0 ms|1|1|unbound|1|0 ms|1 s\nMaster Messaging Service|0|0|0 ms|0|20|20|0|0 ms|0 ms\nMaster Multicast Consumer|1|1|0 ms|1|20|20|0|0 ms|2 d\nMaster RPC Service|0|0|0 ms|0|20|unbound|0|0 ms|0 ms\nPlatform Thread-Pool|6|7|180 ms|6|100|100|0|0.49 ms|2 d\nScheduled System Executor|2|14342|11 ms|10|10|unbound|2|0.27 ms|0 ms\nState Change Processing (Aspect)|0|0|0 ms|0|20|20|0|0 ms|0 ms\nState Change Processing (Audit Workbench)|0|0|0 ms|0|20|20|0|0 ms|0 ms\nState Change Processing (Audit)|0|0|0 ms|0|20|20|0|0 ms|0 ms\nState Change Processing (Authentication and Authorization Workbench)|0|0|0 ms|0|20|20|0|0 ms|0 ms\nState Change Processing (Cortex Workbench)|0|0|0 ms|0|20|20|0|0 ms|0 ms\nState Change Processing (Cortex)|0|0|0 ms|0|20|20|0|0 ms|0 ms\nState Change Processing (Incremental Access Listener)|0|0|0 ms|0|20|20|0|0 ms|0 ms\nState Change Processing (Platform Setup Workbench)|0|0|0 ms|0|20|20|0|0 ms|0 ms\nState Change Processing (Platform Setup)|0|0|0 ms|0|20|20|0|0 ms|0 ms\nState Change Processing (User Sessions Workbench)|0|0|0 ms|0|20|20|0|0 ms|0 ms\nState Change Processing (User Statistics Workbench)|0|0|0 ms|0|20|20|0|0 ms|0 ms\nState Change Processing (Workbench)|0|0|0 ms|0|20|20|0|0 ms|0 ms\n",
"detailsAsMarkdown": true,
"name": "Thread Pools"
}
]
},
"status": "ok"
},
{"_type": "com.braintribe.model.deploymentapi.check.data.aggr.CheckBundleResult", "_id": "15",
"check": {"_type": "com.braintribe.model.extensiondeployment.check.HardwiredCheckProcessor", "_id": "16",
"autoDeploy": true,
"deploymentStatus": "deployed",
"externalId": "checkProcessor.hardwired.BaseVitalityCheckProcessor",
"globalId": "hardwired:check/BaseVitalityCheckProcessor",
"id": "hardwired:check/BaseVitalityCheckProcessor",
"module": {"_ref": "3"},
"name": "Base Vitality Check Processor",
"partition": "cortex"
},
"coverage": "vitality",
"isPlatformRelevant": true,
"name": "Base Platform Vitality Checks",
"node": "conversion@DESKTOP-J07TD08#200720151401978a268ac9350b4e7f9d",
"result": {"_type": "com.braintribe.model.check.service.CheckResult", "_id": "17",
"elapsedTimeInMs": 0.0077,
"entries": [
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "18",
"checkStatus": "ok",
"details": "Check infrastructure is ok",
"detailsAsMarkdown": false,
"name": "Base Check"
}
]
},
"status": "ok"
},
{"_type": "com.braintribe.model.deploymentapi.check.data.aggr.CheckBundleResult", "_id": "19",
"check": {"_type": "com.braintribe.model.conversion.HealthCheckProcessor", "_id": "20",
"autoDeploy": true,
"conversionAccessId": "conversion.access",
"conversionProcessorId": "serviceProcessor.conversion.serviceProcessor",
"deploymentStatus": "deployed",
"externalId": "conversion.healthcheck",
"globalId": "wire://ConversionInitializerModuleWireModule/ConversionInitializerModuleCommonsSpace/healthCheckProcessor",
"id": "wire://ConversionInitializerModuleWireModule/ConversionInitializerModuleCommonsSpace/healthCheckProcessor",
"maxDurationPerJob": 3600000,
"module": {"_type": "com.braintribe.model.deployment.Module", "_id": "21",
"bindsDeployables": true,
"bindsHardwired": false,
"bindsInitializers": false,
"bindsWireContracts": false,
"globalId": "module://tribefire.extension.conversion:conversion-module",
"id": "module://tribefire.extension.conversion:conversion-module",
"name": "conversion-module",
"partition": "cortex"
},
"name": "Conversion Check Processor",
"partition": "cortex",
"workerThreads": 3
},
"coverage": "functional",
"isPlatformRelevant": false,
"module": {"_ref": "21"},
"name": "Conversion Checks",
"node": "conversion@DESKTOP-J07TD08#200720151401978a268ac9350b4e7f9d",
"result": {"_type": "com.braintribe.model.check.service.CheckResult", "_id": "22",
"elapsedTimeInMs": 618.4326,
"entries": [
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "23",
"checkStatus": "ok",
"details": "Checking Conversion Access configuration.",
"detailsAsMarkdown": false,
"name": "Conversion Access Check"
},
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "24",
"checkStatus": "ok",
"details": "Checking Conversion Processor configuration.",
"detailsAsMarkdown": false,
"name": "Conversion Processor Check"
},
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "25",
"checkStatus": "ok",
"details": "Jobs | Pending | Worker Pool\n--- | --- | ---\n0 | 0 | 3\n\nNo conversions currently active.",
"detailsAsMarkdown": true,
"name": "Current Job"
},
{"_type": "com.braintribe.model.check.service.CheckResultEntry", "_id": "26",
"checkStatus": "ok",
"details": "Jobs | Success | Failures\n--- | --- | ---\n0 | 0 | 0\n",
"detailsAsMarkdown": true,
"name": "Jobs Processed"
}
]
},
"status": "ok",
"weight": "under1s"
}
],
"status": "ok"