накопленная сумма по производным единицам (normalized_value) - PullRequest
0 голосов
/ 28 октября 2019

у меня есть счетчик, скажем, port.packets, и я хочу вычислить кумулятивную сумму на пути сегментов нормализованного значения производных по единицам вместо фактического производного значения.

Обычно кумулятивная сумма принимает имяиз пути производных сегментов, есть ли способ указать путь сегментов как нормализованное значение?

пример аггерации

{ 
"size":0,
 "query":{ 
   // some query 

},
"aggregations":{ 
  "termsAgg":{ 
     "terms":{ 
        "field":"portIdToClusterId",
        "size":1000,
        "order":[ 
           { 
              "_count":"desc"
           },
           { 
              "_key":"asc"
           }
        ]
     },
     "aggregations":{ 
        "dateHistogramAgg":{ 
           "date_histogram":{ 
              "field":"timestamp",
              "missing":0,
              "interval":"5m",
              "offset":0,
              "order":{ 
                 "_key":"asc"
              },
              "keyed":false,
              "min_doc_count":0
           },
           "aggregations":{ 
              "maxAggportrxpackets":{ 
                 "max":{ 
                    "field":"portpackets"
                 }
              },
              "derAggportrxpackets":{ 
                 "derivative":{ 
                    "buckets_path":[ 
                       "maxAggportrxpackets"
                    ],
                    "gap_policy":"skip",
                    "unit":"1s"
                 }
              },
              "cumSumAggportrxpackets":{ 
                 "cumulative_sum":{ 
                    "buckets_path":[ 
                       "derAggportrxpackets"                           // I want to take the normalized value instead of directly derivative
                    ]
                 }
              }
           }
        }
     }
   }
 }
}

Пример вывода:

"aggregations" : {
"termsAgg" : {
  "doc_count_error_upper_bound" : 0,
  "sum_other_doc_count" : 0,
  "buckets" : [
    {
      "key" : "1_3_x8::10.115.32.163",
      "doc_count" : 12,
      "dateHistogramAgg" : {
        "buckets" : [
          {
            "key_as_string" : "2019-10-28T09:45:00.000Z",
            "key" : 1572255900000,
            "doc_count" : 1,
            "maxAggportrxpackets" : {
              "value" : 1.86446657691E11
            },
            "cumSumAggportrxpackets" : {
              "value" : 0.0
            }
          },
          {
            "key_as_string" : "2019-10-28T09:50:00.000Z",
            "key" : 1572256200000,
            "doc_count" : 1,
            "maxAggportrxpackets" : {
              "value" : 1.86446657701E11
            },
            "derAggportrxpackets" : {
              "value" : 10.0,
              "normalized_value" : 0.03333333333333333
            },
            "cumSumAggportrxpackets" : {
              "value" : 10.0
            }
          },
          {
            "key_as_string" : "2019-10-28T09:55:00.000Z",
            "key" : 1572256500000,
            "doc_count" : 1,
            "maxAggportrxpackets" : {
              "value" : 1.86446657711E11
            },
            "derAggportrxpackets" : {
              "value" : 10.0,
              "normalized_value" : 0.03333333333333333
            },
            "cumSumAggportrxpackets" : {
              "value" : 20.0 // Here I want the cum sum on the normalized_value of the derivative rather than actual derivative 
            }
          },
...