Skip to content

Metrics Data

Basic fields

Basic fields mean they would exist in all metrics data

Field Description
date data time, float value ,
ipAddr IED ip address , e.g. "192.168.72.140"
deviceId IED device Id , e.g. "22c08a744ed24a6795505bd462286928"
deviceName IED device name, e.g. "EDGE160"
originalTag full tag name , e.g. "22c08a744ed24a6795505bd462286928.System.cpu"

System datasource

cpu

Tag

Full tag : <deviceId>.System.cpu

Example : 9e68a1c87977476a8ddcce6522e1f2ca.System.cpu

Fields

Field Description
irq Total: interrupt request in percentage
free Total: free cpu percentage ( used + free == 100 )
idle cpu idle time percentage
nice Nice value — Nice values are user-space values that we can use to control the priority of a process. The nice value range is -20 to +19 where -20 is highest, 0 default and +19 is lowest.
used total used cpu in percentage
user user space cpu usage, in percentage
count cpu cores
guest The process (a hypervisor) is running a virtual CPU. (These numbers are already included in User and Nice).
steal Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.
iowait I/O wait (iowait) is the percentage of time that the CPU (or CPUs) were idle during which the system had pending disk I/O requests.
system system space usage
softirq soft Interrupt request
cpu[coreX].irq cpu core X interrupt request in percentage
cpu[coreX].free cpu core X : free cpu percentage
cpu[coreX].idle cpu core X cpu idle time percentage
cpu[coreX].nice save with nice, but only in this cpu core
cpu[coreX].used cpu core X, used cpu in percentage
cpu[coreX].user cpu core X, user space cpu usage, in percentage
cpu[coreX].guest cpu core X, The process (a hypervisor) is running a virtual CPU. (These numbers are already included in User and Nice).
cpu[coreX].steal cpu core X, Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.
cpu[coreX].iowait cpu core X, I/O wait (iowait) is the percentage of time that the CPU (or CPUs) were idle during which the system had pending disk I/O requests.
cpu[coreX].system cpu core X, system space usage
cpu[coreX].softirq cpu core X, soft Interrupt request

Example

{
  "irq": 0,
  "date": 1684471422.533875,
  "free": 96.296295,
  "idle": 96.296295,
  "nice": 0,
  "used": 3.7037036,
  "user": 2.4691358,
  "count": 4,
  "guest": 0,
  "steal": 0,
  "iowait": 0,
  "ipAddr": "192.168.72.140",
  "system": 1.2345679,
  "softirq": 0,
  "cpu0.irq": 0,
  "cpu1.irq": 0,
  "cpu2.irq": 0,
  "cpu3.irq": 0,
  "deviceId": "9e68a1c87977476a8ddcce6522e1f2ca",
  "cpu0.free": 95,
  "cpu0.idle": 95,
  "cpu0.nice": 5,
  "cpu0.used": 5,
  "cpu0.user": 0,
  "cpu1.free": 47.61905,
  "cpu1.idle": 47.61905,
  "cpu1.nice": 52.38095,
  "cpu1.used": 52.38095,
  "cpu1.user": 0,
  "cpu2.free": 85.71429,
  "cpu2.idle": 85.71429,
  "cpu2.nice": 4.7619047,
  "cpu2.used": 14.285714,
  "cpu2.user": 0,
  "cpu3.free": 88.888885,
  "cpu3.idle": 88.888885,
  "cpu3.nice": 11.111111,
  "cpu3.used": 11.111111,
  "cpu3.user": 0,
  "guestNice": 0,
  "cpu0.guest": 0,
  "cpu0.steal": 0,
  "cpu1.guest": 0,
  "cpu1.steal": 0,
  "cpu2.guest": 0,
  "cpu2.steal": 0,
  "cpu3.guest": 0,
  "cpu3.steal": 0,
  "deviceName": "LK140V16X3",
  "cpu0.iowait": 0,
  "cpu0.system": 0,
  "cpu1.iowait": 0,
  "cpu1.system": 0,
  "cpu2.iowait": 0,
  "cpu2.system": 9.523809,
  "cpu3.iowait": 0,
  "cpu3.system": 0,
  "originalTag": "9e68a1c87977476a8ddcce6522e1f2ca.System.cpu",
  "cpu0.softirq": 0,
  "cpu1.softirq": 0,
  "cpu2.softirq": 0,
  "cpu3.softirq": 0,
  "cpu0.guestNice": 0,
  "cpu1.guestNice": 0,
  "cpu2.guestNice": 0,
  "cpu3.guestNice": 0
}

Disk

System disk io sampling data in average 1s. This data is coming from /proc/diskstats, Please access https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats for more information.

Tag

Full tag : <deviceId>.System.disk

Example : 9e68a1c87977476a8ddcce6522e1f2ca.System.disk

Fields

Field Description
dev Linux device name, e.g. "sda"
readBytes read bytes
readTime time spent reading (ms)
readCount reads completed successfully count
writeTime time spent writing (ms)
writeBytes write bytes
writeCount writes completed
ioTime time spent doing I/Os (ms)
weightedIO weighted time spent doing I/Os (ms)
iopsInProgress I/Os currently in progress
mergedReadCount reads merged
mergedWriteCount writes merged

Example

{
  "dev": "sda",
  "date": 1684471422.129406,
  "ioTime": 116164,
  "ipAddr": "192.168.72.140",
  "deviceId": "9e68a1c87977476a8ddcce6522e1f2ca",
  "readTime": 29692,
  "readBytes": 1346714112,
  "readCount": 58252,
  "writeTime": 233589,
  "deviceName": "LK140V16X3",
  "weightedIO": 184932,
  "writeBytes": 12955247104,
  "writeCount": 316664,
  "originalTag": "9e68a1c87977476a8ddcce6522e1f2ca.System.disk",
  "iopsInProgress": 0,
  "mergedReadCount": 1808,
  "mergedWriteCount": 2837773
}

mem

System memory stat

Tag

Full tag : <deviceId>.System.mem

Example : 9e68a1c87977476a8ddcce6522e1f2ca.System.mem

Fields

Field Description
total total memory size in MB , e.g. 8532.91 means 8532MB
free Unused memory size in MB ,
used used memory size in MB , (used = total – free – buff/cache)
usedPercent used memory usage , percentage . ( used = total – free – buff/cache)
freePercent (free + buff/cache ) memory usage or 100% - usedPercent , percentage , 55.49368827036863, means 55.5%
swapTotal swap total memory size
swapFree swap free memory size
swapUsed swap used memory size
swapFreePercent swap free memory usage, percentage
swapUsedPercent used memory usage , percentage

Example

{
  "date": 1684471422.109089,
  "free": 4735.2265625,
  "used": 1442.06640625,
  "total": 8532.91015625,
  "ipAddr": "192.168.72.140",
  "deviceId": "9e68a1c87977476a8ddcce6522e1f2ca",
  "swapFree": 0,
  "swapUsed": 0,
  "swapTotal": 0,
  "deviceName": "LK140V16X3",
  "freePercent": 55.49368827036863,
  "originalTag": "9e68a1c87977476a8ddcce6522e1f2ca.System.mem",
  "usedPercent": 55.49368827036863,
  "swapFreePercent": 0,
  "swapUsedPercent": 0
}

NOTICE

The memory data collection algorithm uses same data source (specs) as Edge Device Statistics.

The used = total – free – buff/cache, is same with command top or free on linux, e.g. :

$ top
top - 07:49:55 up 35 min,  1 user,  load average: 1.72, 1.96, 1.96
Tasks: 304 total,   1 running, 302 sleeping,   0 stopped,   1 zombie
%Cpu(s):  0.0 us,  1.5 sy,  0.0 ni, 98.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   8532.9 total,   4735.1 free,   1442.7 used,   2355.1 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   6946.8 avail Mem

diskcap

System disk capacity of host root folder /

Tag

Full tag : <deviceId>.System.diskcap

Example : 9e68a1c87977476a8ddcce6522e1f2ca.System.diskcap

Fields

Field Description
total total disk size in MB , e.g. "14047.0078125" means 14047MB
free free disk size in MB
used used disk size in MB
freePercent free disk usage, percentage
usedPercent used disk usage , percentage , 30.22908020019531 means 30.2%

Example

{
  "date": 1684471243.812315,
  "free": 9170.33984375,
  "used": 4246.28125,
  "total": 14047.0078125,
  "ipAddr": "192.168.72.140",
  "deviceId": "9e68a1c87977476a8ddcce6522e1f2ca",
  "deviceName": "LK140V16X3",
  "freePercent": 65.2832260131836,
  "originalTag": "9e68a1c87977476a8ddcce6522e1f2ca.System.diskcap",
  "usedPercent": 30.22908020019531
}

NOTICE

Similar to memory case , the disk capacity free + used is small than total. It's used same data source as df command on Linux, e.g. :

$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
overlayroot      14G  4.2G  9.0G  32% /

You can find more info at Edge Device Statistics subsection.

operationinfo

Edge operationinfo message

Tag

Full tag : <deviceId>.edge.operationinfo

Example : 9e68a1c87977476a8ddcce6522e1f2ca.edge.operationinfo

Fields

Field Description
runningApplicationCapicity the max running apps limit
runningApplicationAvailable current running apps
installedApplicationCapacity Max capacity allows to install apps on IED
installedApplicationAvailable current install available on IED

Example

{
  "date": 1684471302.142485,
  "ipAddr": "192.168.72.140",
  "deviceId": "9e68a1c87977476a8ddcce6522e1f2ca",
  "deviceName": "LK140V16X3",
  "originalTag": "9e68a1c87977476a8ddcce6522e1f2ca.edge.operationinfo",
  "runningApplicationCapicity": 10,
  "runningApplicationAvailable": 9,
  "installedApplicationCapacity": 20,
  "installedApplicationAvailable": 18
}

docker containers

Docker containers info

Tag

Full tag : <deviceId>.System.docker

Example : 9e68a1c87977476a8ddcce6522e1f2ca.System.docker

Fields

Field Description
name container name
state container running state, 1 : running , 0 stopped
memMax Max memory allows in MB
memUsed memory used, in MB
memPercent memory usage percentage, 26.9140625 means "26.9%"
cpuPercent cpu usage, in percentage
sizeRw is the size of the files which have been created or changed, if you compare the container to its base image. Just after creation, this should be zero; as you modify (or create) files, this will increase. in MB
sizeRootFs the total size of all the files in the container, in MB . If you were to export the filesystem of the container as a tarball, it would be about that size.
composeService value from container label "com.docker.compose.service"
composeProject container label "com.docker.compose.project"
composeProject2 value from container label name indicated by label "com.docker.stack.namespace"

Example

{
  "date": 1684471431.178944,
  "name": "ieflowcreator_sim-edge-event-publisher_1",
  "state": 1,
  "ipAddr": "192.168.72.140",
  "memMax": 30,
  "memUsed": 8.07421875,
  "deviceId": "9e68a1c87977476a8ddcce6522e1f2ca",
  "cpuPercent": 0.1895136363636364,
  "deviceName": "LK140V16X3",
  "memPercent": 26.9140625,
  "sizeRootFs": 12.09580326080322,
  "originalTag": "9e68a1c87977476a8ddcce6522e1f2ca.System.docker",
  "composeProject": "ieflowcreator",
  "composeService": "sim-edge-event-publisher"
}

NOTICE

Metrics data SizeRw and SizeRootFs for Docker containers will be removed from IEDK version 1.21.x.

edgediskcap

Folder usage capacity inside edge-iot-core

Tag

Full tag : <deviceId>.edge.edgediskcap

Example : 9e68a1c87977476a8ddcce6522e1f2ca.edge.edgediskcap

Fields

Field Description
path folder name
total total disk size in MB , e.g. "39107.71875" means 39107MB
free free disk size in MB
used used disk size in MB
freePercent free disk usage, percentage
usedPercent used disk usage , percentage , 30.22908020019531 means 30.2%

Example

{
  "date": 1684471302.110987,
  "free": 27634.5859375,
  "path": "/",
  "used": 9671.99609375,
  "total": 39107.71875,
  "ipAddr": "192.168.72.140",
  "deviceId": "9e68a1c87977476a8ddcce6522e1f2ca",
  "deviceName": "LK140V16X3",
  "freePercent": 74.074290467971,
  "originalTag": "9e68a1c87977476a8ddcce6522e1f2ca.edge.edgediskcap",
  "usedPercent": 25.925709532029
}

system log

System log

Tag

Full tag : <deviceId>.System.log

Example : 9e68a1c87977476a8ddcce6522e1f2ca.System.log

Fields

Field Description
log message
time datetime , e.g. "2023-05-26T15:47:55Z"

Example

{
  "log": "May 26 15:47:55 localhost.localdomain [edgejobservice][4811]: 1:47PM ERROR Unable to publish event :  {\"errors\":[{\"code\":\"auth.tokenExpired\",\"message\":\"Token expired\",\"errorCode\":401,\"field\":\"Jwt-Bearer\",\"logref\":\"4118050c-0cca-4dfa-94da-a836c7b2a912\",\"innerError\":\"\"}]} | source=processPublish.go:125",
  "date": 1685116075,
  "time": "2023-05-26T15:47:55Z",
  "ipAddr": "192.168.72.140",
  "deviceId": "9e68a1c87977476a8ddcce6522e1f2ca",
  "deviceName": "LK140V16X3",
  "originalTag": "9e68a1c87977476a8ddcce6522e1f2ca.System.log"
}

Edge Apps

Metrics data

Edge app value : imagesCount appSize dataSize totalSize cpuUsage memory(MB) status

Tag

Full tag : <deviceId>.edge.apps.<repoName>.<field>

Example : 9e68a1c87977476a8ddcce6522e1f2ca.edge.apps.mynginx1.status

App Basic fields

Basic fields mean they would exist in all app metrics data

Field Description
name app name
appId app Id
repoName edge app repoName
field field name : imagesCount appSize dataSize totalSize cpuUsage memory(MB) status

App Metrics Field

Field Description
imageCount how may images in edge apps
appSize app size
dataSize app data Size
totalSize total Size ( app+data size)
cpuUsage CPU usage percentage
memory App memory usage stat
status App status: "0" for not running, "1" for running , present or not decided by field

Example for dataSize

{
  "date": 1685116659.697587,
  "name": "MyNginxv1",
  "appId": "sWBh8SLcQVKkLGBCpOxxM9JJGv9EO8z1",
  "field": "dataSize",
  "ipAddr": "192.168.72.140",
  "dataSize": 13531,
  "deviceId": "9e68a1c87977476a8ddcce6522e1f2ca",
  "repoName": "mynginx1",
  "deviceName": "LK140V16X3",
  "originalTag": "9e68a1c87977476a8ddcce6522e1f2ca.edge.apps.mynginx1.dataSize"
}

Example for status

{
  "date": 1685116659.697587,
  "name": "MyNginxv1",
  "appId": "sWBh8SLcQVKkLGBCpOxxM9JJGv9EO8z1",
  "field": "status",
  "ipAddr": "192.168.72.140",
  "status": 0,
  "deviceId": "9e68a1c87977476a8ddcce6522e1f2ca",
  "repoName": "mynginx1",
  "deviceName": "LK140V16X3",
  "originalTag": "9e68a1c87977476a8ddcce6522e1f2ca.edge.apps.mynginx1.status"
}

NOTICE

Each record contains only one Metric Field, as shown in the examples above.

App log

Fields

Field Description
log message
time "2023-05-22T08:59:29.351796801Z"
stream stderr or stdout
service service name
project app project name

Example

{
  "log": "INFO: 2023/05/22 08:59:29 EdgeEventPublisher.go:182: Publishing...\n",
  "date": 1685116168.562784,
  "time": "2023-05-22T08:59:29.351796801Z",
  "ipAddr": "192.168.72.140",
  "stream": "stderr",
  "project": "ieflowcreator",
  "service": "sim-edge-event-publisher",
  "deviceId": "9e68a1c87977476a8ddcce6522e1f2ca",
  "deviceName": "LK140V16X3",
  "originalTag": "9e68a1c87977476a8ddcce6522e1f2ca.edge.apps.ieflowcreator.log"
}