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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to