We all know the struggle of not understanding a new language. Have you ever wondered how computer understands its programs? Yes. Our computers are not as intelligent as us regarding the language skills. They only comprehend their binary codes.

But… In real, we use a handful of programming languages to communicate with computers; like Java, Python, C#, Ballerina… It’s a never ending list. So, there must be someone who does the translation work for the computers to understand these languages. Thankfully, we have compilers for the rescue here. …


Identifiers used in a programming language are as significant as a name for a person. Identifiers are the sequence of characters (or symbols) that are used to uniquely identify and represent the programming entities such as variables, types, labels, functions etc.

For example,

int x = 5;

Here, x is an identifier used to uniquely represent a variable.

According to the lexical structure of the language, the character types and sequence patterns are specified for the developers to use them in their identifiers. …


In the last part, we have discussed on the basic architecture of Fog Layer in an IoT-cloud network. Here, we will understand the security vulnerabilities of Fog layers in the data, network, access control and privacy aspects.

As Fog is a modern time concept, it is still in its developing phase. In addition, Fog handles IoT applications and Cloud and has its distinct features such as mobility support, location awareness, and Geo distribution [1]. Therefore, Fog can be prone to security issues. These issues can be categorized into four main sections.

  1. Network Security

When different nodes are connected in a…


According to the previous part of the blog, we have briefly touched the concept of Fog computing. We discussed about the characteristics of Cloud based IoT networks that led to the creation of fog layer in part 1. In this part, we will look into the internal layers of a Fog network that are essential for its functioning.

Fog is a virtualized platform in an IoT network that provides services of computation, storage and networking, resources to the end Things from the Cloud. According to Open Fog Consortium [1], the use cases of Fog computing for the IoT systems are,


Distribution of Fog services in an IoT network

IoT (Internet of Things) is one of the growing technologies that influence most of the domains including agriculture, healthcare, astrology, manufacturing, architecture, transportation, water management etc. It is a modern paradigm based on machine to machine communication between unintelligent and smart devices in a system such as sensors,actuators etc. Almost all social sectors are currently converting their infrastructure to support IoT to survive in the fast developing world.


In the previous part of this blog, we learnt the functionality of prometheus-source which is a component of the Siddhi extension ‘siddhi-io-prometheus’. It was explained through a sample micro-service which exposes a Prometheus counter metric of total device power consumption. In this part, we will be analyzing the functionality of Prometheus-sink through a sample Siddhi app.

Prometheus-sink is a special type of Prometheus exporter which exposes the Siddhi events it receives as a set of metrics for Prometheus to scrape and monitor. The sink enables the user to specify the HTTP target URL, the mode of export and the other…


Source: https://ik.imagekit.io/s1sp3stox/tr:w-1584,h-748,fo-auto/gdpo/projectpages/metricsproject/Metrics.jpg

This blog mainly focuses on the Siddhi IO extension which provides Siddhi the metrics handling support for Prometheus monitoring system. The extension enables user the collection and manipulation of multi-dimensional data in a dynamic service-oriented environment along with the complex event processing and data streaming provided by Siddhi.

siddhi-IO-prometheus comprises of two components to handle Prometheus metrics, which are prometheus-sink and prometheus-source. Prometheus-sink is responsible for creating and updating the metrics data and expose the said metrics at an HTTP endpoint through a Siddhi application from which Prometheus can scrape and use the metrics for its monitoring purpose. The sink…

Hinduja Balasubramaniyam

Software Engineer at WSO2 , BSc.(Hons.) in Information Technology, University of Moratuwa.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store