Status

Query status Gateway subsystems.

To retrieve the set of all subsystems with current status use the API below

GET /1/status
Host: http://<gateway ip address or hostname>:8000

The response will be a list of subsystems that are reporting status. An example of the types of subsystems is show below

["netcam_AAKKnwSh_connectivity", "sensors", "devices", "media_upload", "media_storage_purge", "netcam_5G8r9Fyj_connectivity", "netcam_FPVMPQY_connectivity", "event", "netcam_QLWilnFM_connectivity", "gpus", "cpu", "media_storage_upload", "netcam_OFGHHZM_connectivity", "memory", "ifconfig", "netcam_triggers_t98D6t6C", "media_storage", "net", "upload", "software_versions", "post_urls", "netcam_NVFGXZT_connectivity", "netcam_9w3zTtp6_connectivity", "model_detections", "netcam_JNOPRQD_connectivity", "software_upgrade", "disk_smartctl", "netcam_rWj4C7MP_connectivity", "disk"]

GPU Status

To retrieve the status of a specific subsystem specify the system in the URL.

GET /1/status/gpus

An example response is shown below:

{"gateway_id": "quXmedVKp", "subsystem": "gpus", "status": {"0": {"mem_total": 15109.0, "mem_used": 10674.0, "percent_used": 71, "temperature": 47.0, "utilization": 0.0}}, "timestamp": 1604363031.660875}

The status values of key subystems are shown below:
GPU

ParameterValueDescription/SubKey
gatewayid
_string
quXmedVKpIdentifier of the gateway
subsystem
string
gpus
status
dict
Dictionary of GPU Ids, whose key is the GPU index (starting from 0)
Each item in the dictionary has the following key-value pairs.
mem_total
memtotal
_float
total amount of GPU memory for this GPU)
memused
_float
memory currently used
percentused
_float
memory currently used
temperature
float
degrees Celcius
timestamp
_float__
timestamp of last reportepoch time.

CPU Status

GET /1/status/cpu
{"gateway_id": "quXmedVKp", "subsystem": "cpu", "status": {"cpu_times_percent": {"softirq": 0.2, "iowait": 0.0, "system": 1.3, "idle": 88.6, "user": 9.9, "guest_nice": 0.0, "irq": 0.0, "nice": 0.0, "steal": 0.0, "guest": 0.0}, "cpu_freq": [4300.099, 4299.898, 2896.914, 898.407, 899.393, 956.451, 1176.516, 900.681, 900.006, 900.081, 900.074, 894.506], "cpu_percent": [7.8, 16.0, 3.8, 2.6, 9.1, 2.6, 68.8, 3.8, 2.6, 2.6, 9.1, 6.4], "cpu_stats": {"interrupts": 2892806226, "soft_interrupts": 1854672603, "ctx_switches": 8907428635, "syscalls": 0}}, "timestamp": 1604363452.347293}

An explanation of the status values:

ParameterValueDescription/SubKey
gatewayid
_string
quXmedVKpIdentifier of the gateway
subystem
string
cpu
status
dict
cputimes_percemt
_float
softirq
float
time spent for servicing software interrupts
iowait
float
time spent waiting for I/O to complete
system
float
time spent by processes executing in kernel mode
idle
float
time spent doing nothing
user
float
time spent by normal processes executing in user mode
nice
float
time spent by niced (prioritized) processes executing in user mode
irq
float
time spent for servicing hardware interrupts
cpufreq
_list
list of CPU frequencies in MHz.
cpupercent
_list
utilization percentages for each specific CPU time
cpu_stats
interrupts
int
number of interrupts since boot
softinterrupts
_int
number of software interrupts since boot.
ctxswitches
_int
number of context switches (voluntary + involuntary) since boot.
syscalls
int
number of system calls since boot. 0 on Linux
timestamp
float
timestamp of reported status

System Memory

The status of available memory can be retrieved using:

GET /1/status/memory

The resultant output values are described below:

ParameterValueDescription/Subkey
gatewayid
_string
quXmedVKpIdentifier of the gateway
subystem
string
memory
status
dict
virtualmemory
_dict
available
int
memory used
used
int
memory not being used at all (zeroed) that is readily available;
cached
init
memory previously allocated but recently released and available
percent
float
percentage of memory used.
free
int
memory not being used at all (zeroed) that is readily available
active
int
memory currently in use or very recently used
swapmemory
_dict
usedused swap memory in bytes
percentthe percentage usage calculated as (total - available) / total * 100
freefree swap memory in bytes
sin
int
the number of bytes the system has swapped in from disk (cumulative)
sout
int
the number of bytes the system has swapped out from disk (cumulative)
timestamp
float
timestamp of reported status

Network Camera Capture (Netcams)

The status of all network cameras can be retrieved via a wildcard command:

GET /1/status/netcam*

The command returns a list of status per camera capture application.
To retrieve an individual network camera's status:

GET /1/status/netcam_<app_id>_connectivity

An explanation of the status values:

ParameterValueDescription/SubKey
gatewayid
_string
quXmedVKpIdentifier of the gateway
subystem
string
netcam_<camera_capture_app_id>_connectivity
status
dict
numframes
_int
number of frames received by the network camera
corruptframes
_int
number of frames which cannot be decoded
cameracapture_id
_string
parent camera capture application id
connected
bool
Is the camera connected to the Edgeflow?
cameraid
_string
network camera id
lastrx_frame_time
_float
timestamp of the last frame received by this Edgeflow
timestamp
float
timestamp of reported status

Software Update

The status of the last software upgrade can be retrieved using:

GET /1/status/software_upgrade

An explanation of the status values:

ParameterValueDescription/Subkey
gatewayid
_string
quXmedVKpIdentifier of the gateway
subystem
string
software_upgrade
status
dict
message
string
"EF-20-10-21 installed"String containing release installed.
timestamp
float
timestamp of reported status

Software versions

To retrieve a list of all software versions installed on the Gateway including the current running version.

GET /1/status/software_versions

An explanation of the status values:

ParameterValueDescription/Subkey
gatewayid
_string
quXmedVKpIdentifier of the gateway
subystem
string
software_versions
status
dict
current
string
EFVersion
_string
current running version
available
list
"EF-20-07-06", "EF-20-08-11f"currently downloaded and available versions
reboot
string
"EF-20-10-21"version to use on next reboot
timestamp
float
timestamp of reported status

EDIO Trigger

EDIO trigger status can be retrieved using:

GET /1/status/edio24-trigger

An explanation of status values:

ParameterValueDescription/Subkey
gatewayid
_string
quXmedVKp
subystem
string
edio24-trigger
status
dict
edio24trigger_count
_string
value
int
Number of triggers
edio24initialized_at
_string
timestamp
float
last time that the EDIO was initialized.
timestamp
float
timestamp of reported status

Model Detections

The number of detections reported for an application can be retrieved using:

GET /1/status/model_detections

An explanation of status values:
If a model changes for an application, the model detection values start from 1.

ParameterValueDescription/Subkey
gatewayid
_string
subystem
string
status
list
applicationid
_dict
application id
modelid
_string
model being used.
string
modeldetections
_string
Number of detections.
int
timestamp
float
timestamp of reported status