Compare commits

...
2 changed files with 26 additions and 2 deletions
@@ -116,6 +116,9 @@ function LogsExplorerViews({
const [logs, setLogs] = useState<ILog[]>([]);
const [requestData, setRequestData] = useState<Query | null>(null);
const [showFormatMenuItems, setShowFormatMenuItems] = useState(false);
const [lastLogLineTimestamp, setLastLogLineTimestamp] = useState<
string | number
>();
const handleAxisError = useAxiosError();
@@ -231,9 +234,19 @@ function LogsExplorerViews({
start: timeRange.start,
end: timeRange.end,
}),
lastLogLineTimestamp:
requestData?.builder?.queryData[0]?.orderBy?.[0]?.columnName ===
'timestamp' &&
requestData?.builder?.queryData[0]?.orderBy?.[0]?.order === 'desc'
? lastLogLineTimestamp
: undefined,
},
);
useEffect(() => {
setLastLogLineTimestamp(undefined);
}, [data]);
const getRequestData = useCallback(
(
query: Query | null,
@@ -302,6 +315,8 @@ function LogsExplorerViews({
pageSize: nextPageSize,
});
setLastLogLineTimestamp(lastLog?.timestamp);
setPage((prevPage) => prevPage + 1);
setRequestData(newRequestData);
@@ -1,6 +1,7 @@
import getStartEndRangeTime from 'lib/getStartEndRangeTime';
import getStep from 'lib/getStep';
import { mapQueryDataToApi } from 'lib/newQueryBuilder/queryBuilderMappers/mapQueryDataToApi';
import { isUndefined } from 'lodash-es';
import store from 'store';
import { QueryRangePayload } from 'types/api/metrics/getQueryRange';
import { EQueryType } from 'types/common/dashboard';
@@ -24,7 +25,11 @@ export const prepareQueryRangePayload = ({
fillGaps = false,
}: GetQueryResultsProps): PrepareQueryRangePayload => {
let legendMap: Record<string, string> = {};
const { allowSelectedIntervalForStepGen, ...restParams } = params;
const {
allowSelectedIntervalForStepGen,
lastLogLineTimestamp,
...restParams
} = params;
const compositeQuery: QueryRangePayload['compositeQuery'] = {
queryType: query.queryType,
@@ -90,9 +95,13 @@ export const prepareQueryRangePayload = ({
interval: globalSelectedInterval,
});
const endLogTimeStamp = !isUndefined(lastLogLineTimestamp)
? new Date(lastLogLineTimestamp as any)?.getTime()
: undefined;
const queryPayload: QueryRangePayload = {
start: parseInt(start, 10) * 1e3,
end: parseInt(end, 10) * 1e3,
end: endLogTimeStamp || parseInt(end, 10) * 1e3,
step: getStep({
start: allowSelectedIntervalForStepGen
? start