Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions frontend/src/api/modules/ai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,20 @@ export const updateBindDomain = (req: AI.BindDomain) => {
export const loadGPUInfo = () => {
return http.get<AI.Info>(`/ai/gpu/load`);
};
export const getGPUOptions = () => {
return http.get<AI.MonitorGPUOptions>(`/ai/gpu/options`);
export const getGPUOptions = (currentNode?: string) => {
return http.get<AI.MonitorGPUOptions>(
`/ai/gpu/options`,
{},
currentNode ? { headers: { CurrentNode: currentNode } } : {},
);
};
export const loadGPUMonitor = (param: AI.MonitorGPUSearch) => {
return http.post<AI.MonitorGPUData>(`/ai/gpu/search`, param);
export const loadGPUMonitor = (param: AI.MonitorGPUSearch, currentNode?: string) => {
return http.post<AI.MonitorGPUData>(
`/ai/gpu/search`,
param,
TimeoutEnum.T_60S,
currentNode ? { CurrentNode: currentNode } : undefined,
);
};

export const pageMcpServer = (req: AI.McpServerSearch) => {
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/lang/modules/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2074,6 +2074,22 @@ const message = {
profileGoroutineDesc: 'Saves the state and call stack of every goroutine and groups identical call paths.',
profileMutexDesc: 'Measures wait time caused by mutex contention to locate lock contention hotspots.',
profileBlockDesc: 'Measures blocking on channels, select statements, and synchronization primitives.',
exportRange: 'Time range',
exportMetrics: 'Metrics',
exportMetricsHelper: 'CPU, memory and load metrics are merged into one table.',
exportAllDevices: 'Each device (per-device detail)',
exportAllInterfaces: 'Each interface (per-interface detail)',
exportFormat: 'Format',
exportCsvHelper: 'Multiple metrics are exported as separate CSV files packed into a ZIP archive.',
exportJsonHelper: 'Export as a single structured JSON file.',
exportXlsxHelper: 'Each metric is exported as a separate worksheet in one workbook.',
exportTruncated: 'Excel row limit reached; these datasets were truncated: {0}',
exportEmptyTables: 'No data in the selected time range for: {0}',
exportAggregate: 'Combined total (all devices)',
exportAllGPUs: 'Each model (per-model detail)',
exportOptionsFailed: 'Failed to load the device list for: {0}. Refresh the page and retry.',
selectMetrics: 'Select at least one metric to export.',
selectTimeRange: 'Select the time range to export.',
},
terminal: {
showTerminalButton: 'Terminal Shortcut',
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/lang/modules/es-es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2113,6 +2113,22 @@ const message = {
profileMutexDesc:
'Mide el tiempo de espera causado por la contención de mutex para localizar bloqueos disputados.',
profileBlockDesc: 'Mide los bloqueos en canales, select y primitivas de sincronización.',
exportRange: 'Intervalo de tiempo',
exportMetrics: 'Métricas',
exportMetricsHelper: 'Las métricas de CPU, memoria y carga se combinan en una sola tabla.',
exportAllDevices: 'Cada dispositivo (detalle por dispositivo)',
exportAllInterfaces: 'Cada interfaz (detalle por interfaz)',
exportFormat: 'Formato',
exportCsvHelper: 'Al seleccionar varias métricas se generan CSV separados empaquetados en un ZIP.',
exportJsonHelper: 'Exportar como un único archivo JSON estructurado.',
exportXlsxHelper: 'Cada métrica se exporta en una hoja independiente.',
exportTruncated: 'Se superó el límite de filas de Excel; estos conjuntos se truncaron: {0}',
exportEmptyTables: 'Sin datos en el rango seleccionado para: {0}',
exportAggregate: 'Total combinado (todos los dispositivos)',
exportAllGPUs: 'Cada modelo (detalle por modelo)',
exportOptionsFailed: 'No se pudo cargar la lista de dispositivos para: {0}. Actualiza la página y reintenta.',
selectMetrics: 'Selecciona al menos una métrica para exportar',
selectTimeRange: 'Selecciona el intervalo de tiempo a exportar',
},
terminal: {
showTerminalButton: 'Acceso rápido al terminal',
Expand Down
17 changes: 17 additions & 0 deletions frontend/src/lang/modules/fa.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2055,6 +2055,23 @@ const message = {
profileGoroutineDesc: 'وضعیت و پشته فراخوانی هر Goroutine را ذخیره و مسیرهای یکسان را گروه‌بندی می‌کند.',
profileMutexDesc: 'زمان انتظار ناشی از رقابت mutex را برای یافتن نقاط رقابت قفل اندازه‌گیری می‌کند.',
profileBlockDesc: 'زمان انسداد روی Channel، Select و ابزارهای همگام‌سازی را اندازه‌گیری می‌کند.',
exportRange: 'بازه زمانی',
exportMetrics: 'معیارها',
exportMetricsHelper: 'معیارهای CPU، حافظه و بار در یک جدول ادغام می‌شوند.',
exportAllDevices: 'هر دستگاه (جزئیات به تفکیک دستگاه)',
exportAllInterfaces: 'هر رابط (جزئیات به تفکیک رابط)',
exportFormat: 'قالب',
exportCsvHelper: 'هنگام انتخاب چند معیار، فایل‌های CSV جداگانه در یک بایگانی ZIP بسته‌بندی می‌شوند.',
exportJsonHelper: 'به‌صورت یک فایل JSON ساخت‌یافته واحد خروجی بگیرید.',
exportXlsxHelper: 'هر معیار به‌صورت یک کاربرگ جداگانه خروجی گرفته می‌شود.',
exportTruncated: 'از حد ردیف اکسل فراتر رفت؛ این مجموعه‌داده‌ها بریده شدند: {0}',
exportEmptyTables: 'در بازه انتخاب‌شده داده‌ای برای این موارد نیست: {0}',
exportAggregate: 'مجموع ترکیبی (همه دستگاه‌ها)',
exportAllGPUs: 'هر مدل (جزئیات به تفکیک مدل)',
exportOptionsFailed:
'بارگیری فهرست دستگاه برای موارد زیر ناموفق بود: {0}. صفحه را تازه کرده و دوباره تلاش کنید.',
selectMetrics: 'حداقل یک معیار برای خروجی انتخاب کنید',
selectTimeRange: 'بازه زمانی خروجی را انتخاب کنید',
},
terminal: {
showTerminalButton: 'میانبر ترمینال',
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/lang/modules/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2063,6 +2063,22 @@ const message = {
profileGoroutineDesc: 'すべての Goroutine の状態と呼び出しスタックを保存し、同じ呼び出し経路を集約します。',
profileMutexDesc: 'Mutex 競合による待機時間を測定し、ロック競合のホットスポットを特定します。',
profileBlockDesc: 'Channel、Select、同期プリミティブでのブロック待機時間を測定します。',
exportRange: '期間',
exportMetrics: 'エクスポート指標',
exportMetricsHelper: 'CPU、メモリ、負荷の指標は 1 つのテーブルにまとめられます。',
exportAllDevices: 'デバイスごと(デバイス別明細)',
exportAllInterfaces: 'インターフェースごと(インターフェース別明細)',
exportFormat: 'エクスポート形式',
exportCsvHelper: '複数の指標を選択した場合、指標ごとに CSV ファイルを生成して ZIP にまとめます。',
exportJsonHelper: '構造化された単一の JSON ファイルとしてエクスポートします。',
exportXlsxHelper: '指標ごとに独立したワークシートを生成します。',
exportTruncated: 'Excel の行数上限を超えたため、以下のデータセットは切り詰められました: {0}',
exportEmptyTables: '選択した期間にデータがない指標: {0}',
exportAggregate: '合計(全デバイス合算)',
exportAllGPUs: 'モデルごと(モデル別明細)',
exportOptionsFailed: '次の指標のデバイス一覧を読み込めませんでした。再読み込みして再試行してください: {0}',
selectMetrics: 'エクスポートする指標を 1 つ以上選択してください',
selectTimeRange: 'エクスポートする期間を選択してください',
},
terminal: {
showTerminalButton: 'ターミナルへのショートカット',
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/lang/modules/ko.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2037,6 +2037,22 @@ const message = {
profileGoroutineDesc: '모든 Goroutine의 상태와 호출 스택을 저장하고 동일한 호출 경로를 그룹화합니다.',
profileMutexDesc: 'Mutex 경합으로 인한 대기 시간을 측정하여 잠금 경합 지점을 찾습니다.',
profileBlockDesc: 'Channel, Select 및 동기화 프리미티브의 차단 대기 시간을 측정합니다.',
exportRange: '기간',
exportMetrics: '보낼 지표',
exportMetricsHelper: 'CPU, 메모리, 로드 지표는 하나의 테이블로 병합됩니다.',
exportAllDevices: '장치별 (장치별 상세)',
exportAllInterfaces: '인터페이스별 (인터페이스별 상세)',
exportFormat: '보내기 형식',
exportCsvHelper: '여러 지표를 선택하면 지표별 CSV 파일을 생성해 ZIP으로 묶습니다.',
exportJsonHelper: '하나의 구조화된 JSON 파일로보냅니다.',
exportXlsxHelper: '지표별로 개별 워크시트를 생성합니다.',
exportTruncated: 'Excel 행 제한을 초과하여 다음 데이터셋이 잘렸습니다: {0}',
exportEmptyTables: '선택한 기간에 데이터가 없는 지표: {0}',
exportAggregate: '합계 (모든 장치 합산)',
exportAllGPUs: '모델별 (모델별 상세)',
exportOptionsFailed: '다음 지표의 장치 목록을 불러오지 못했습니다. 새로고침 후 다시 시도하세요: {0}',
selectMetrics: '보낼 지표를 하나 이상 선택하세요',
selectTimeRange: '보낼 기간을 선택하세요',
},
terminal: {
showTerminalButton: '터미널 바로가기',
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/lang/modules/lo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2021,6 +2021,22 @@ const message = {
profileGoroutineDesc: 'ບັນທຶກສະຖານະ ແລະ Call Stack ຂອງທຸກ Goroutine ແລະ ຈັດກຸ່ມເສັ້ນທາງການເອີ້ນທີ່ຄືກັນ.',
profileMutexDesc: 'ວັດແທກເວລາລໍຖ້າທີ່ເກີດຈາກ Mutex Contention ເພື່ອຊອກຫາຈຸດທີ່ມີການແຂ່ງຂັນ Lock ສູງ.',
profileBlockDesc: 'ວັດແທກການບລັອກໃນ Channel, Select Statement ແລະ ກົນໄກ Synchronization.',
exportRange: 'ຊ່ວງເວລາ',
exportMetrics: 'ຕົວຊີ້ວັດ',
exportMetricsHelper: 'ຕົວຊີ້ວັດ CPU, ຫນ່ວຍຄວາມຈຳ ແລະ ໂຫຼດ ຈະຖືກຮວມເຂົ້າເປັນຕາຕະລາງດຽວ.',
exportAllDevices: 'ແຕ່ລະອຸປະກອນ (ລາຍລະອຽດຕໍ່ອຸປະກອນ)',
exportAllInterfaces: 'ແຕ່ລະອິນເຕີເຟສ (ລາຍລະອຽດຕໍ່ອິນເຕີເຟສ)',
exportFormat: 'ຮູບແບບ',
exportCsvHelper: 'ເມື່ອເລືອກຫຼາຍຕົວຊີ້ວັດ ຈະສ້າງໄຟລ໌ CSV ແຍກກັນແລ້ວຮັດຮວມເປັນ ZIP.',
exportJsonHelper: 'ສົ່ງອອກເປັນໄຟລ໌ JSON ໂຄງສ້າງດຽວ.',
exportXlsxHelper: 'ແຕ່ລະຕົວຊີ້ວັດຈະຖືກສົ່ງອອກເປັນເວີກຊີດແຍກກັນ.',
exportTruncated: 'ເກີນຂີດຈຳກັດແຖວຂອງ Excel, ຊຸດຂໍ້ມູນຕໍ່ໄປນີ້ຖືກຕັດ: {0}',
exportEmptyTables: 'ບໍ່ມີຂໍ້ມູນໃນຊ່ວງເວລາທີ່ເລືອກສຳລັບ: {0}',
exportAggregate: 'ລວມທັງໝົດ (ທຸກອຸປະກອນ)',
exportAllGPUs: 'ແຕ່ລະໂມເດລ (ລາຍລະອຽດຕໍ່ໂມເດລ)',
exportOptionsFailed: 'ໂຫຼດລາຍຊື່ອຸປະກອນສຳລັບລາຍການຕໍ່ໄປນີ້ບໍ່ສຳເລັດ: {0}. ໂຫຼດໜ້າໃໝ່ແລ້ວລອງອີກຄັ້ງ.',
selectMetrics: 'ກະລຸນາເລືອກຢ່າງໜ້ອຍໜຶ່ງຕົວຊີ້ວັດທີ່ຈະສົ່ງອອກ',
selectTimeRange: 'ກະລຸນາເລືອກຊ່ວງເວລາທີ່ຈະສົ່ງອອກ',
},
terminal: {
showTerminalButton: 'ທາງລັດ Terminal',
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/lang/modules/ms.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2101,6 +2101,22 @@ const message = {
'Menyimpan keadaan dan tindanan panggilan setiap Goroutine serta mengumpulkan laluan yang sama.',
profileMutexDesc: 'Mengukur masa menunggu akibat persaingan mutex untuk mencari titik persaingan kunci.',
profileBlockDesc: 'Mengukur sekatan pada Channel, Select dan primitif penyegerakan.',
exportRange: 'Julat masa',
exportMetrics: 'Metrik',
exportMetricsHelper: 'Metrik CPU, memori dan beban digabungkan dalam satu jadual.',
exportAllDevices: 'Setiap peranti (perincian per peranti)',
exportAllInterfaces: 'Setiap antara muka (perincian per antara muka)',
exportFormat: 'Format',
exportCsvHelper: 'Apabila berbilang metrik dipilih, fail CSV berasingan dibungkus dalam ZIP.',
exportJsonHelper: 'Eksport sebagai satu fail JSON berstruktur.',
exportXlsxHelper: 'Setiap metrik dieksport sebagai lembaran kerja berasingan.',
exportTruncated: 'Had baris Excel dicapai; set data berikut telah dipotong: {0}',
exportEmptyTables: 'Tiada data dalam julat dipilih untuk: {0}',
exportAggregate: 'Jumlah gabungan (semua peranti)',
exportAllGPUs: 'Setiap model (perincian per model)',
exportOptionsFailed: 'Gagal memuat senarai peranti untuk: {0}. Muat semula halaman dan cuba lagi.',
selectMetrics: 'Pilih sekurang-kurangnya satu metrik untuk dieksport',
selectTimeRange: 'Pilih julat masa untuk dieksport',
},
terminal: {
showTerminalButton: 'Pintasan Terminal',
Expand Down
17 changes: 17 additions & 0 deletions frontend/src/lang/modules/pt-br.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2106,6 +2106,23 @@ const message = {
profileGoroutineDesc: 'Salva o estado e a pilha de cada goroutine e agrupa caminhos de chamada idênticos.',
profileMutexDesc: 'Mede o tempo de espera causado por contenção de mutex para localizar pontos de disputa.',
profileBlockDesc: 'Mede bloqueios em canais, select e primitivas de sincronização.',
exportRange: 'Período',
exportMetrics: 'Métricas',
exportMetricsHelper: 'As métricas de CPU, memória e carga são mescladas em uma única tabela.',
exportAllDevices: 'Cada dispositivo (detalhe por dispositivo)',
exportAllInterfaces: 'Cada interface (detalhe por interface)',
exportFormat: 'Formato',
exportCsvHelper: 'Ao selecionar várias métricas, são gerados arquivos CSV separados compactados em ZIP.',
exportJsonHelper: 'Exportar como um único arquivo JSON estruturado.',
exportXlsxHelper: 'Cada métrica é exportada em uma planilha separada.',
exportTruncated: 'Limite de linhas do Excel atingido; estes conjuntos foram truncados: {0}',
exportEmptyTables: 'Sem dados no período selecionado para: {0}',
exportAggregate: 'Total combinado (todos os dispositivos)',
exportAllGPUs: 'Cada modelo (detalhe por modelo)',
exportOptionsFailed:
'Falha ao carregar a lista de dispositivos para: {0}. Atualize a página e tente novamente.',
selectMetrics: 'Selecione pelo menos uma métrica para exportar',
selectTimeRange: 'Selecione o período para exportar',
},
terminal: {
showTerminalButton: 'Atalho para o terminal',
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/lang/modules/ru.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2087,6 +2087,22 @@ const message = {
profileGoroutineDesc: 'Сохраняет состояние и стек каждой goroutine и группирует одинаковые пути вызовов.',
profileMutexDesc: 'Измеряет ожидание из-за конкуренции mutex для поиска горячих блокировок.',
profileBlockDesc: 'Измеряет блокировки на каналах, select и примитивах синхронизации.',
exportRange: 'Диапазон времени',
exportMetrics: 'Метрики',
exportMetricsHelper: 'Метрики CPU, памяти и нагрузки объединяются в одну таблицу.',
exportAllDevices: 'Каждое устройство (по отдельности)',
exportAllInterfaces: 'Каждый интерфейс (по отдельности)',
exportFormat: 'Формат',
exportCsvHelper: 'При выборе нескольких метрик CSV-файлы упаковываются в ZIP-архив.',
exportJsonHelper: 'Экспорт в один структурированный JSON-файл.',
exportXlsxHelper: 'Каждая метрика экспортируется на отдельный лист.',
exportTruncated: 'Превышен лимит строк Excel, эти наборы данных обрезаны: {0}',
exportEmptyTables: 'Нет данных за выбранный период: {0}',
exportAggregate: 'Сводный итог (все устройства)',
exportAllGPUs: 'Каждая модель (по отдельности)',
exportOptionsFailed: 'Не удалось загрузить список устройств для: {0}. Обновите страницу и повторите.',
selectMetrics: 'Выберите хотя бы одну метрику для экспорта',
selectTimeRange: 'Выберите диапазон времени для экспорта',
},
terminal: {
showTerminalButton: 'Быстрый доступ к терминалу',
Expand Down
16 changes: 16 additions & 0 deletions frontend/src/lang/modules/tr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2093,6 +2093,22 @@ const message = {
profileGoroutineDesc: 'Her goroutine durumunu ve çağrı yığınını kaydeder, aynı çağrı yollarını gruplar.',
profileMutexDesc: 'Kilit çekişmesi noktalarını bulmak için mutex bekleme süresini ölçer.',
profileBlockDesc: 'Channel, select ve eşzamanlama araçlarındaki engelleme süresini ölçer.',
exportRange: 'Zaman aralığı',
exportMetrics: 'Metrikler',
exportMetricsHelper: 'CPU, bellek ve yük metrikleri tek tabloda birleştirilir.',
exportAllDevices: 'Her aygıt (aygıt başına ayrıntı)',
exportAllInterfaces: 'Her arabirim (arabirim başına ayrıntı)',
exportFormat: 'Biçim',
exportCsvHelper: 'Birden fazla metrik seçildiğinde ayrı CSV dosyaları ZIP arşivinde paketlenir.',
exportJsonHelper: 'Tek bir yapılandırılmış JSON dosyası olarak dışa aktar.',
exportXlsxHelper: 'Her metrik ayrı bir çalışma sayfası olarak dışa aktarılır.',
exportTruncated: 'Excel satır sınırı aşıldı; şu veri kümeleri kırpıldı: {0}',
exportEmptyTables: 'Seçilen aralıkta veri yok: {0}',
exportAggregate: 'Birleşik toplam (tüm aygıtlar)',
exportAllGPUs: 'Her model (model başına ayrıntı)',
exportOptionsFailed: 'Şu metrikler için aygıt listesi yüklenemedi: {0}. Sayfayı yenileyip tekrar deneyin.',
selectMetrics: 'Dışa aktarmak için en az bir metrik seçin',
selectTimeRange: 'Dışa aktarılacak zaman aralığını seçin',
},
terminal: {
showTerminalButton: 'Terminal kısayolu',
Expand Down
Loading