diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxClient.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxClient.java index d12bd4cd6..309496afa 100644 --- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxClient.java +++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxClient.java @@ -195,7 +195,14 @@ public class InfluxClient implements Client { /** * Convert to InfluxDB {@link TimeInterval}. */ - public static TimeInterval timeInterval(long timeBucket) { + public static TimeInterval timeIntervalTS(long timestamp) { + return ti(timestamp, "ms"); + } + + /** + * Convert to InfluxDB {@link TimeInterval}. + */ + public static TimeInterval timeIntervalTB(long timeBucket) { return ti(TimeBucket.getTimestamp(timeBucket), "ms"); } } diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/AggregationQuery.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/AggregationQuery.java index bce8bdc53..eba8c844d 100644 --- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/AggregationQuery.java +++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/AggregationQuery.java @@ -79,8 +79,8 @@ public class AggregationQuery implements IAggregationQueryDAO { }); } final SelectSubQueryImpl subQuery = where - .and(gte(InfluxClient.TIME, duration.getStartTimestamp())) - .and(lte(InfluxClient.TIME, duration.getEndTimestamp())) + .and(gte(InfluxClient.TIME, InfluxClient.timeIntervalTS(duration.getStartTimestamp()))) + .and(lte(InfluxClient.TIME, InfluxClient.timeIntervalTS(duration.getEndTimestamp()))) .groupBy(InfluxConstants.TagName.ENTITY_ID); query.setSubQuery(subQuery); diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/AlarmQuery.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/AlarmQuery.java index c698accc6..ca74f0a0b 100644 --- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/AlarmQuery.java +++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/AlarmQuery.java @@ -60,8 +60,8 @@ public class AlarmQuery implements IAlarmQueryDAO { .from(client.getDatabase(), AlarmRecord.INDEX_NAME) .where(); if (startTB > 0 && endTB > 0) { - recallQuery.and(gte(InfluxClient.TIME, InfluxClient.timeInterval(startTB))) - .and(lte(InfluxClient.TIME, InfluxClient.timeInterval(endTB))); + recallQuery.and(gte(InfluxClient.TIME, InfluxClient.timeIntervalTB(startTB))) + .and(lte(InfluxClient.TIME, InfluxClient.timeIntervalTB(endTB))); } if (!Strings.isNullOrEmpty(keyword)) { recallQuery.and(contains(AlarmRecord.ALARM_MESSAGE, keyword.replaceAll("/", "\\\\/"))); diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/MetricsQuery.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/MetricsQuery.java index dc8842aa8..f3eeb6117 100644 --- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/MetricsQuery.java +++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/MetricsQuery.java @@ -82,8 +82,8 @@ public class MetricsQuery implements IMetricsQueryDAO { } queryWhereQuery - .and(gte(InfluxClient.TIME, duration.getStartTimestamp())) - .and(lte(InfluxClient.TIME, duration.getEndTimestamp())) + .and(gte(InfluxClient.TIME, InfluxClient.timeIntervalTS(duration.getStartTimestamp()))) + .and(lte(InfluxClient.TIME, InfluxClient.timeIntervalTS(duration.getEndTimestamp()))) .groupBy(InfluxConstants.TagName.ENTITY_ID); List seriesList = client.queryForSeries(queryWhereQuery); diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/TopologyQuery.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/TopologyQuery.java index a22ed4728..5d8d99ac3 100644 --- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/TopologyQuery.java +++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/query/TopologyQuery.java @@ -194,8 +194,8 @@ public class TopologyQuery implements ITopologyQueryDAO { .as(ServiceInstanceRelationClientSideMetrics.COMPONENT_ID) .from(measurement) .where() - .and(gte(InfluxClient.TIME, InfluxClient.timeInterval(startTB))) - .and(lte(InfluxClient.TIME, InfluxClient.timeInterval(endTB))); + .and(gte(InfluxClient.TIME, InfluxClient.timeIntervalTB(startTB))) + .and(lte(InfluxClient.TIME, InfluxClient.timeIntervalTB(endTB))); if (!serviceIds.isEmpty()) { WhereNested whereNested = subQuery.andNested(); @@ -223,8 +223,8 @@ public class TopologyQuery implements ITopologyQueryDAO { .as(ServiceInstanceRelationClientSideMetrics.COMPONENT_ID) .from(measurement) .where() - .and(gte(InfluxClient.TIME, InfluxClient.timeInterval(startTB))) - .and(lte(InfluxClient.TIME, InfluxClient.timeInterval(endTB))); + .and(gte(InfluxClient.TIME, InfluxClient.timeIntervalTB(startTB))) + .and(lte(InfluxClient.TIME, InfluxClient.timeIntervalTB(endTB))); StringBuilder builder = new StringBuilder("(("); builder.append(sourceCName).append("='").append(sourceServiceId)