Salesforce

WorldServer - How to run debug.jsp on a WorldServer page and find useful information

« Go Back

Information

 
TitleWorldServer - How to run debug.jsp on a WorldServer page and find useful information
URL Name000004821
SummaryThe debugger enables you to detect and diagnose errors in your WorldServer application. You need to modify the WorldServer URL as explained in this article
Scope/EnvironmentWorldServer
Question
Could you please indicate how can we set the debug.jsp page in WorldServer?
Answer
The debugger enables you to detect and diagnose errors in your SDL 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] 

https://myws/ws-legacy/debug.jsp?secret=[Database User ID] 

Note: in a WorldServer 11 environment, the url needs to be the ws-legacy one. In a WorldServer 10.4.x environment, it can be the 'ws' one

http://[server]:[port]/ws-legacy/debug.jsp?secret=[Database User ID] 

NOTE: 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: blabla

So assuming the DB user is blabla and the WorldServer URL is http://mytestserver:8080/ws-legacy/login, this would be your debug.jsp URL:

http://mytestserver:8080/ws-legacy/debug.jsp?secret=blabla

Once you have successfully run debug.jsp, a page with a lot of information will display. The information output starts with server and allocated Java memory information. Example:

General Information:


General Information:
Operating System:Windows Server 2016 (10.0)
WorldServer Instance ID:948172211
Total Memory:14336M
Used Memory:2362M
Available Memory:11974M
JDK:1.8.0_211 (Oracle Corporation)

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 14 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, state 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)

 
Reference
Attachment 1 
Attachment 2 
Attachment 3 
Attachment 4 
Attachment 5 

Powered by