aboutsummaryrefslogtreecommitdiffstats
path: root/metrics-proxy
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@verizonmedia.com>2020-02-19 18:20:30 +0100
committerOla Aunrønning <olaa@verizonmedia.com>2020-02-20 11:09:59 +0100
commit8123ab32e26c732302e3909757e0339d579576cb (patch)
tree8327979ef25c16b2f625afe8b7085d05ce1e601e /metrics-proxy
parent919450ac3928cbc8b2d8aa0be8f0ed85c7bf9b68 (diff)
Evaluate template directly in Velocity engine. Read template using InputStreamReader
Diffstat (limited to 'metrics-proxy')
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java22
1 files changed, 11 insertions, 11 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java
index b4112583ba7..bf4f0d4c49b 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/telegraf/Telegraf.java
@@ -4,13 +4,12 @@ package ai.vespa.metricsproxy.telegraf;
import com.google.inject.Inject;
import com.yahoo.component.AbstractComponent;
import com.yahoo.system.execution.ProcessExecutor;
-import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
-import org.apache.velocity.runtime.RuntimeConstants;
-import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
import java.io.FileWriter;
+import java.io.InputStreamReader;
+import java.io.Reader;
import java.io.Writer;
import static com.yahoo.yolean.Exceptions.uncheck;
@@ -33,13 +32,14 @@ public class Telegraf extends AbstractComponent {
}
protected static void writeConfig(TelegrafConfig telegrafConfig, Writer writer) {
- Template template = loadTemplate();
VelocityContext context = new VelocityContext();
context.put("intervalSeconds", telegrafConfig.intervalSeconds());
context.put("cloudwatchPlugins", telegrafConfig.cloudWatch());
// TODO: Add node cert if hosted
- template.merge(context, writer);
+ VelocityEngine velocityEngine = new VelocityEngine();
+ velocityEngine.init();
+ velocityEngine.evaluate(context, writer, "TelegrafConfigWriter", getTemplateReader());
uncheck(writer::close);
}
@@ -60,12 +60,12 @@ public class Telegraf extends AbstractComponent {
.orElseThrow(() -> new RuntimeException("Timed out running command: " + command));
}
- private static Template loadTemplate() {
- VelocityEngine velocityEngine = new VelocityEngine();
- velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
- velocityEngine.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
- velocityEngine.init();
- return velocityEngine.getTemplate(TELEGRAF_CONFIG_TEMPLATE_PATH);
+ @SuppressWarnings("ConstantConditions")
+ private static Reader getTemplateReader() {
+ return new InputStreamReader(Telegraf.class.getClassLoader()
+ .getResourceAsStream(TELEGRAF_CONFIG_TEMPLATE_PATH)
+ );
+
}
@Override