This is an automated email from the ASF dual-hosted git repository.
hxd pushed a commit to branch bugfix/iotdb-grafana-boolean
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/bugfix/iotdb-grafana-boolean
by this push:
new 9818b68 fix grafana connect does not use correct time unit
9818b68 is described below
commit 9818b682e1b7e8bdd0e146f22c979b648f1f60ea
Author: xiangdong huang <[email protected]>
AuthorDate: Sat May 2 22:34:28 2020 +0800
fix grafana connect does not use correct time unit
---
.../UserGuide/7-Ecosystem Integration/1-Grafana.md | 2 +-
.../iotdb/web/grafana/dao/impl/BasicDaoImpl.java | 36 ++++++++++++----------
grafana/src/main/resources/application.properties | 3 +-
3 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/docs/UserGuide/7-Ecosystem Integration/1-Grafana.md
b/docs/UserGuide/7-Ecosystem Integration/1-Grafana.md
index 5ad4e9b..2ba605f 100644
--- a/docs/UserGuide/7-Ecosystem Integration/1-Grafana.md
+++ b/docs/UserGuide/7-Ecosystem Integration/1-Grafana.md
@@ -153,7 +153,7 @@ isDownSampling=true
# defaut sampling intervals
interval=1m
# aggregation function to use to downsampling the data
-# COUNT, FIRST_VALUE, LAST_VALUE, MAX_TIME, MAX_VALUE, AVG, MIN_TIME,
MIN_VALUE, NOW, SUM
+# COUNT, FIRST, LAST, MAX_TIME, MAX_VALUE, AVG, MIN_TIME, MIN_VALUE, NOW, SUM
function=avg
```
diff --git
a/grafana/src/main/java/org/apache/iotdb/web/grafana/dao/impl/BasicDaoImpl.java
b/grafana/src/main/java/org/apache/iotdb/web/grafana/dao/impl/BasicDaoImpl.java
index dde404f..c43ca72 100644
---
a/grafana/src/main/java/org/apache/iotdb/web/grafana/dao/impl/BasicDaoImpl.java
+++
b/grafana/src/main/java/org/apache/iotdb/web/grafana/dao/impl/BasicDaoImpl.java
@@ -53,7 +53,10 @@ public class BasicDaoImpl implements BasicDao {
private final JdbcTemplate jdbcTemplate;
- private static long TIMESTAMP_RADIX = 1L;
+ private static long TIMESTAMP_RADIX = -1L;
+
+ @Value("${timestamp_precision}")
+ private String timestampPrecision;
@Value("${isDownSampling}")
private boolean isDownSampling;
@@ -68,19 +71,6 @@ public class BasicDaoImpl implements BasicDao {
@Autowired
public BasicDaoImpl(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
- Properties properties = new Properties();
- String tsPrecision = properties.getProperty("timestamp_precision", "ms");
- switch (tsPrecision) {
- case "us":
- TIMESTAMP_RADIX = 1000;
- break;
- case "ns":
- TIMESTAMP_RADIX = 1000_000;
- break;
- default:
- TIMESTAMP_RADIX = 1;
- }
- logger.info("Use timestamp precision {}", tsPrecision);
}
@Override
@@ -108,6 +98,19 @@ public class BasicDaoImpl implements BasicDao {
*/
@Override
public List<TimeValues> querySeries(String s, Pair<ZonedDateTime,
ZonedDateTime> timeRange) {
+ if(TIMESTAMP_RADIX == -1) {
+ switch (timestampPrecision) {
+ case "us":
+ TIMESTAMP_RADIX = 1000;
+ break;
+ case "ns":
+ TIMESTAMP_RADIX = 1000_000;
+ break;
+ default:
+ TIMESTAMP_RADIX = 1;
+ }
+ logger.info("Use timestamp precision {}", timestampPrecision);
+ }
try {
return querySeriesInternal(s, timeRange, function);
} catch (Exception e) {
@@ -140,8 +143,9 @@ public class BasicDaoImpl implements BasicDao {
sql = String.format(
"SELECT " + function
+ "(%s) FROM root.%s WHERE time > %d and time < %d group by (%s,
[%d, %d])",
- s.substring(s.lastIndexOf('.') + 1), s.substring(0,
s.lastIndexOf('.')), from, to,
- interval, from, to);
+ s.substring(s.lastIndexOf('.') + 1), s.substring(0,
s.lastIndexOf('.')),
+ from * TIMESTAMP_RADIX, to * TIMESTAMP_RADIX,
+ interval, from * TIMESTAMP_RADIX, to * TIMESTAMP_RADIX);
columnName = function + "(root." + s + ")";
}
logger.info(sql);
diff --git a/grafana/src/main/resources/application.properties
b/grafana/src/main/resources/application.properties
index 9401a32..dfdef16 100644
--- a/grafana/src/main/resources/application.properties
+++ b/grafana/src/main/resources/application.properties
@@ -31,6 +31,7 @@ isDownSampling=true
# defaut sampling intervals
interval=1m
# aggregation function to use to downsampling the data
-# COUNT, FIRST_VALUE, LAST_VALUE, MAX_TIME, MAX_VALUE, AVG, MIN_TIME,
MIN_VALUE, NOW, SUM
+# COUNT, FIRST, LAST, MAX_TIME, MAX_VALUE, AVG, MIN_TIME, MIN_VALUE, NOW, SUM
# If it does fail (e.g. due to applying AVG to boolean) it will Fallback to
LAST
+# notice that from v0.10 on, this parameter is deprecated
function=AVG
\ No newline at end of file