Skip to main content

MistUtilRAX

MistUtilRAX

While technically not an analyser, it performs the function of an analyser. MistUtilRAX is capable of reading out any of MistServers shared memory files as stored in /dev/shm (or in the temporary folder in the case of a shared file system). This is especially handy as it can tell you the current status of any stream, track or setting within MistServer itself.

This is a great tool to confirm stream/server states when debugging without having to talk to the API.

tip

MistUtilRAX currently is made to look into your systems /dev/shm/ folder path automatically. So you do not pass it the full /dev/shm/MstFILE, you only do pass the name of the shared memory file you want to pass MistUtilRAX MstCapa

Usage

MistUtilRAX [MistServer shared memory file]

Debugging a live state for later

You can use MistUtilRax to read out live stream/server states, however sometimes you want to figure out what went wrong later, but do a full reset for now. In this case we recommend making a copy ofall shared memory files into a folder and then doing a hard reset of MistServer.

You can place the copied files into another PCs /dev/shm/ folder and verify the state before the restart when you have more availability. Do note that some files such as the MstDataSTREAMNAME will not be functional, but MistUtilRAX is unable to open those regardless. Feel free to delete any MstData files when doing this.

Shared memory files

tip

Sometimes a shared memory file will return a value as if it was unreadable:

(Note: deleted count (0) >= total count (0))
RelAccX: 95 x 688b @88 (#18446744073709551521 - #94)

This could also mean the requested memory page was empty/unconfigured. For example requesting the current custom variables set up when there are none set up.

Shared memory fileInformation shown
MstCapaShows the full capabilities of MistServer and all available binaries
MstCnnsShows the current connectors set up
MstDataSTREAMNAMEX_YYYNOT COMPATIBLE - Actual stream data for the streamname, track X at position YYY. Use MistAnalyserDTSC for these!
MstExtWritersThe external writers currently set up
MstGlobalConfigShows the current global configuration settings
MstIPIDSTREAMNAMENOT COMPATIBLE - PID data for the input of the matching streamname. Use hexdump to read this out.
MstJWKCurrent JWK set up used to match JWT against
MstMetaSTREAMNAMEShow the full metadata/tracks available for the matching stream name.
MstProtShow all protocols currently set up
MstPushNOT COMPATIBLE - List of current active pushes. Cannot be read with any tool.
MstSCnfSTREAMNAMEcurrent stream configuration for matching stream name
MstSessionSESSIONIDENTIFIERConnection stats from connection towards session
MstStatSession stats from Sessions towards MistController
MstStateAccsAll current connections and matching session identifiers
MstSTATESTREAMNAMENOT COMPATIBLE - Stream state, needs hexsdump to read out. First byte = status as described in defines.h, second byte = percentile.
MstStateLogsCurrent logs available within MistServer
MstStateStreamsShows generic stream information for all streams
MstStrmKeysShows current set up stream keys
MstTrakSTREAMNAME@X-YShows full track information for given streamname and pagenumber-trackid
MstTRGRTRIGGERShows trigger/hook information for matching trigger/hook
MstUserSTREAMNAMEConnection towards a stream for each track.
MstVarsShows information for custom variables set up