Debugging FastX

FastX comes equipped with many options to allow for better debugging of sessions. Debug messages generate a lot of data and can cause significant slowdown.  Only turn on debugging if absolutely needed

Client Side Debugging

Edit the url by appending parameters in separated by a semicolonto enable debugging

For example

https://server.example.com/client/connect;id=2fba2934538346aa58df6374585b6e06;debug=send

Client Debug Options

debug=send

log all protocol messages from the client to the server

debug=receive

log all protocol messages from the server to the client

debug=1

log all protocol messages (from both client and server)

wasm=0

disable WebAssembly.  This will cause all image decompression to be done in pure javascript (which is slow)

Server Side Debugging

Set the DEBUG variable before starting the web server to enable server side debugging.  This will log messages.  Debug messages can be chained with a comma to enable multiple debugging sections.  You can also add a * to enable a class of debug messages

For example

Log all api calls
DEBUG=fastx:api:* npm start
Log all info from the web server to the session and all info from the web server to the link daemon
DEBUG=fastx:monitor:*,fastx:link:* npm start
Log Everything
DEBUG=* npm start

Server Debug Options

fastx:connection:connect

log session connection

fastx:connection:messages

log all communication from FastX client and server

fastx:connection:events

log connection creation and teardown

fastx:api:request

log requests from the client

fastx:api:process

log packaged message that will be processed

fastx:api:queue

log queuing of the messages

fastx:custer:list

log the list of cluster members

fastx:cluster:util

log all cluster setup and refreshing of cluster

fastx:system:config

log configuration updating

fastx:system:cache

log low level caching actions

fastx:system:file

log file interactions for system configuration

fastx:session:dirty

log when sessions need to be updated

fastx:session:update

log when session updated

fastx:monitor:com

log communication from web server to session

fastx:monitor:session

log communication from session to web server

fastx:link:netstring

low low level communication between web server and user’s running link daemon

fastx:link:messages

log communication between web server and user’s link daemon (summary)

fastx:user:admin

log user’s tests for admin