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.
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
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 file | Information shown |
|---|---|
| MstCapa | Shows the full capabilities of MistServer and all available binaries |
| MstCnns | Shows the current connectors set up |
| MstDataSTREAMNAMEX_YYY | NOT COMPATIBLE - Actual stream data for the streamname, track X at position YYY. Use MistAnalyserDTSC for these! |
| MstExtWriters | The external writers currently set up |
| MstGlobalConfig | Shows the current global configuration settings |
| MstIPIDSTREAMNAME | NOT COMPATIBLE - PID data for the input of the matching streamname. Use hexdump to read this out. |
| MstJWK | Current JWK set up used to match JWT against |
| MstMetaSTREAMNAME | Show the full metadata/tracks available for the matching stream name. |
| MstProt | Show all protocols currently set up |
| MstPush | NOT COMPATIBLE - List of current active pushes. Cannot be read with any tool. |
| MstSCnfSTREAMNAME | current stream configuration for matching stream name |
| MstSessionSESSIONIDENTIFIER | Connection stats from connection towards session |
| MstStat | Session stats from Sessions towards MistController |
| MstStateAccs | All current connections and matching session identifiers |
| MstSTATESTREAMNAME | NOT COMPATIBLE - Stream state, needs hexsdump to read out. First byte = status as described in defines.h, second byte = percentile. |
| MstStateLogs | Current logs available within MistServer |
| MstStateStreams | Shows generic stream information for all streams |
| MstStrmKeys | Shows current set up stream keys |
| MstTrakSTREAMNAME@X-Y | Shows full track information for given streamname and pagenumber-trackid |
| MstTRGRTRIGGER | Shows trigger/hook information for matching trigger/hook |
| MstUserSTREAMNAME | Connection towards a stream for each track. |
| MstVars | Shows information for custom variables set up |