Having used Monarch at Google (basically an explicit relational algebra for a query language), the fixed-function query "language" for DataDog is truly sad. It seems that prometheus made similar mistakes to borgmon in terms of designing a quirky query language, but at least it has one.
For an example of annoying behavior in datadog:
* Zoom in on any chart with default_zero. Eventually the spaces between the points will go to zero. You have to add a rollup whenever you use default_zero to avoid this.
* In general, you have very little control over interpolation, which is a very important part of aggregating and graphing.
* exclude_null will remove any series with any null label. You can't write arbitrary filters on series labels.
* Label names and values have to be the same to match. E.g. you can't join 2 metrics where different labels have the same value.
* The GUI doesn't support a lot of the features, e.g. timeshift.
* The available functions often can't be composed. E.g. you can't min by X and then sum.
I have a ton of complaints about the GUI too (e.g. it's broken by typing too fast), but I'll save those for later.