mps-status

Display status of a server instance

Syntax

mps-status [-C [path/]server_name][--statistics|-s [sample_interval]] [--json|-j]

Description

mps-status [-C [path/]server_name][--statistics|-s [sample_interval]] [--json|-j] displays the status of the server (STARTED, STOPPED), along with a full path to the server instance. Additionally, it can display performance statistics about the server including:

  • sample interval in milliseconds

  • CPU utilization

  • number of active worker processes

  • number of requests in queue

  • memory usage

  • request throughput per second

  • total queue time in milliseconds

Input Arguments

-C path/

Specify a path to the server instance. If this option is omitted, the current working folder and its parents are searched to find the server instance.

server_name

Server to be queried for status

--statistics [sample_interval], -s [sample_interval]

Specify that statistics are to be collected and displayed.

The optional sample_interval allows you to specify the interval, in milliseconds, over which statistics are collected. The default is 500.

Note

If you specify a sample interval of 0, only one sample is taken. Two samples are required to compute some statistics such as CPU utilization and throughput.

--json, -j

Specify that statistics are output in JSON format:

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Instance Status",
    "description": "Status and Statistics for a MATLAB Production
                    Server Instance",
    "type": "object",
    "properties": {
        "instancePath": {
            "description": "Filesystem path for the server 
                            instance",
            "type": "string"
        },
        "started": {
            "type": "boolean"
        },
        "license": {
            "type": "object",
            "properties": {
                "status": {
                    "enum": [ "CHECKED_OUT", "IN_GRACE_PERIOD",
                              "GRACE_PERIOD_EXPIRED" ]
                },
                "type": {
                    "enum": [ "INVALID", "UNKNOWN", "COMPILED", 
                              "TRIAL", "EDU", "COMM" ]
                },
                "number": {"type": "string"}
            },
            "required": ["status"]
        },
        "statistics": {
            "type": "object",
            "properties": {
                "sampleIntervalMS": {
                    "description": "The difference in upTime 
                                    between the two samples, 0 if
                                    only a single sample was
                                    taken",
                    "type": "number"
                },
                "localTime": {
                    "description": "Local Time at server in format 
                                    YYYY.MM.DD HH.MM.SS.SSSSSS",
                    "type": "string"
                },
                "upTime": {
                    "description": "Time since server start in
                                    fractional seconds",
                    "type": "number"
                },
                "cpuTime": {
                    "description": "CPU time consumed by all server
                                    processes in fractional 
                                    seconds",
                    "type": "number"
                },
                "cpuPercentage": {
                    "description": "CPU utilzation, computed using
                                    change in cpuTime and upTime
                                    between two samples",
                    "type": "number"
                },
                "totalRequestsReceived": {
                    "description": "The number of valid requests
                                    received",
                    "type": "integer"
                },
                "totalRequestsStarted": {"type": "integer"},
                "totalRequestsFailedToStart": {
                    "description": "The number of requests that
                                    could not be started",
                    "type": "integer"
                },
                "totalRequestsFinishedHttpSuccess": {
                    "type": "integer"
                },
                "totalRequestsFinishedHttpError": {
                    "description": "Note: does not includes
                                    requests that failed to start",
                    "type": "integer"
                },
                "memoryWorkingSet": {
                    "description": "Amount of memory resident in
                                    physical memory for all
                                    processes (KiB)",
                    "type": "number"
                },
                "throughput": {
                    "description": "Requests retired per second,
                                    computed using the number of
                                    requests finished or failed to
                                    start over two samples",
                    "type": "number"
                },
                "totalQueueTimeMS": {
                    "description": "Sum of the wait times for
                                    currently queued requests",
                    "type": "number"
                }
            }
        }
    },
    "required": ["instancePath", "started"]
}

Examples

Check if a Server is Running

Display status of server instance server_1, residing in tmp folder.

mps-status -C /tmp/server_1 

If server is running and running with a valid license:

'/tmp/server_1' STARTED
license checked out

If server is not running:

'/tmp/server_1' STOPPED

Report Statistics in a Human Readable Format

Display statistics for the server instance server_1, residing in tmp folder.

mps-status -C /tmp/server_1 -s
If server is running and running with a valid license:

'/tmp/server_1' STARTED
license checked out
Statistics:
Sample Interval (ms):     500
CPU Utilization (%):      40
Active Worker Processes:  2
Requests in Queue:        1
Memory Usage (KiB):       1024
Throughput (requests/s):  10
Total Queue Time (ms):    100

Report Statistics in JSON Format

Display statistics for the server instance server_1, residing in tmp folder.

mps-status -C /tmp/server_1 -s -j
If server is running and running with a valid license:

{
    "instancePath":"L:\\MPS\\stats",
    "license":{
        "number":"unknown",
        "status":"CHECKED_OUT",
        "type":"COMM"
    },
    "started":true,
    "statistics":{
        "cpuPercentage":0,
        "cpuTime":1.7628113000000001,
        "localTime":"2015.04.28 16:52:49.874483",
        "memoryWorkingSet":393468,
        "sampleIntervalMS":500.31748899999951,
        "throughput":0,
        "totalQueueTimeMS":0,
        "totalRequestsFailedToStart":0,
        "totalRequestsFinishedHttpError":0,
        "totalRequestsFinishedHttpSuccess":0,
        "totalRequestsReceived":0,
        "totalRequestsStarted":0,
        "upTime":6.9780032949999997
    }
}
Introduced in R2012b