From 5ad91ac99e48c353e8dc29c019178fe73522c64a Mon Sep 17 00:00:00 2001 From: Nishant Agarwal Date: Thu, 14 Dec 2023 15:27:52 -0800 Subject: [PATCH] Support timezone param for WebSocketTransport execute --- .../signalfx/signalflow/SignalFlowClient.java | 41 +++++++++++++++++-- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/signalfx-signalflow/src/main/java/com/signalfx/signalflow/SignalFlowClient.java b/signalfx-signalflow/src/main/java/com/signalfx/signalflow/SignalFlowClient.java index 72ec83ba..ace28777 100644 --- a/signalfx-signalflow/src/main/java/com/signalfx/signalflow/SignalFlowClient.java +++ b/signalfx-signalflow/src/main/java/com/signalfx/signalflow/SignalFlowClient.java @@ -56,7 +56,7 @@ public Computation execute(String program) { /** * This method is deprecated and will be removed in the next major release. Use - * {@link #execute(String, Long, Long, Long, Long, Boolean, Boolean)} instead + * {@link #execute(String, Long, Long, Long, Long, Boolean, Boolean, String)} instead * * Execute the given SignalFlow program with parameters and stream the output back. * @@ -77,11 +77,12 @@ public Computation execute(String program) { @Deprecated public Computation execute(String program, long start, long stop, long resolution, long maxDelay, boolean persistent) { - return execute(program, start, stop, resolution, maxDelay, persistent, false); + return execute(program, start, stop, resolution, maxDelay, persistent, false, null); } /** - * Execute the given SignalFlow program with parameters and stream the output back. + * This method is deprecated and will be removed in the next major release. Use + * {@link #execute(String, Long, Long, Long, Long, Boolean, Boolean, String)} instead * * @param program * computation written in signalflow language @@ -104,10 +105,42 @@ public Computation execute(String program, long start, long stop, long resolutio * future data to be available * @return computation instance */ + @Deprecated public Computation execute(String program, Long start, Long stop, Long resolution, Long maxDelay, Boolean persistent, Boolean immediate) { + return execute(program, start, stop, resolution, maxDelay, persistent, immediate, null); + } + + /** + * Execute the given SignalFlow program with parameters and stream the output back. + * + * @param program + * computation written in signalflow language + * @param start + * Optional timestamp in milliseconds since epoch. Defaults to the current timestamp. + * @param stop + * Optional timestamp in milliseconds since epoch. Defaults to infinity. + * @param resolution + * Optional the minimum desired data resolution, in milliseconds. This allows the + * client to put an upper bound on the number of datapoints in the computation + * output. + * @param maxDelay + * Optional desired maximum data delay, in milliseconds between 1 and 900000. When + * set to zero or unset, max delay will be evaluated dynamically based on the + * historical lag information of the input data. + * @param persistent + * Optional persistent setting + * @param immediate + * Optional adjusts the stop timestamp so that the computation doesn't wait for + * future data to be available + * @param timeZone + * Optional the timezone to be used for computation + * @return computation instance + */ + public Computation execute(String program, Long start, Long stop, Long resolution, + Long maxDelay, Boolean persistent, Boolean immediate, String timeZone) { Map params = buildParams("start", start, "stop", stop, "resolution", - resolution, "maxDelay", maxDelay, "persistent", persistent, "immediate", immediate); + resolution, "maxDelay", maxDelay, "persistent", persistent, "immediate", immediate, "timezone", timeZone); return new Computation(this.transport, program, params, false); }