mirror of
https://github.com/hansjone/netx.git
synced 2026-10-10 19:20:46 +08:00
Show baseline device and interface under the port traffic wall chart.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
5e940252e6
commit
e4a365fa16
4 changed files with 29 additions and 0 deletions
|
|
@ -114,6 +114,8 @@ const en = {
|
||||||
offsetHours: "Offset (hours)",
|
offsetHours: "Offset (hours)",
|
||||||
baseline: "Baseline",
|
baseline: "Baseline",
|
||||||
baselineAt: "Baseline time",
|
baselineAt: "Baseline time",
|
||||||
|
baselineDevice: "Baseline device",
|
||||||
|
baselinePort: "Baseline interface",
|
||||||
seriesCurrentIn: "Current In",
|
seriesCurrentIn: "Current In",
|
||||||
seriesCurrentOut: "Current Out",
|
seriesCurrentOut: "Current Out",
|
||||||
seriesBaselineIn: "Baseline In",
|
seriesBaselineIn: "Baseline In",
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,8 @@ const zh = {
|
||||||
offsetHours: "偏移(小时)",
|
offsetHours: "偏移(小时)",
|
||||||
baseline: "基线",
|
baseline: "基线",
|
||||||
baselineAt: "基线原时刻",
|
baselineAt: "基线原时刻",
|
||||||
|
baselineDevice: "基线网元",
|
||||||
|
baselinePort: "基线接口",
|
||||||
seriesCurrentIn: "当前 In",
|
seriesCurrentIn: "当前 In",
|
||||||
seriesCurrentOut: "当前 Out",
|
seriesCurrentOut: "当前 Out",
|
||||||
seriesBaselineIn: "基线 In",
|
seriesBaselineIn: "基线 In",
|
||||||
|
|
|
||||||
|
|
@ -796,6 +796,10 @@ export function PortTrafficPage() {
|
||||||
) : null}
|
) : null}
|
||||||
<PortTrafficWall
|
<PortTrafficWall
|
||||||
target={selectedWallTarget}
|
target={selectedWallTarget}
|
||||||
|
baselineTarget={
|
||||||
|
compareQuery.data?.meta?.baseline_target ||
|
||||||
|
(baseline !== "off" && wallBaselinePoints.length ? selectedWallTarget : null)
|
||||||
|
}
|
||||||
points={wallPoints}
|
points={wallPoints}
|
||||||
baselinePoints={wallBaselinePoints}
|
baselinePoints={wallBaselinePoints}
|
||||||
rangeLabel={`${rangeHours}h${
|
rangeLabel={`${rangeHours}h${
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,7 @@ const EMPTY_POINTS: PortTrafficSamplePoint[] = [];
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
target: PortTrafficTarget | null;
|
target: PortTrafficTarget | null;
|
||||||
|
baselineTarget?: PortTrafficTarget | null;
|
||||||
points: PortTrafficSamplePoint[];
|
points: PortTrafficSamplePoint[];
|
||||||
baselinePoints?: PortTrafficSamplePoint[];
|
baselinePoints?: PortTrafficSamplePoint[];
|
||||||
rangeLabel: string;
|
rangeLabel: string;
|
||||||
|
|
@ -78,6 +79,7 @@ type Props = {
|
||||||
|
|
||||||
export function PortTrafficWall({
|
export function PortTrafficWall({
|
||||||
target,
|
target,
|
||||||
|
baselineTarget = null,
|
||||||
points,
|
points,
|
||||||
baselinePoints = EMPTY_POINTS,
|
baselinePoints = EMPTY_POINTS,
|
||||||
rangeLabel,
|
rangeLabel,
|
||||||
|
|
@ -314,6 +316,12 @@ export function PortTrafficWall({
|
||||||
const neLabel = target ? target.ne_name || target.ne_ip || "—" : "—";
|
const neLabel = target ? target.ne_name || target.ne_ip || "—" : "—";
|
||||||
const ifLabel = target?.ifname || "—";
|
const ifLabel = target?.ifname || "—";
|
||||||
const ipLabel = target?.ne_ip || "";
|
const ipLabel = target?.ne_ip || "";
|
||||||
|
const showBaselineMeta = Boolean(baselineTarget) && baselinePoints.length > 0;
|
||||||
|
const baseNeLabel = baselineTarget
|
||||||
|
? baselineTarget.ne_name || baselineTarget.ne_ip || "—"
|
||||||
|
: "—";
|
||||||
|
const baseIfLabel = baselineTarget?.ifname || "—";
|
||||||
|
const baseIpLabel = baselineTarget?.ne_ip || "";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="pt-wall">
|
<div className="pt-wall">
|
||||||
|
|
@ -379,6 +387,19 @@ export function PortTrafficWall({
|
||||||
<span className="pt-wall__foot-label">{t("portTraffic.wallPort")}</span>
|
<span className="pt-wall__foot-label">{t("portTraffic.wallPort")}</span>
|
||||||
<span className="pt-wall__foot-value pt-wall__foot-value--mono">{ifLabel}</span>
|
<span className="pt-wall__foot-value pt-wall__foot-value--mono">{ifLabel}</span>
|
||||||
</div>
|
</div>
|
||||||
|
{showBaselineMeta ? (
|
||||||
|
<>
|
||||||
|
<div className="pt-wall__foot-ne" title={baseNeLabel}>
|
||||||
|
<span className="pt-wall__foot-label">{t("portTraffic.baselineDevice")}</span>
|
||||||
|
<span className="pt-wall__foot-value">{baseNeLabel}</span>
|
||||||
|
{baseIpLabel ? <span className="pt-wall__foot-ip">{baseIpLabel}</span> : null}
|
||||||
|
</div>
|
||||||
|
<div className="pt-wall__foot-if" title={baseIfLabel}>
|
||||||
|
<span className="pt-wall__foot-label">{t("portTraffic.baselinePort")}</span>
|
||||||
|
<span className="pt-wall__foot-value pt-wall__foot-value--mono">{baseIfLabel}</span>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue