diff --git a/README.md b/README.md index b48d8ef7..1aedc2b5 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ For complete Parseable API documentation, refer to [Parseable API workspace on P - + diff --git a/src/api/query.ts b/src/api/query.ts index 70d28539..177f665e 100644 --- a/src/api/query.ts +++ b/src/api/query.ts @@ -1,3 +1,4 @@ +import dayjs from 'dayjs'; import { Axios } from './axios'; import { LOG_QUERY_URL } from './constants'; import { LogsQuery } from '@/@types/parseable/api/query'; @@ -10,6 +11,12 @@ type QueryLogs = { pageOffset: number; }; +// to optimize performace, it has been decided to round off the time at the given level +// so making the end-time inclusive +const optimizeEndTime = (endTime: Date) => { + return dayjs(endTime).add(1, 'minute').toDate(); +}; + export const getQueryLogs = (logsQuery: QueryLogs) => { const { startTime, endTime, streamName, limit, pageOffset } = logsQuery; @@ -20,7 +27,7 @@ export const getQueryLogs = (logsQuery: QueryLogs) => { { query, startTime, - endTime, + endTime: optimizeEndTime(endTime), }, {}, ); @@ -34,23 +41,7 @@ export const getQueryResult = (logsQuery: LogsQuery, query = '') => { { query, startTime, - endTime, - }, - {}, - ); -}; - -export const getQueryCount = (logsQuery: LogsQuery) => { - const { startTime, endTime, streamName } = logsQuery; - - const query = `SELECT count(*) as totalcurrentcount FROM ${streamName}`; - - return Axios().post( - LOG_QUERY_URL, - { - query, - startTime, - endTime, + endTime: optimizeEndTime(endTime), }, {}, ); diff --git a/src/components/Header/TimeRange.tsx b/src/components/Header/TimeRange.tsx index a6de4252..7188f293 100644 --- a/src/components/Header/TimeRange.tsx +++ b/src/components/Header/TimeRange.tsx @@ -161,8 +161,8 @@ const CustomTimeRange: FC = ({ setOpened }) => { setLogsStore((store) => setTimeRange(store, { type: 'custom', - startTime: dayjs(localSelectedRange.startTime), - endTime: dayjs(localSelectedRange.endTime), + startTime: dayjs(localSelectedRange.startTime).startOf('minute'), + endTime: dayjs(localSelectedRange.endTime).startOf('minute'), }), ); setOpened(false); diff --git a/src/hooks/useGetQueryCount.ts b/src/hooks/useGetQueryCount.ts deleted file mode 100644 index 053fe086..00000000 --- a/src/hooks/useGetQueryCount.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { getQueryCount } from "@/api/query"; -import useMountedState from "./useMountedState"; -import { StatusCodes } from 'http-status-codes'; -import { LogsQuery } from "@/@types/parseable/api/query"; - - -export const useGetQueryCount = () => { - const [data, setData] = useMountedState< any | null>(null); - const [error, setError] = useMountedState(null); - const [loading, setLoading] = useMountedState(false); - - const getQueryCountData = async (logsQuery: LogsQuery) => { - setLoading(true); - try { - const res = await getQueryCount(logsQuery); - - switch (res.status) { - case StatusCodes.OK: { - - setData(res.data); - break; - } - default: { - setError('Failed to get Query Count'); - console.error(res); - } - } - - } catch (error) { - setError("Failed to get Query Count"); - console.error(error); - } finally { - setLoading(false); - } - } - const resetData = () => { - setData(null); - }; - - - return { data, error, loading, getQueryCountData ,resetData}; -} \ No newline at end of file
URLhttps://demo.parseable.iohttps://demo.parseable.com
Username