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 likeJSON::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.