The debugger enables you to detect and diagnose errors in your
WorldServer application. To do so, you need to modify the
WorldServer URL to match these URL examples:
http://[server]:[port]/ws-legacy/debug.jsp?secret=[Database User ID] So assuming the Database Username/user ID is: test123, the URL would be (as an example):
https://myworldserver/ws-legacy/debug.jsp?secret=test123 NOTE: The
Database User ID is case-sensitive.
You can find the DB username to be used in the debug.jsp url in the WorldServer
ws_startup.log. Open it and find a line like this:
[2020-04-29 16:46:49,904] WARN main com.idiominc.ws.startup: DB User: blablaSo assuming the DB user is
blabla and the WorldServer URL is
http://myworldserver/ws-legacy/login, this would be your debug.jsp URL:
http://mytestserver:8080/ws-legacy/debug.jsp?secret=blabla
Note: starting from version 11.8.x, you need to first log in to WorldServer (Legacy URL) with your user credentials. Once you are logged in, enter the debug_jsp token to load the page. If you are not logged in, you will get the error:
You do not have permission to access this page.Find out more about this error in
this article.Once you have successfully run debug.jsp, a page with a lot of useful information will display. The information output starts with the server and allocated
Java memory information. Example:
General Information:General Information:
Operating System: | Windows Server 2019 (10.0) |
WorldServer Instance ID: | -1876014236 |
Total Memory: | 12288M |
Used Memory: | 8355M |
Available Memory: | 3933M |
JDK: | 17.0.6 (Eclipse Adoptium) |
Note: Total Memory is the Java Heap Memory Size allocated to Tomcat, not the total memory on the server. In the example above, it is 32 GB.
Database Information
URL: | jdbc:idiom:sqlserver://testtest.sql.test.test-group.com;DatabaseName=Testdbname |
DB User: | blabla |
Server: | Microsoft SQL Server 2019 - 15.0.4198.2 |
Driver: | SQLServer 5.1.4.000242 (F000381.U000186) |
Database connection pool information:
Maximum Connection: | 100 |
Available Connection: | 95 |
Active Connections: | 18 |
Temporary Connections: | 0 |
Connection cache size: | 32 |
Statement cache size: | 1290 |
Max statement cache size per connection: | 50 |
Database connection leak idle time (seconds): | 1800 |
Followed by
Stack Dump, giving information about engines (i.e Workflow daemons, notification daemon, background daemon etc.).
Tip: The number of instances of
WFE,
STATENG, BGE (Background Daemons) or
Notification engine entries corresponds respectively to the number of
workflow daemons,
stats engines (responsible for assignments),
notification daemons and
background daemons configured in Worldserver.
For example: if you search for
WFE in the page (Ctrl+F+WFE) and you find 4 results corresponding each to a thread, you will know that your environment is set up to run
4 Workflow engines.The same applies to searching for
BGE (Background engines),
STATENG and
Notification engine Daemon.
Examples:
[1858943295] Thread[BGE daemon 1 (6ecd393f) on host "Sxxx068",4,main]
java.lang.Thread.sleep(Native Method)
com.idiominc.ws.process.engine.ProcessEngineDaemon.run(ProcessEngineDaemon.java:1026)
[491324729] Thread[Notification Engine Daemon (1d490539),4,main]
java.lang.Thread.sleep(Native Method)
com.idiominc.ws.notification.NotificationEngineDaemon.run(NotificationEngineDaemon.java:166)
[1290806595] Thread[WFE daemon 10 (4cf02543) on host "SNxxx68",4,main]
java.lang.Thread.sleep(Native Method)
com.idiominc.ws.process.engine.ProcessEngineDaemon.run(ProcessEngineDaemon.java:1026)