1. Home
  2. Docs
  3. ClusterControl
  4. Developer Guide
  5. ClusterControl Domain Specific Language (DSL)
  6. Introduction


This language will be provided for the users, to implement monitoring related code in a language similar to JavaScript. The code is executed on the Cmon Controller and will have access to the cluster nodes through the network.

The language is different from JavaScript in some ways. Here is a list of the most important differences:

  • Semicolons are mandatory like in C or C++.
  • Not all numbers are handled as double-precision floating-point values, we have integers and even unsigned long integers. We need those to handle disk sizes and network traffic measured in bytes.
  • There are associative arrays with the data type Map.
  • The arrays are two-dimensional, but they can be used as one-dimensional arrays (e.g. a[10, 11] and a[10] are also valid).
  • We have a List type.
  • JavaScript uses a period in function names like JSON.parse(text), here we use the C++ notation like JSON::parse(text).
  • New variables created on-the-fly in functions are local variables and not globals.
  • The language implements a C like #include preprocessor directive.

Supported ClusterControl Controller (CMON) version: 1.7.0.

Was this article helpful to you? Yes No