@localstack/appinspector-ui 1.0.14 → 1.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +56 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +60 -16
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/pages/spans-list-page.tsx
|
|
2
2
|
import { Box as Box6 } from "@mui/material";
|
|
3
|
-
import { useCallback as useCallback5, useEffect as useEffect4, useRef as useRef3, useState as useState5 } from "react";
|
|
3
|
+
import { useCallback as useCallback5, useEffect as useEffect4, useMemo as useMemo4, useRef as useRef3, useState as useState5 } from "react";
|
|
4
4
|
import { useNavigate } from "react-router-dom";
|
|
5
5
|
|
|
6
6
|
// src/api/use-api.tsx
|
|
@@ -2524,7 +2524,7 @@ var AwsServiceIcon = ({ hideTooltip, service, size = "medium", title }) => {
|
|
|
2524
2524
|
import { Box } from "@mui/material";
|
|
2525
2525
|
import { jsx as jsx122 } from "react/jsx-runtime";
|
|
2526
2526
|
var defaultBackgroundColor = "background.paper";
|
|
2527
|
-
var defaultBorderColor = "
|
|
2527
|
+
var defaultBorderColor = "palette.divider";
|
|
2528
2528
|
var PillCell = ({
|
|
2529
2529
|
backgroundColor = defaultBackgroundColor,
|
|
2530
2530
|
borderColor = defaultBorderColor,
|
|
@@ -2592,7 +2592,9 @@ var ServiceCell = ({
|
|
|
2592
2592
|
Typography,
|
|
2593
2593
|
{
|
|
2594
2594
|
sx: {
|
|
2595
|
-
|
|
2595
|
+
borderRightColor: resource ? borderColor : "none",
|
|
2596
|
+
borderRightStyle: resource ? "solid" : "none",
|
|
2597
|
+
borderRightWidth: resource ? "1px" : "none",
|
|
2596
2598
|
fontWeight: "bold",
|
|
2597
2599
|
overflow: "hidden",
|
|
2598
2600
|
padding: "1px 8px",
|
|
@@ -2701,9 +2703,15 @@ var SpansDataGrid = ({
|
|
|
2701
2703
|
loading,
|
|
2702
2704
|
onClearSpans,
|
|
2703
2705
|
onFilterWriteOperationsChange,
|
|
2706
|
+
onPageChange,
|
|
2707
|
+
onPageSizeChange,
|
|
2704
2708
|
onRefresh,
|
|
2705
2709
|
onSpanClick,
|
|
2710
|
+
page,
|
|
2711
|
+
pageSize,
|
|
2712
|
+
rowCount,
|
|
2706
2713
|
rows,
|
|
2714
|
+
rowsPerPageOptions,
|
|
2707
2715
|
// setRows,
|
|
2708
2716
|
sortingOption = defaultSortingOption
|
|
2709
2717
|
}) => {
|
|
@@ -2802,15 +2810,26 @@ var SpansDataGrid = ({
|
|
|
2802
2810
|
getRowId: (row) => row.span_id,
|
|
2803
2811
|
initialState: {
|
|
2804
2812
|
pagination: {
|
|
2805
|
-
page
|
|
2806
|
-
pageSize
|
|
2813
|
+
page,
|
|
2814
|
+
pageSize
|
|
2807
2815
|
}
|
|
2808
2816
|
},
|
|
2809
2817
|
loading,
|
|
2818
|
+
onPageChange: (newPage) => {
|
|
2819
|
+
onPageChange(newPage);
|
|
2820
|
+
},
|
|
2821
|
+
onPageSizeChange: (newPageSize) => {
|
|
2822
|
+
onPageSizeChange(newPageSize);
|
|
2823
|
+
},
|
|
2810
2824
|
onRowClick: handleRowClick,
|
|
2811
2825
|
onSortModelChange: handleSortModelChange,
|
|
2826
|
+
page,
|
|
2827
|
+
pageSize,
|
|
2828
|
+
paginationMode: "server",
|
|
2829
|
+
rowCount,
|
|
2812
2830
|
rowHeight: 40,
|
|
2813
2831
|
rows: filteredRows,
|
|
2832
|
+
rowsPerPageOptions,
|
|
2814
2833
|
sortModel,
|
|
2815
2834
|
sx: { flexGrow: 1 }
|
|
2816
2835
|
}
|
|
@@ -2843,9 +2862,15 @@ var SpansList = (props) => {
|
|
|
2843
2862
|
loading: props.spans.loading,
|
|
2844
2863
|
onClearSpans: props.onClearSpans,
|
|
2845
2864
|
onFilterWriteOperationsChange: props.onFilterWriteOperationsChange,
|
|
2865
|
+
onPageChange: props.onPageChange,
|
|
2866
|
+
onPageSizeChange: props.onPageSizeChange,
|
|
2846
2867
|
onRefresh: props.onRefresh,
|
|
2847
2868
|
onSpanClick: props.onSpanClick,
|
|
2869
|
+
page: props.page,
|
|
2870
|
+
pageSize: props.pageSize,
|
|
2871
|
+
rowCount: props.spanCount,
|
|
2848
2872
|
rows: props.spans.data ?? [],
|
|
2873
|
+
rowsPerPageOptions: props.spansPerPageOptions,
|
|
2849
2874
|
sortingOption: { field: "start_time_unix_nano", sort: "asc" }
|
|
2850
2875
|
}
|
|
2851
2876
|
)
|
|
@@ -3367,24 +3392,37 @@ var SpansListPage = () => {
|
|
|
3367
3392
|
const [loading, setLoading] = useState5(false);
|
|
3368
3393
|
const hasFetched = useRef3(false);
|
|
3369
3394
|
const [filterWriteOperations, setFilterWriteOperations] = useLocalStorage("filterWriteOperations", true);
|
|
3395
|
+
const mapPageToNextCursor = useRef3({});
|
|
3396
|
+
const [page, setPage] = useState5(0);
|
|
3397
|
+
const [pageSize, setPageSize] = useState5(100);
|
|
3398
|
+
const [spansPerPageOptions] = useState5(() => [25, 50, 100]);
|
|
3399
|
+
const [spanCount, setSpanCount] = useState5();
|
|
3400
|
+
const queryOptions = useMemo4(() => {
|
|
3401
|
+
return {
|
|
3402
|
+
is_write_operation: filterWriteOperations ? true : void 0,
|
|
3403
|
+
limit: pageSize,
|
|
3404
|
+
pagination_token: mapPageToNextCursor.current[page - 1]
|
|
3405
|
+
};
|
|
3406
|
+
}, [filterWriteOperations, pageSize, page]);
|
|
3370
3407
|
const [fetchError, setFetchError] = useState5();
|
|
3371
3408
|
const { checkStatus, error: statusError, status } = useStatus();
|
|
3372
3409
|
const fetchSpans = useCallback5(async () => {
|
|
3373
3410
|
setLoading(true);
|
|
3374
3411
|
try {
|
|
3375
|
-
const response = await api.getSpans(
|
|
3376
|
-
is_write_operation: filterWriteOperations ? true : void 0,
|
|
3377
|
-
limit: 100
|
|
3378
|
-
});
|
|
3412
|
+
const response = await api.getSpans(queryOptions);
|
|
3379
3413
|
setSpans(response.spans);
|
|
3414
|
+
setSpanCount(response.pagination.total_count);
|
|
3380
3415
|
setFetchError(void 0);
|
|
3416
|
+
if (response.pagination.cursor) {
|
|
3417
|
+
mapPageToNextCursor.current[page] = response.pagination.cursor;
|
|
3418
|
+
}
|
|
3381
3419
|
} catch (error) {
|
|
3382
3420
|
console.error(error);
|
|
3383
3421
|
setFetchError(error instanceof Error ? error : new Error("Unknown error", { cause: error }));
|
|
3384
3422
|
} finally {
|
|
3385
3423
|
setLoading(false);
|
|
3386
3424
|
}
|
|
3387
|
-
}, [api,
|
|
3425
|
+
}, [api, page, queryOptions]);
|
|
3388
3426
|
const fetchSpansSync = useCallback5(() => {
|
|
3389
3427
|
void fetchSpans();
|
|
3390
3428
|
}, [fetchSpans]);
|
|
@@ -3450,17 +3488,23 @@ var SpansListPage = () => {
|
|
|
3450
3488
|
onFilterWriteOperationsChange: (value) => {
|
|
3451
3489
|
setFilterWriteOperations(value);
|
|
3452
3490
|
},
|
|
3491
|
+
onPageChange: setPage,
|
|
3492
|
+
onPageSizeChange: setPageSize,
|
|
3453
3493
|
onRefresh: () => {
|
|
3454
3494
|
fetchSpansSync();
|
|
3455
3495
|
},
|
|
3456
3496
|
onSpanClick: (span) => {
|
|
3457
3497
|
navigateToSpan(span);
|
|
3458
3498
|
},
|
|
3499
|
+
page,
|
|
3500
|
+
pageSize,
|
|
3501
|
+
spanCount,
|
|
3459
3502
|
spans: {
|
|
3460
3503
|
data: spans,
|
|
3461
3504
|
error: fetchError,
|
|
3462
3505
|
loading
|
|
3463
|
-
}
|
|
3506
|
+
},
|
|
3507
|
+
spansPerPageOptions
|
|
3464
3508
|
}
|
|
3465
3509
|
)
|
|
3466
3510
|
}
|
|
@@ -3637,10 +3681,10 @@ import { memo, useCallback as useCallback6 } from "react";
|
|
|
3637
3681
|
// src/components/trace-graph/problem-indicator.tsx
|
|
3638
3682
|
import { Error as ErrorIcon, Info, Warning } from "@mui/icons-material";
|
|
3639
3683
|
import { Box as Box10, Tooltip as Tooltip2 } from "@mui/material";
|
|
3640
|
-
import { useMemo as
|
|
3684
|
+
import { useMemo as useMemo5 } from "react";
|
|
3641
3685
|
import { jsx as jsx132 } from "react/jsx-runtime";
|
|
3642
3686
|
var ProblemIndicator = ({ error }) => {
|
|
3643
|
-
const icon =
|
|
3687
|
+
const icon = useMemo5(() => {
|
|
3644
3688
|
switch (error.level) {
|
|
3645
3689
|
case "error": {
|
|
3646
3690
|
return /* @__PURE__ */ jsx132(ErrorIcon, { sx: { color: "#d32f2f", fontSize: "14px" } });
|
|
@@ -3653,7 +3697,7 @@ var ProblemIndicator = ({ error }) => {
|
|
|
3653
3697
|
}
|
|
3654
3698
|
}
|
|
3655
3699
|
}, [error.level]);
|
|
3656
|
-
const color =
|
|
3700
|
+
const color = useMemo5(() => {
|
|
3657
3701
|
switch (error.level) {
|
|
3658
3702
|
case "error": {
|
|
3659
3703
|
return "#d32f2f";
|
|
@@ -3734,8 +3778,8 @@ var ServiceNode = memo(function ServiceNode2({ data, selected }) {
|
|
|
3734
3778
|
/* @__PURE__ */ jsx133(
|
|
3735
3779
|
ServiceCell,
|
|
3736
3780
|
{
|
|
3737
|
-
borderColor: selected ? "text.primary" :
|
|
3738
|
-
borderWidth: selected ? "1.5px" :
|
|
3781
|
+
borderColor: selected ? "text.primary" : void 0,
|
|
3782
|
+
borderWidth: selected ? "1.5px" : void 0,
|
|
3739
3783
|
height: "32px",
|
|
3740
3784
|
resource: data.event.resource_name,
|
|
3741
3785
|
service: data.event.service_name,
|