You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by GitBox <gi...@apache.org> on 2019/01/15 19:15:00 UTC

[incubator-pinot] Diff for: [GitHub] jihaozh merged pull request #3689: [TE] detection - update tunable interface

diff --git a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/spi/components/Tunable.java b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/spi/components/Tunable.java
index 8fa9ebe18c..b521ddd201 100644
--- a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/spi/components/Tunable.java
+++ b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/spi/components/Tunable.java
@@ -19,10 +19,8 @@
 
 package org.apache.pinot.thirdeye.detection.spi.components;
 
-import org.apache.pinot.thirdeye.detection.spec.AbstractSpec;
-import org.apache.pinot.thirdeye.detection.spi.model.InputData;
-import org.apache.pinot.thirdeye.detection.spi.model.InputDataSpec;
 import java.util.Map;
+import org.apache.pinot.thirdeye.detection.spec.AbstractSpec;
 import org.joda.time.Interval;
 
 /**
@@ -31,9 +29,12 @@
  */
 public interface Tunable<T extends AbstractSpec> extends BaseComponent<T> {
   /**
-   * Returns the new spec for the component it's tuning
-   * @param currentSpec current spec for the component. empty if not exist
-   * @return the init spec for the component it's tuning
+   * Returns the new spec for the component it's tuning for a given metric urn.
+   * @param currentSpec current spec for the component. empty if not exist.
+   * @param tuningWindow the tuning window
+   * @param metricUrn the metric urn to tune. When detection runs,the tuned spec will be used for detection
+   *                  to run on this metric urn.
+   * @return the specs for the component it's tuning. Will be used to initialize the tuned component when detection runs.
    */
-  Map<String, Object> tune(Map<String, Object> currentSpec, Interval trainingWindow);
+  Map<String, Object> tune(Map<String, Object> currentSpec, Interval tuningWindow, String metricUrn);
 }
diff --git a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/CompositePipelineConfigTranslator.java b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/CompositePipelineConfigTranslator.java
index ccb2f0a6ce..00b3a7c13b 100644
--- a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/CompositePipelineConfigTranslator.java
+++ b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/CompositePipelineConfigTranslator.java
@@ -408,7 +408,8 @@ private void buildComponentSpec(Map<String, Object> yamlConfig, String type, Str
         this.existingComponentSpecs.containsKey(componentName) ? MapUtils.getMap(this.existingComponentSpecs,
             componentName) : Collections.emptyMap();
 
-    return tunable.tune(existingComponentSpec, window);
+    // TODO: if dimension drill down applied, pass in the metric urn of top dimension
+    return tunable.tune(existingComponentSpec, window, this.metricUrn);
   }
 
   private Tunable getTunable(String componentClassName, Map<String, Object> params, InputDataFetcher dataFetcher)


With regards,
Apache Git Services

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