Monitoring

Fogify provides a wide rage of monitoring metrics for each emulated instance and is able to extract user-defined metrics.

Default Metrics

Fogify captures performance metrics directly from the containerized process by inspecting the containers. Pre-defined metrics available by Fogify include CPU time, memory usage, network traffic and many more. The following table depicts all available metrics provided by Fogify

User-defined Metrics

Users can expose application-level metrics for their IoT services. This is achieved by exposing metric updates, in JSON format, to a file (fogify.metrics.json) via the container root directory interface. Fogify will then retrieve them via a lightweight monitoring probe. When the agent retrieves the data, it stores them to the monitoring storage. Following, we offer an exemplary fogify.metrics.json file.


{
  "response-time": 500,
  "requests": 6530,
  "log-in-requests": 100
}

In the previous json file there are three metrics exposed by the application, namely, the response time (response-time), requests count (requests) and login request count (log-in-requests).

Currently, the metric’s name should be string and its value should be numeric.