diff --git a/src/components/MemoryViewer/MemoryViewer.tsx b/src/components/MemoryViewer/MemoryViewer.tsx index 65b1b23ba..b5104bf59 100644 --- a/src/components/MemoryViewer/MemoryViewer.tsx +++ b/src/components/MemoryViewer/MemoryViewer.tsx @@ -40,8 +40,6 @@ export interface MemoryProgressViewerProps { stats: TMemoryStats; className?: string; warningThreshold?: number; - value?: number | string; - capacity?: number | string; formatValues: FormatProgressViewerValues; percents?: boolean; dangerThreshold?: number; @@ -49,14 +47,15 @@ export interface MemoryProgressViewerProps { export function MemoryViewer({ stats, - value, - capacity, percents, formatValues, className, warningThreshold = 60, dangerThreshold = 80, }: MemoryProgressViewerProps) { + const value = stats.AnonRss; + const capacity = stats.HardLimit; + const theme = useTheme(); let fillWidth = Math.round((parseFloat(String(value)) / parseFloat(String(capacity))) * 100) || 0; diff --git a/src/components/nodesColumns/columns.tsx b/src/components/nodesColumns/columns.tsx index 88ba1f9ff..b93d6fe33 100644 --- a/src/components/nodesColumns/columns.tsx +++ b/src/components/nodesColumns/columns.tsx @@ -163,12 +163,7 @@ export function getMemoryColumn< defaultOrder: DataTable.DESCENDING, render: ({row}) => { return row.MemoryStats ? ( - + ) : ( +
{'Memory details'}
+
+ {memoryStats ? ( + + ) : ( + + )} +
); diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss b/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss index 87b8e594f..003311176 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +++ b/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss @@ -63,4 +63,9 @@ &__storage-info { margin-bottom: 36px; } + + &__memory-info { + width: 300px; + margin-bottom: 36px; + } } diff --git a/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx b/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx index 3700207db..1a1304057 100644 --- a/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx +++ b/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx @@ -123,7 +123,14 @@ export function TenantOverview({ return ; } case TENANT_METRICS_TABS_IDS.memory: { - return ; + return ( + + ); } case TENANT_METRICS_TABS_IDS.healthcheck: { return ; diff --git a/src/services/api.ts b/src/services/api.ts index df8d7d0a9..7949c0e0d 100644 --- a/src/services/api.ts +++ b/src/services/api.ts @@ -201,6 +201,7 @@ export class YdbEmbeddedAPI extends AxiosWrapper { path, tablets: false, storage: true, + memory: true, }, {concurrentId, requestConfig: {signal}}, ); diff --git a/src/types/api/tenant.ts b/src/types/api/tenant.ts index a4d2d1bef..08b5947e7 100644 --- a/src/types/api/tenant.ts +++ b/src/types/api/tenant.ts @@ -1,5 +1,5 @@ import type {EFlag} from './enums'; -import type {TPoolStats, TSystemStateInfo} from './nodes'; +import type {TMemoryStats, TPoolStats, TSystemStateInfo} from './nodes'; import type {TTabletStateInfo} from './tablet'; /** @@ -50,6 +50,7 @@ export interface TTenant { MemoryUsed?: string; // Actual memory consumption /** uint64 */ MemoryLimit?: string; + MemoryStats?: TMemoryStats; /** double */ CoresUsed?: number; // Actual cpu consumption /** uint64 */