Join

This configuration is not a stand-alone node (yet), rather it’s part of another node such as the expression. It controls how various time series sources are aligned for combination.

Join configs expect two and only two sources of data. A “left” series and a “right” series, separated by an operator.

Whenever an interpolator config is required, the following fields can be supplied:

Join Types

Possible values include:

  • INNER - A series must be present in L AND R, performing a cross join when one side or the other has multiple matches.

  • OUTER - A series must be present in L OR R, performing a cross when one side or the other has multiple matches.

  • OUTER_DISJOINT - A series must be present in L XOR R,. No cross as there are no multiples.

  • LEFT - Returns series from the left, joining only when the right has the same series.

  • LEFT_DISJOINT - A series must be present in L NOT R, no cross.

  • RIGHT - Returns series from the right, joining only when the left has the same series.

  • RIGHT_DISJOINT - A series must be present in the R NOT L, no cross.

  • NATURAL - Joins all tags exactly for the series in L AND R, no cross product.

  • NATURAL_OUTER - Joins all tags exactly for the series in L AND R but also include disjoint series on the left and right, no cross product.

  • CROSS - A full cross join of the left and right sides. WARNING Will have a hard limit to avoid blowing up the system.

Examples:

"join": {
  "type": "Join",
  "joinType": "INNER",
  "joins":{
    "Host":"host",
    "dc":"dc"
  }
}