mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-10-12 12:51:31 +08:00

* feat(trace-details): frontend changes for trace details * feat(trace-detail): address review comments from elipsis * feat(trace0-detail): add the new drawer designs * feat(trace-detail): handle the selected span hover * feat(trace-detail): address theme colors and span selection * feat(trace-detail): fix some more css * feat(trace-detail): fix some more css * feat(trace-detail): add hoverred span and handled no data components for new drawer * feat(trace-detail): handle light mode designs * feat(trace-detail): remove the hover functionality in favor of performance * feat(trace-detail): span lines connectors * feat(trace-detail): span lines connectors * feat(trace-detail): handle the line matching for flamegraph and waterfall * feat(trace-waterfall): change the timeline color to make it less poky * feat(trace-waterfall): added where clause support in trace details page * feat(trace-waterfall): added where clause support in trace details page * feat(trace-detail): handle light mode designs * feat(trace-detail): handle light mode designs * feat(trace-detail): fix build issues * feat(trace-detail): handle loading error state for filters and flamegraph hovered state * feat(trace-detail): fix the hardcoded traceID * feat(trace-detail): remove unnecessaru use effects * feat(trace-detail): handled the flamegraph update with ID * feat(trace-detail): added timestamp bucketing and latency sampling * feat(trace-detail): extract the buckets and span limit in constants * feat(trace-detail): minor VQA comments * feat(trace-detail): remove unnecessaru use effects * feat(trace-detail): add go to related logs * feat(trace-detail): address review comments * feat(trace-detail): address review comments * feat(trace-detail): address review comments * feat(trace-detail): address review comments
36 lines
913 B
TypeScript
36 lines
913 B
TypeScript
import { ApiV2Instance as axios } from 'api';
|
|
import { omit } from 'lodash-es';
|
|
import { ErrorResponse, SuccessResponse } from 'types/api';
|
|
import {
|
|
GetTraceV2PayloadProps,
|
|
GetTraceV2SuccessResponse,
|
|
} from 'types/api/trace/getTraceV2';
|
|
|
|
const getTraceV2 = async (
|
|
props: GetTraceV2PayloadProps,
|
|
): Promise<SuccessResponse<GetTraceV2SuccessResponse> | ErrorResponse> => {
|
|
let uncollapsedSpans = [...props.uncollapsedSpans];
|
|
if (!props.isSelectedSpanIDUnCollapsed) {
|
|
uncollapsedSpans = uncollapsedSpans.filter(
|
|
(node) => node !== props.selectedSpanId,
|
|
);
|
|
}
|
|
const postData: GetTraceV2PayloadProps = {
|
|
...props,
|
|
uncollapsedSpans,
|
|
};
|
|
const response = await axios.post<GetTraceV2SuccessResponse>(
|
|
`/traces/waterfall/${props.traceId}`,
|
|
omit(postData, 'traceId'),
|
|
);
|
|
|
|
return {
|
|
statusCode: 200,
|
|
error: null,
|
|
message: 'Success',
|
|
payload: response.data,
|
|
};
|
|
};
|
|
|
|
export default getTraceV2;
|