mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-07-06 04:48:40 +00:00
Update the "Started listening at" timestamp and queriedTotal
state based on database truncation (#533)
This commit is contained in:
parent
b565492eba
commit
a06d5cfbde
@ -42,8 +42,8 @@ RUN go build -ldflags="-s -w \
|
|||||||
-X 'mizuserver/pkg/version.SemVer=${SEM_VER}'" -o mizuagent .
|
-X 'mizuserver/pkg/version.SemVer=${SEM_VER}'" -o mizuagent .
|
||||||
|
|
||||||
# Download Basenine executable, verify the sha1sum and move it to a directory in $PATH
|
# Download Basenine executable, verify the sha1sum and move it to a directory in $PATH
|
||||||
ADD https://github.com/up9inc/basenine/releases/download/v0.2.17/basenine_linux_amd64 ./basenine_linux_amd64
|
ADD https://github.com/up9inc/basenine/releases/download/v0.2.19/basenine_linux_amd64 ./basenine_linux_amd64
|
||||||
ADD https://github.com/up9inc/basenine/releases/download/v0.2.17/basenine_linux_amd64.sha256 ./basenine_linux_amd64.sha256
|
ADD https://github.com/up9inc/basenine/releases/download/v0.2.19/basenine_linux_amd64.sha256 ./basenine_linux_amd64.sha256
|
||||||
RUN shasum -a 256 -c basenine_linux_amd64.sha256
|
RUN shasum -a 256 -c basenine_linux_amd64.sha256
|
||||||
RUN chmod +x ./basenine_linux_amd64
|
RUN chmod +x ./basenine_linux_amd64
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ require (
|
|||||||
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7
|
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7
|
||||||
github.com/orcaman/concurrent-map v0.0.0-20210106121528-16402b402231
|
github.com/orcaman/concurrent-map v0.0.0-20210106121528-16402b402231
|
||||||
github.com/patrickmn/go-cache v2.1.0+incompatible
|
github.com/patrickmn/go-cache v2.1.0+incompatible
|
||||||
github.com/up9inc/basenine/client/go v0.0.0-20211207165834-2ced7577f9e6
|
github.com/up9inc/basenine/client/go v0.0.0-20211215185650-10083bb9a1b3
|
||||||
github.com/up9inc/mizu/shared v0.0.0
|
github.com/up9inc/mizu/shared v0.0.0
|
||||||
github.com/up9inc/mizu/tap v0.0.0
|
github.com/up9inc/mizu/tap v0.0.0
|
||||||
github.com/up9inc/mizu/tap/api v0.0.0
|
github.com/up9inc/mizu/tap/api v0.0.0
|
||||||
|
@ -450,8 +450,8 @@ github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
|
|||||||
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
|
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
|
||||||
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
|
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
|
||||||
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
|
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
|
||||||
github.com/up9inc/basenine/client/go v0.0.0-20211207165834-2ced7577f9e6 h1:8JOkoaZHhUPi4r7vSL/xo83foSz8BHPSabTDpxmtHFU=
|
github.com/up9inc/basenine/client/go v0.0.0-20211215185650-10083bb9a1b3 h1:FeDCVOBFVpZA5/O5hfPdGTn0rdR2jTEYo3iB2htELI4=
|
||||||
github.com/up9inc/basenine/client/go v0.0.0-20211207165834-2ced7577f9e6/go.mod h1:SvJGPoa/6erhUQV7kvHBwM/0x5LyO6XaG2lUaCaKiUI=
|
github.com/up9inc/basenine/client/go v0.0.0-20211215185650-10083bb9a1b3/go.mod h1:SvJGPoa/6erhUQV7kvHBwM/0x5LyO6XaG2lUaCaKiUI=
|
||||||
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
|
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
|
||||||
github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvVn1ZaTIVp+3vuYAXFe3OJEvjbUYJLaA=
|
github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvVn1ZaTIVp+3vuYAXFe3OJEvjbUYJLaA=
|
||||||
github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0=
|
github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0=
|
||||||
|
@ -37,8 +37,8 @@ COPY agent .
|
|||||||
RUN go build -gcflags="all=-N -l" -o mizuagent .
|
RUN go build -gcflags="all=-N -l" -o mizuagent .
|
||||||
|
|
||||||
# Download Basenine executable, verify the sha1sum and move it to a directory in $PATH
|
# Download Basenine executable, verify the sha1sum and move it to a directory in $PATH
|
||||||
ADD https://github.com/up9inc/basenine/releases/download/v0.2.17/basenine_linux_amd64 ./basenine_linux_amd64
|
ADD https://github.com/up9inc/basenine/releases/download/v0.2.19/basenine_linux_amd64 ./basenine_linux_amd64
|
||||||
ADD https://github.com/up9inc/basenine/releases/download/v0.2.17/basenine_linux_amd64.sha256 ./basenine_linux_amd64.sha256
|
ADD https://github.com/up9inc/basenine/releases/download/v0.2.19/basenine_linux_amd64.sha256 ./basenine_linux_amd64.sha256
|
||||||
RUN shasum -a 256 -c basenine_linux_amd64.sha256
|
RUN shasum -a 256 -c basenine_linux_amd64.sha256
|
||||||
RUN chmod +x ./basenine_linux_amd64
|
RUN chmod +x ./basenine_linux_amd64
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ interface EntriesListProps {
|
|||||||
queriedCurrent: number;
|
queriedCurrent: number;
|
||||||
setQueriedCurrent: any;
|
setQueriedCurrent: any;
|
||||||
queriedTotal: number;
|
queriedTotal: number;
|
||||||
|
setQueriedTotal: any;
|
||||||
startTime: number;
|
startTime: number;
|
||||||
noMoreDataTop: boolean;
|
noMoreDataTop: boolean;
|
||||||
setNoMoreDataTop: (flag: boolean) => void;
|
setNoMoreDataTop: (flag: boolean) => void;
|
||||||
@ -30,11 +31,13 @@ interface EntriesListProps {
|
|||||||
ws: any;
|
ws: any;
|
||||||
openWebSocket: (query: string, resetEntries: boolean) => void;
|
openWebSocket: (query: string, resetEntries: boolean) => void;
|
||||||
leftOffBottom: number;
|
leftOffBottom: number;
|
||||||
|
truncatedTimestamp: number;
|
||||||
|
setTruncatedTimestamp: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
const api = new Api();
|
const api = new Api();
|
||||||
|
|
||||||
export const EntriesList: React.FC<EntriesListProps> = ({entries, setEntries, query, listEntryREF, onSnapBrokenEvent, isSnappedToBottom, setIsSnappedToBottom, queriedCurrent, setQueriedCurrent, queriedTotal, startTime, noMoreDataTop, setNoMoreDataTop, focusedEntryId, setFocusedEntryId, updateQuery, leftOffTop, setLeftOffTop, isWebSocketConnectionClosed, ws, openWebSocket, leftOffBottom}) => {
|
export const EntriesList: React.FC<EntriesListProps> = ({entries, setEntries, query, listEntryREF, onSnapBrokenEvent, isSnappedToBottom, setIsSnappedToBottom, queriedCurrent, setQueriedCurrent, queriedTotal, setQueriedTotal, startTime, noMoreDataTop, setNoMoreDataTop, focusedEntryId, setFocusedEntryId, updateQuery, leftOffTop, setLeftOffTop, isWebSocketConnectionClosed, ws, openWebSocket, leftOffBottom, truncatedTimestamp, setTruncatedTimestamp}) => {
|
||||||
const [loadMoreTop, setLoadMoreTop] = useState(false);
|
const [loadMoreTop, setLoadMoreTop] = useState(false);
|
||||||
const [isLoadingTop, setIsLoadingTop] = useState(false);
|
const [isLoadingTop, setIsLoadingTop] = useState(false);
|
||||||
const scrollableRef = useRef(null);
|
const scrollableRef = useRef(null);
|
||||||
@ -83,11 +86,13 @@ export const EntriesList: React.FC<EntriesListProps> = ({entries, setEntries, qu
|
|||||||
setEntries(newEntries);
|
setEntries(newEntries);
|
||||||
|
|
||||||
setQueriedCurrent(queriedCurrent + data.meta.current);
|
setQueriedCurrent(queriedCurrent + data.meta.current);
|
||||||
|
setQueriedTotal(data.meta.total);
|
||||||
|
setTruncatedTimestamp(data.meta.truncatedTimestamp);
|
||||||
|
|
||||||
if (scrollTo) {
|
if (scrollTo) {
|
||||||
scrollableRef.current.scrollToIndex(data.data.length - 1);
|
scrollableRef.current.scrollToIndex(data.data.length - 1);
|
||||||
}
|
}
|
||||||
},[setLoadMoreTop, setIsLoadingTop, entries, setEntries, query, setNoMoreDataTop, leftOffTop, setLeftOffTop, queriedCurrent, setQueriedCurrent]);
|
},[setLoadMoreTop, setIsLoadingTop, entries, setEntries, query, setNoMoreDataTop, leftOffTop, setLeftOffTop, queriedCurrent, setQueriedCurrent, setQueriedTotal, setTruncatedTimestamp]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if(!isWebSocketConnectionClosed || !loadMoreTop || noMoreDataTop) return;
|
if(!isWebSocketConnectionClosed || !loadMoreTop || noMoreDataTop) return;
|
||||||
@ -144,7 +149,7 @@ export const EntriesList: React.FC<EntriesListProps> = ({entries, setEntries, qu
|
|||||||
|
|
||||||
<div className={styles.footer}>
|
<div className={styles.footer}>
|
||||||
<div>Displaying <b>{entries?.length}</b> results out of <b>{queriedTotal}</b> total</div>
|
<div>Displaying <b>{entries?.length}</b> results out of <b>{queriedTotal}</b> total</div>
|
||||||
{startTime !== 0 && <div>Started listening at <span style={{marginRight: 5, fontWeight: 600, fontSize: 13}}>{Moment(startTime).utc().format('MM/DD/YYYY, h:mm:ss.SSS A')}</span></div>}
|
{startTime !== 0 && <div>Started listening at <span style={{marginRight: 5, fontWeight: 600, fontSize: 13}}>{Moment(truncatedTimestamp ? truncatedTimestamp : startTime).utc().format('MM/DD/YYYY, h:mm:ss.SSS A')}</span></div>}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</>;
|
</>;
|
||||||
|
@ -68,6 +68,7 @@ export const TrafficPage: React.FC<TrafficPageProps> = ({setAnalyzeStatus, onTLS
|
|||||||
const [queriedTotal, setQueriedTotal] = useState(0);
|
const [queriedTotal, setQueriedTotal] = useState(0);
|
||||||
const [leftOffBottom, setLeftOffBottom] = useState(0);
|
const [leftOffBottom, setLeftOffBottom] = useState(0);
|
||||||
const [leftOffTop, setLeftOffTop] = useState(null);
|
const [leftOffTop, setLeftOffTop] = useState(null);
|
||||||
|
const [truncatedTimestamp, setTruncatedTimestamp] = useState(0);
|
||||||
|
|
||||||
const [startTime, setStartTime] = useState(0);
|
const [startTime, setStartTime] = useState(0);
|
||||||
|
|
||||||
@ -169,6 +170,7 @@ export const TrafficPage: React.FC<TrafficPageProps> = ({setAnalyzeStatus, onTLS
|
|||||||
setQueriedCurrent(queriedCurrent + message.data.current);
|
setQueriedCurrent(queriedCurrent + message.data.current);
|
||||||
setQueriedTotal(message.data.total);
|
setQueriedTotal(message.data.total);
|
||||||
setLeftOffBottom(message.data.leftOff);
|
setLeftOffBottom(message.data.leftOff);
|
||||||
|
setTruncatedTimestamp(message.data.truncatedTimestamp);
|
||||||
if (leftOffTop === null) {
|
if (leftOffTop === null) {
|
||||||
setLeftOffTop(message.data.leftOff - 1);
|
setLeftOffTop(message.data.leftOff - 1);
|
||||||
}
|
}
|
||||||
@ -296,6 +298,7 @@ export const TrafficPage: React.FC<TrafficPageProps> = ({setAnalyzeStatus, onTLS
|
|||||||
queriedCurrent={queriedCurrent}
|
queriedCurrent={queriedCurrent}
|
||||||
setQueriedCurrent={setQueriedCurrent}
|
setQueriedCurrent={setQueriedCurrent}
|
||||||
queriedTotal={queriedTotal}
|
queriedTotal={queriedTotal}
|
||||||
|
setQueriedTotal={setQueriedTotal}
|
||||||
startTime={startTime}
|
startTime={startTime}
|
||||||
noMoreDataTop={noMoreDataTop}
|
noMoreDataTop={noMoreDataTop}
|
||||||
setNoMoreDataTop={setNoMoreDataTop}
|
setNoMoreDataTop={setNoMoreDataTop}
|
||||||
@ -308,6 +311,8 @@ export const TrafficPage: React.FC<TrafficPageProps> = ({setAnalyzeStatus, onTLS
|
|||||||
ws={ws.current}
|
ws={ws.current}
|
||||||
openWebSocket={openWebSocket}
|
openWebSocket={openWebSocket}
|
||||||
leftOffBottom={leftOffBottom}
|
leftOffBottom={leftOffBottom}
|
||||||
|
truncatedTimestamp={truncatedTimestamp}
|
||||||
|
setTruncatedTimestamp={setTruncatedTimestamp}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user