missing time unit in query (#5210)

This commit is contained in:
Daming 2020-07-31 16:49:19 +08:00 committed by GitHub
parent 78a355e6c3
commit 966403c0e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 18 additions and 11 deletions

View File

@ -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");
}
}

View File

@ -79,8 +79,8 @@ public class AggregationQuery implements IAggregationQueryDAO {
});
}
final SelectSubQueryImpl<SelectQueryImpl> 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);

View File

@ -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("/", "\\\\/")));

View File

@ -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<QueryResult.Series> seriesList = client.queryForSeries(queryWhereQuery);

View File

@ -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)