You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by ji...@apache.org on 2019/05/30 23:59:41 UTC

[incubator-pinot] branch master updated: [TE] add current time series if it's unavailable in predicted baseline endpoint (#4262)

This is an automated email from the ASF dual-hosted git repository.

jihao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new e768195  [TE] add current time series if it's unavailable  in predicted baseline endpoint (#4262)
e768195 is described below

commit e7681954731349be98318b4f52177e79ec638b11
Author: Jihao Zhang <ji...@linkedin.com>
AuthorDate: Thu May 30 16:59:36 2019 -0700

    [TE] add current time series if it's unavailable  in predicted baseline endpoint (#4262)
    
    In predicted baseline endpoint, add the current time series only when it's unavailable.
---
 .../apache/pinot/thirdeye/detection/DetectionResource.java | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/DetectionResource.java b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/DetectionResource.java
index 9104593..9779fed 100644
--- a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/DetectionResource.java
+++ b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/DetectionResource.java
@@ -551,11 +551,15 @@ public class DetectionResource {
       end = new DateTime(end, dataTimeZone).plus(offsets.getPostOffsetPeriod()).getMillis();
     }
     MetricEntity me = MetricEntity.fromURN(anomaly.getMetricUrn());
-    TimeSeries baselineTimeseries = DetectionUtils.getBaselineTimeseries(anomaly, me.getFilters(), me.getId(), configDAO.findById(anomaly.getDetectionConfigId()), start, end, loader, provider);
-    // add current time series
-    MetricSlice currentSlice = MetricSlice.from(me.getId(), start, end, me.getFilters());
-    DataFrame dfCurrent = this.provider.fetchTimeseries(Collections.singleton(currentSlice)).get(currentSlice).renameSeries(COL_VALUE, COL_CURRENT);
-    return Response.ok(dfCurrent.joinOuter(baselineTimeseries.getDataFrame())).build();
+    DataFrame baselineTimeseries = DetectionUtils.getBaselineTimeseries(anomaly, me.getFilters(), me.getId(),
+        configDAO.findById(anomaly.getDetectionConfigId()), start, end, loader, provider).getDataFrame();
+    if (!baselineTimeseries.contains(COL_CURRENT)) {
+      // add current time series if not exists
+      MetricSlice currentSlice = MetricSlice.from(me.getId(), start, end, me.getFilters());
+      DataFrame dfCurrent = this.provider.fetchTimeseries(Collections.singleton(currentSlice)).get(currentSlice).renameSeries(COL_VALUE, COL_CURRENT);
+      baselineTimeseries = dfCurrent.joinOuter(baselineTimeseries);
+    }
+    return Response.ok(baselineTimeseries).build();
   }
 
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org