diff --git a/web/src/components/GlobalHeader/RightContent.js b/web/src/components/GlobalHeader/RightContent.js index 16338c44..d6012a56 100644 --- a/web/src/components/GlobalHeader/RightContent.js +++ b/web/src/components/GlobalHeader/RightContent.js @@ -43,6 +43,35 @@ export default class GlobalHeaderRight extends PureComponent { }); return groupBy(newNotices, "type"); } + onKeyDown = (e) => { + const { keyCode } = e; + if (this.keysPressed["17"] && this.keysPressed["16"] && keyCode == 79) { + this.setState({ + consoleVisible: !this.state.consoleVisible, + }); + return true; + } + this.keysPressed[keyCode] = e.type == "keydown"; + return false; + }; + onKeyUp = (e) => { + const { keyCode } = e; + delete this.keysPressed[keyCode]; + }; + constructor(props) { + super(props); + this.onKeyDown = this.onKeyDown.bind(this); + this.onKeyUp = this.onKeyUp.bind(this); + } + componentDidMount() { + this.keysPressed = {}; + document.addEventListener("keydown", this.onKeyDown, false); + document.addEventListener("keyup", this.onKeyUp, false); + } + componentWillUnmount() { + document.removeEventListener("keydown", this.onKeyDown); + document.removeEventListener("keyup", this.onKeyUp); + } render() { const { @@ -234,7 +263,3 @@ export default class GlobalHeaderRight extends PureComponent { ); } } - -const TopHandle = () => { - return
hello world
; -}; diff --git a/web/src/layouts/Footer.js b/web/src/layouts/Footer.js index e379b4b4..c87858cc 100644 --- a/web/src/layouts/Footer.js +++ b/web/src/layouts/Footer.js @@ -1,19 +1,13 @@ -import React, { Fragment } from 'react'; -import { Layout, Icon } from 'antd'; -import GlobalFooter from '@/components/GlobalFooter'; +import React, { Fragment } from "react"; +import { Layout, Icon } from "antd"; +import GlobalFooter from "@/components/GlobalFooter"; const { Footer } = Layout; const FooterView = () => ( ); diff --git a/web/src/locales/en-US/cluster.js b/web/src/locales/en-US/cluster.js index ea31fe56..0424cf01 100644 --- a/web/src/locales/en-US/cluster.js +++ b/web/src/locales/en-US/cluster.js @@ -82,6 +82,7 @@ export default { "cluster.metrics.node.axis.segment_memory.title": "Segment Memory", "cluster.metrics.node.axis.segment_count.title": "Segment Count", "cluster.metrics.node.axis.docs_count.title": "Document Count", + "cluster.metrics.node.axis.docs_deleted.title": "Document Deleted", "cluster.metrics.node.axis.index_storage.title": "Indices Storage", "cluster.metrics.node.axis.jvm_heap_used_percent.title": "JVM Heap Usage", "cluster.metrics.node.axis.os_cpu.title": "OS CPU Usage", @@ -105,10 +106,36 @@ export default { "cluster.metrics.node.axis.transport_tx_bytes.title": "Transport TX Bytes", "cluster.metrics.node.axis.transport_rx_bytes.title": "Transport RX Bytes", + "cluster.metrics.node.axis.request_cache_hit.title": "Request Cache Hit", + "cluster.metrics.node.axis.request_cache_miss.title": "Reqeust Cache Miss", + "cluster.metrics.node.axis.query_cache_hit.title": "Query Cache Hit", + "cluster.metrics.node.axis.query_cache_miss.title": "Query Cache Miss", + "cluster.metrics.node.axis.query_cache_count.title": "Query Cache Count", + "cluster.metrics.node.axis.query_cache_evictions.title": + "Query Cache Evictions", + "cluster.metrics.node.axis.scroll_rate.title": "Scroll Rate", + "cluster.metrics.node.axis.scroll_latency.title": "Scroll Latency", + "cluster.metrics.node.axis.refresh_rate.title": "Refresh Rate", + "cluster.metrics.node.axis.flush_rate.title": "Flush Rate", + "cluster.metrics.node.axis.merges_rate.title": "Merge Rate", + + "cluster.metrics.node.axis.segment_term_vectors_memory.title": + "Term Vectors Memory", + "cluster.metrics.node.axis.segment_index_writer_memory.title": + "IndexWriter Memory", + "cluster.metrics.node.axis.segment_doc_values_memory.title": + "DocValues Memory", + "cluster.metrics.node.axis.segment_terms_memory.title": "Terms Memory", + "cluster.metrics.node.axis.segment_stored_fields_memory.title": + "Stored Fields Memory", + "cluster.metrics.index.axis.index_storage.title": "Index Storage", - "cluster.metrics.index.axis.doc_count.title": "Document count", + "cluster.metrics.index.axis.doc_count.title": "Document Count", + "cluster.metrics.index.axis.docs_deleted.title": "Document Deleted", "cluster.metrics.index.axis.query_times.title": "Query Requests", "cluster.metrics.index.axis.fetch_times.title": "Fetch Requests", + "cluster.metrics.index.axis.scroll_times.title": "Scroll Requests", + "cluster.metrics.index.axis.flush_times.title": "Flush Requests", "cluster.metrics.index.axis.merge_times.title": "Merge Requests", "cluster.metrics.index.axis.refresh_times.title": "Refresh Requests", "cluster.metrics.index.axis.indexing_rate.title": "Indexing Rate", @@ -117,22 +144,84 @@ export default { "cluster.metrics.index.axis.fetch_latency.title": "Fetch Latency", "cluster.metrics.index.axis.merge_latency.title": "Merge Latency", "cluster.metrics.index.axis.refresh_latency.title": "Refresh Latency", + "cluster.metrics.index.axis.scroll_latency.title": "Scroll Latency", + "cluster.metrics.index.axis.flush_latency.title": "Flush Latency", "cluster.metrics.index.axis.query_cache.title": "Query Cache", "cluster.metrics.index.axis.request_cache.title": "Request Cache", + "cluster.metrics.index.axis.fielddata_cache.title": "Fielddata Cache", "cluster.metrics.index.axis.segment_memory.title": "Segment Memory", "cluster.metrics.index.axis.segment_fields_memory.title": - "Segment Stored Fields Memory", + "Stored Fields Memory", "cluster.metrics.index.axis.segment_doc_values_memory.title": - "Segment Doc Values Memory", - "cluster.metrics.index.axis.segment_terms_memory.title": - "Segment Terms Memory", + "Doc Values Memory", + "cluster.metrics.index.axis.segment_terms_memory.title": "Terms Memory", + "cluster.metrics.index.axis.segment_term_vectors_memory.title": + "Term Vectors Memory", + "cluster.metrics.index.axis.segment_index_writer_memory.title": + "IndexWriter Memory", "cluster.metrics.group.system": "System", "cluster.metrics.group.storage": "Storage", "cluster.metrics.group.latency": "Latency", "cluster.metrics.group.operations": "Operations", "cluster.metrics.group.http": "Http Traffic", - "cluster.metrics.group.memory": "Memory", + "cluster.metrics.group.memory": "Segments Memory", "cluster.metrics.group.cache": "Cache", "cluster.metrics.group.JVM": "JVM", "cluster.metrics.group.transport": "Transport", + "cluster.metrics.group.document": "Document", + + "cluster.metrics.group.thread_pool_get": "Get Thread Pool", + "cluster.metrics.group.thread_pool_search": "Search Thread Pool", + "cluster.metrics.group.thread_pool_write": "Write Thread Pool", + "cluster.metrics.group.thread_pool_flush": "Flush Thread Pool", + "cluster.metrics.group.thread_pool_refresh": "Refresh Thread Pool", + "cluster.metrics.group.thread_pool_force_merge": "Force Merge Thread Pool", + "cluster.metrics.group.thread_pool_index": "Index Thread Pool", + "cluster.metrics.group.thread_pool_bulk": "Bulk Thead Pool", + + "cluster.metrics.threadpool.axis.search_threads.title": "Search Threads", + "cluster.metrics.threadpool.axis.search_queue.title": "Search Queue", + "cluster.metrics.threadpool.axis.search_active.title": "Search Active", + "cluster.metrics.threadpool.axis.search_rejected.title": "Search Rejected", + "cluster.metrics.threadpool.axis.get_threads.title": "Get Threads", + "cluster.metrics.threadpool.axis.get_queue.title": "Get Queue", + "cluster.metrics.threadpool.axis.get_active.title": "Get Active", + "cluster.metrics.threadpool.axis.get_rejected.title": "Get Rejected", + "cluster.metrics.threadpool.axis.flush_threads.title": "Flush Threads", + "cluster.metrics.threadpool.axis.flush_queue.title": "Flush Queue", + "cluster.metrics.threadpool.axis.flush_active.title": "Flush Active", + "cluster.metrics.threadpool.axis.flush_rejected.title": "Flush Rejected", + "cluster.metrics.threadpool.axis.write_threads.title": "Write Threads", + "cluster.metrics.threadpool.axis.write_queue.title": "Write Queue", + "cluster.metrics.threadpool.axis.write_active.title": "Write Active", + "cluster.metrics.threadpool.axis.write_rejected.title": "Write Rejected", + "cluster.metrics.threadpool.axis.refresh_threads.title": "Refresh Threads", + "cluster.metrics.threadpool.axis.refresh_queue.title": "Refresh Queue", + "cluster.metrics.threadpool.axis.refresh_active.title": "Refresh Active", + "cluster.metrics.threadpool.axis.refresh_rejected.title": "Refresh Rejected", + "cluster.metrics.threadpool.axis.force_merge_threads.title": + "Force Merge Threads", + "cluster.metrics.threadpool.axis.force_merge_queue.title": + "Force Merge Queue", + "cluster.metrics.threadpool.axis.force_merge_active.title": + "Force Merge Active", + "cluster.metrics.threadpool.axis.force_merge_rejected.title": + "Force Merge Rejected", + "cluster.metrics.threadpool.axis.index_threads.title": "Index Merge Threads", + "cluster.metrics.threadpool.axis.index_queue.title": "Index Merge Queue", + "cluster.metrics.threadpool.axis.index_active.title": "Index Merge Active", + "cluster.metrics.threadpool.axis.index_rejected.title": + "Index Merge Rejected", + "cluster.metrics.threadpool.axis.bulk_threads.title": "Bulk Merge Threads", + "cluster.metrics.threadpool.axis.bulk_queue.title": "Bulk Merge Queue", + "cluster.metrics.threadpool.axis.bulk_active.title": "Bulk Merge Active", + "cluster.metrics.threadpool.axis.bulk_rejected.title": "Bulk Merge Rejected", + "cluster.metrics.index.axis.request_cache_hit.title": "Request Cache Hit", + "cluster.metrics.index.axis.request_cache_miss.title": "Reqeust Cache Miss", + "cluster.metrics.index.axis.query_cache_hit.title": "Query Cache Hit", + "cluster.metrics.index.axis.query_cache_miss.title": "Query Cache Miss", + "cluster.metrics.index.axis.query_cache_count.title": "Query Cache Count", + "cluster.metrics.index.axis.query_cache_evictions.title": + "Query Cache Evictions", + "cluster.metrics.index.axis.segment_count.title": "Segment Count", }; diff --git a/web/src/locales/zh-CN/cluster.js b/web/src/locales/zh-CN/cluster.js index 7629e63b..93a923ba 100644 --- a/web/src/locales/zh-CN/cluster.js +++ b/web/src/locales/zh-CN/cluster.js @@ -60,79 +60,167 @@ export default { "cluster.monitor.timepicker.lastyear": "最近1年", "cluster.monitor.timepicker.today": "今天", - "cluster.metrics.node.axis.cpu.title": "Process CPU Usage", - "cluster.metrics.node.axis.disk.title": "Disk Available", - "cluster.metrics.node.axis.open_file.title": "Open File", - "cluster.metrics.node.axis.open_file_percent.title": "Open File Percent", - "cluster.metrics.node.axis.indexing_rate.title": "Indexing Rate", - "cluster.metrics.node.axis.query_rate.title": "Query Rate", - "cluster.metrics.node.axis.fetch_rate.title": "Fetch Rate", - "cluster.metrics.node.axis.flush_latency.title": "Flush Latency", - "cluster.metrics.node.axis.indexing_latency.title": "Indexing Latency", - "cluster.metrics.node.axis.query_latency.title": "Query Latency", - "cluster.metrics.node.axis.fetch_latency.title": "Fetch Latency", - "cluster.metrics.node.axis.merge_latency.title": "Merge Latency", - "cluster.metrics.node.axis.refresh_latency.title": "Refresh Latency", - "cluster.metrics.node.axis.flush_latency.title": "Flush Latency", - "cluster.metrics.node.axis.query_cache.title": "Query Cache", - "cluster.metrics.node.axis.request_cache.title": "Request Cache", - "cluster.metrics.node.axis.fielddata_cache.title": "Fielddata Cache", - "cluster.metrics.node.axis.http_connect_num.title": "Http Connections", - "cluster.metrics.node.axis.http_rate.title": "Rate Of Opened Connections", - "cluster.metrics.node.axis.segment_memory.title": "Segment Memory", - "cluster.metrics.node.axis.segment_count.title": "Segment Count", - "cluster.metrics.node.axis.docs_count.title": "Document Count", - "cluster.metrics.node.axis.index_storage.title": "Indices Storage", - "cluster.metrics.node.axis.jvm_heap_used_percent.title": "JVM Heap Usage", - "cluster.metrics.node.axis.os_cpu.title": "OS CPU Usage", - "cluster.metrics.node.axis.os_used_mem.title": "OS Mem Usage", - "cluster.metrics.node.axis.os_used_swap.title": "OS Swap Usage", + "cluster.metrics.node.axis.cpu.title": "进程 CPU 使用率", + "cluster.metrics.node.axis.disk.title": "磁盘可用率", + "cluster.metrics.node.axis.open_file.title": "文件打开数", + "cluster.metrics.node.axis.open_file_percent.title": "文件打开百分比", + "cluster.metrics.node.axis.indexing_rate.title": "Indexing 速率", + "cluster.metrics.node.axis.query_rate.title": "Query 速率", + "cluster.metrics.node.axis.fetch_rate.title": "Fetch 速率", + "cluster.metrics.node.axis.flush_latency.title": "Flush 时延", + "cluster.metrics.node.axis.indexing_latency.title": "Indexing 时延", + "cluster.metrics.node.axis.query_latency.title": "Query 时延", + "cluster.metrics.node.axis.fetch_latency.title": "Fetch 时延", + "cluster.metrics.node.axis.merge_latency.title": "Merge 时延", + "cluster.metrics.node.axis.refresh_latency.title": "Refresh 时延", + "cluster.metrics.node.axis.flush_latency.title": "Flush 时延", + "cluster.metrics.node.axis.query_cache.title": "Query 缓存", + "cluster.metrics.node.axis.request_cache.title": "Request 缓存", + "cluster.metrics.node.axis.fielddata_cache.title": "Fielddata 缓存", + "cluster.metrics.node.axis.http_connect_num.title": "Http 连接数", + "cluster.metrics.node.axis.http_rate.title": "Http 打开连接速率", + "cluster.metrics.node.axis.segment_memory.title": "Segment 内存", + "cluster.metrics.node.axis.segment_count.title": "Segment 数", + "cluster.metrics.node.axis.docs_count.title": "文档数", + "cluster.metrics.node.axis.docs_deleted.title": "文档删除数", + "cluster.metrics.node.axis.index_storage.title": "索引存储大小", + "cluster.metrics.node.axis.jvm_heap_used_percent.title": "JVM 堆使用率", + "cluster.metrics.node.axis.os_cpu.title": "系统 CPU 使用率", + "cluster.metrics.node.axis.os_used_mem.title": "系统内存使用率", + "cluster.metrics.node.axis.os_used_swap.title": "系统 Swap 使用率", "cluster.metrics.node.axis.indexing_pressure_memory.title": "Indexing Pressure", - "cluster.metrics.node.axis.jvm_used_heap.title": "JVM Used Heap", - "cluster.metrics.node.axis.jvm_young_gc_rate.title": "Young GC Rate", - "cluster.metrics.node.axis.jvm_young_gc_latency.title": "Young GC Latency", + "cluster.metrics.node.axis.jvm_used_heap.title": "JVM 堆使用大小", + "cluster.metrics.node.axis.jvm_young_gc_rate.title": "Young GC 速率", + "cluster.metrics.node.axis.jvm_young_gc_latency.title": "Young GC 时延", "cluster.metrics.node.axis.jvm_mem_young_used.title": "Pools Young Used", "cluster.metrics.node.axis.jvm_mem_young_peak_used.title": "Pools Young Peak Used", - "cluster.metrics.node.axis.jvm_old_gc_rate.title": "Old GC Rate", - "cluster.metrics.node.axis.jvm_old_gc_latency.title": "Old GC Latency", + "cluster.metrics.node.axis.jvm_old_gc_rate.title": "Old GC 速率", + "cluster.metrics.node.axis.jvm_old_gc_latency.title": "Old GC 时延", "cluster.metrics.node.axis.jvm_mem_old_used.title": "Pools Old Used", "cluster.metrics.node.axis.jvm_mem_old_peak_used.title": "Pools Old Peak Used", - "cluster.metrics.node.axis.transport_tx_rate.title": "Transport TX Rate", - "cluster.metrics.node.axis.transport_rx_rate.title": "Transport RX Rate", - "cluster.metrics.node.axis.transport_tx_bytes.title": "Transport TX Bytes", - "cluster.metrics.node.axis.transport_rx_bytes.title": "Transport RX Bytes", + "cluster.metrics.node.axis.transport_tx_rate.title": "Transport 发送速率", + "cluster.metrics.node.axis.transport_rx_rate.title": "Transport 接收速率", + "cluster.metrics.node.axis.transport_tx_bytes.title": "Transport 发送字节", + "cluster.metrics.node.axis.transport_rx_bytes.title": "Transport 接收字节", - "cluster.metrics.index.axis.index_storage.title": "Index Storage", - "cluster.metrics.index.axis.doc_count.title": "Document count", - "cluster.metrics.index.axis.query_times.title": "Query Requests", - "cluster.metrics.index.axis.fetch_times.title": "Fetch Requests", - "cluster.metrics.index.axis.merge_times.title": "Merge Requests", - "cluster.metrics.index.axis.refresh_times.title": "Refresh Requests", - "cluster.metrics.index.axis.indexing_rate.title": "Indexing Rate", - "cluster.metrics.index.axis.indexing_latency.title": "Indexing Latency", - "cluster.metrics.index.axis.query_latency.title": "Query Latency", - "cluster.metrics.index.axis.fetch_latency.title": "Fetch Latency", - "cluster.metrics.index.axis.merge_latency.title": "Merge Latency", - "cluster.metrics.index.axis.refresh_latency.title": "Refresh Latency", - "cluster.metrics.index.axis.query_cache.title": "Query Cache", - "cluster.metrics.index.axis.request_cache.title": "Request Cache", - "cluster.metrics.index.axis.segment_memory.title": "Segment Memory", + "cluster.metrics.node.axis.request_cache_hit.title": "请求缓存命中次数", + "cluster.metrics.node.axis.request_cache_miss.title": "请求缓存未命中次数", + "cluster.metrics.node.axis.query_cache_hit.title": "查询缓存命中次数", + "cluster.metrics.node.axis.query_cache_miss.title": "查询缓存未命中次数", + "cluster.metrics.node.axis.query_cache_count.title": "查询缓存次数", + "cluster.metrics.node.axis.query_cache_evictions.title": "查询缓存 Evictions", + "cluster.metrics.node.axis.scroll_rate.title": "Scroll 速率", + "cluster.metrics.node.axis.scroll_latency.title": "Scroll 时延", + "cluster.metrics.node.axis.refresh_rate.title": "Refresh 速率", + "cluster.metrics.node.axis.flush_rate.title": "Flush 速率", + "cluster.metrics.node.axis.merges_rate.title": "Merge 速率", + + "cluster.metrics.node.axis.segment_term_vectors_memory.title": + "Term Vectors 内存", + "cluster.metrics.node.axis.segment_index_writer_memory.title": + "IndexWriter 内存", + "cluster.metrics.node.axis.segment_doc_values_memory.title": "DocValues 内存", + "cluster.metrics.node.axis.segment_terms_memory.title": "Terms 内存", + "cluster.metrics.node.axis.segment_stored_fields_memory.title": + "Stored Fields 内存", + + "cluster.metrics.index.axis.index_storage.title": "索引存储大小", + "cluster.metrics.index.axis.doc_count.title": "文档数", + "cluster.metrics.index.axis.docs_deleted.title": "文档删除数", + "cluster.metrics.index.axis.query_times.title": "Query 请求次数", + "cluster.metrics.index.axis.fetch_times.title": "Fetch 请求次数", + "cluster.metrics.index.axis.scroll_times.title": "Scroll 请求次数", + "cluster.metrics.index.axis.flush_times.title": "Flush 请求次数", + "cluster.metrics.index.axis.merge_times.title": "Merge 请求次数", + "cluster.metrics.index.axis.refresh_times.title": "Refresh 请求次数", + "cluster.metrics.index.axis.indexing_rate.title": "Indexing 速率", + "cluster.metrics.index.axis.indexing_latency.title": "Indexing 时延", + "cluster.metrics.index.axis.query_latency.title": "Query 时延", + "cluster.metrics.index.axis.fetch_latency.title": "Fetch 时延", + "cluster.metrics.index.axis.merge_latency.title": "Merge 时延", + "cluster.metrics.index.axis.refresh_latency.title": "Refresh 时延", + "cluster.metrics.index.axis.scroll_latency.title": "Scroll 时延", + "cluster.metrics.index.axis.flush_latency.title": "Flush 时延", + "cluster.metrics.index.axis.query_cache.title": "Query 缓存", + "cluster.metrics.index.axis.request_cache.title": "Request 缓存", + "cluster.metrics.index.axis.fielddata_cache.title": "Fielddata 缓存", + "cluster.metrics.index.axis.segment_memory.title": "Segment 内存", "cluster.metrics.index.axis.segment_fields_memory.title": - "Segment Stored Fields Memory", + "Stored Fields 内存", "cluster.metrics.index.axis.segment_doc_values_memory.title": - "Segment Doc Values Memory", - "cluster.metrics.index.axis.segment_terms_memory.title": - "Segment Terms Memory", - "cluster.metrics.group.system": "System", - "cluster.metrics.group.storage": "Storage", - "cluster.metrics.group.latency": "Latency", - "cluster.metrics.group.operations": "Operations", + "Doc Values 内存", + "cluster.metrics.index.axis.segment_terms_memory.title": "Terms 内存", + "cluster.metrics.index.axis.segment_term_vectors_memory.title": + "Term Vectors 内存", + "cluster.metrics.index.axis.segment_index_writer_memory.title": + "IndexWriter 内存", + "cluster.metrics.group.system": "系统指标", + "cluster.metrics.group.storage": "存储指标", + "cluster.metrics.group.latency": "时延指标", + "cluster.metrics.group.operations": "操作指标", "cluster.metrics.group.http": "Http Traffic", - "cluster.metrics.group.memory": "Memory", - "cluster.metrics.group.cache": "Cache", - "cluster.metrics.group.JVM": "JVM", - "cluster.metrics.group.transport": "Transport", + "cluster.metrics.group.memory": "Segments 内存指标", + "cluster.metrics.group.cache": "缓存指标", + "cluster.metrics.group.JVM": "JVM 指标", + "cluster.metrics.group.transport": "Transport 指标", + "cluster.metrics.group.document": "Document 指标", + + "cluster.metrics.group.thread_pool_get": "Get 线程池", + "cluster.metrics.group.thread_pool_search": "Search 线程池", + "cluster.metrics.group.thread_pool_write": "Write 线程池", + "cluster.metrics.group.thread_pool_flush": "Flush 线程池", + "cluster.metrics.group.thread_pool_refresh": "Refresh 线程池", + "cluster.metrics.group.thread_pool_force_merge": "Force Merge 线程池", + // 2.x, 5.x + "cluster.metrics.group.thread_pool_index": "Index 线程池", + "cluster.metrics.group.thread_pool_bulk": "Bulk 线程池", + + "cluster.metrics.threadpool.axis.search_threads.title": "Search Threads", + "cluster.metrics.threadpool.axis.search_queue.title": "Search Queue", + "cluster.metrics.threadpool.axis.search_active.title": "Search Active", + "cluster.metrics.threadpool.axis.search_rejected.title": "Search Rejected", + "cluster.metrics.threadpool.axis.get_threads.title": "Get Threads", + "cluster.metrics.threadpool.axis.get_queue.title": "Get Queue", + "cluster.metrics.threadpool.axis.get_active.title": "Get Active", + "cluster.metrics.threadpool.axis.get_rejected.title": "Get Rejected", + "cluster.metrics.threadpool.axis.flush_threads.title": "Flush Threads", + "cluster.metrics.threadpool.axis.flush_queue.title": "Flush Queue", + "cluster.metrics.threadpool.axis.flush_active.title": "Flush Active", + "cluster.metrics.threadpool.axis.flush_rejected.title": "Flush Rejected", + "cluster.metrics.threadpool.axis.write_threads.title": "Write Threads", + "cluster.metrics.threadpool.axis.write_queue.title": "Write Queue", + "cluster.metrics.threadpool.axis.write_active.title": "Write Active", + "cluster.metrics.threadpool.axis.write_rejected.title": "Write Rejected", + "cluster.metrics.threadpool.axis.refresh_threads.title": "Refresh Threads", + "cluster.metrics.threadpool.axis.refresh_queue.title": "Refresh Queue", + "cluster.metrics.threadpool.axis.refresh_active.title": "Refresh Active", + "cluster.metrics.threadpool.axis.refresh_rejected.title": "Refresh Rejected", + "cluster.metrics.threadpool.axis.force_merge_threads.title": + "Force Merge Threads", + "cluster.metrics.threadpool.axis.force_merge_queue.title": + "Force Merge Queue", + "cluster.metrics.threadpool.axis.force_merge_active.title": + "Force Merge Active", + "cluster.metrics.threadpool.axis.force_merge_rejected.title": + "Force Merge Rejected", + "cluster.metrics.threadpool.axis.index_threads.title": "Index Merge Threads", + "cluster.metrics.threadpool.axis.index_queue.title": "Index Merge Queue", + "cluster.metrics.threadpool.axis.index_active.title": "Index Merge Active", + "cluster.metrics.threadpool.axis.index_rejected.title": + "Index Merge Rejected", + "cluster.metrics.threadpool.axis.bulk_threads.title": "Bulk Merge Threads", + "cluster.metrics.threadpool.axis.bulk_queue.title": "Bulk Merge Queue", + "cluster.metrics.threadpool.axis.bulk_active.title": "Bulk Merge Active", + "cluster.metrics.threadpool.axis.bulk_rejected.title": "Bulk Merge Rejected", + "cluster.metrics.index.axis.request_cache_hit.title": "请求缓存命中次数", + "cluster.metrics.index.axis.request_cache_miss.title": "请求缓存未命中次数", + "cluster.metrics.index.axis.query_cache_hit.title": "查询缓存命中次数", + "cluster.metrics.index.axis.query_cache_miss.title": "查询缓存未命中次数", + "cluster.metrics.index.axis.query_cache_count.title": "查询缓存次数", + "cluster.metrics.index.axis.query_cache_evictions.title": + "查询缓存 Evictions", + "cluster.metrics.index.axis.segment_count.title": "Segment 数", }; diff --git a/web/src/pages/Cluster/Metrics.js b/web/src/pages/Cluster/Metrics.js index 595a4ca4..b3ea5950 100644 --- a/web/src/pages/Cluster/Metrics.js +++ b/web/src/pages/Cluster/Metrics.js @@ -364,6 +364,7 @@ class ClusterMonitor extends PureComponent { max_jvm_bytes: formatter.bytes(rawStats.max_jvm_bytes), document_count: formatter.number(rawStats.document_count), uptime: moment.duration(rawStats.uptime).humanize(), + timestamp: moment(rawStats.timestamp).toLocaleString(), }; } @@ -469,7 +470,12 @@ class ClusterMonitor extends PureComponent {
{!clusterAvailable ? ( -
Cluster is not availabe.
+
+
Cluster is not availabe.
+
+ Last data collection time: {clusterStats?.timestamp} +
+
) : null} - {/* - */} +
diff --git a/web/src/pages/Cluster/Metrics.less b/web/src/pages/Cluster/Metrics.less index 3f0491ec..ae357410 100644 --- a/web/src/pages/Cluster/Metrics.less +++ b/web/src/pages/Cluster/Metrics.less @@ -31,6 +31,10 @@ color: red; font-size: 20px; z-index: 1; + flex-direction: column; + .time { + color: #666; + } } .metricMask { filter: blur(4px); diff --git a/web/src/pages/Cluster/components/cluster_metric.jsx b/web/src/pages/Cluster/components/cluster_metric.jsx index c399012e..240e7ebd 100644 --- a/web/src/pages/Cluster/components/cluster_metric.jsx +++ b/web/src/pages/Cluster/components/cluster_metric.jsx @@ -23,6 +23,9 @@ import { formatMessage } from "umi/locale"; import _ from "lodash"; export default ({ clusterID, timezone, timeRange, handleTimeChange }) => { + if (!clusterID) { + return null; + } const queryParams = React.useMemo(() => { const bounds = calculateBounds({ from: timeRange.min, diff --git a/web/src/pages/Cluster/components/index_metric.jsx b/web/src/pages/Cluster/components/index_metric.jsx index 00acedd2..a4533966 100644 --- a/web/src/pages/Cluster/components/index_metric.jsx +++ b/web/src/pages/Cluster/components/index_metric.jsx @@ -22,8 +22,18 @@ import { formatMessage } from "umi/locale"; import MetricContainer from "./metric_container"; import _ from "lodash"; -const gorupOrder = ["storage", "operations", "latency", "memory", "cache"]; +const gorupOrder = [ + "storage", + "document", + "operations", + "latency", + "memory", + "cache", +]; export default ({ clusterID, timezone, timeRange, handleTimeChange }) => { + if (!clusterID) { + return null; + } const [filter, setFilter] = React.useState({ top: "5", index_name: undefined, @@ -145,6 +155,9 @@ export default ({ clusterID, timezone, timeRange, handleTimeChange }) => {
{gorupOrder.map((e, i) => { + if (!metrics[e]) { + return null; + } return (
{ + if (!clusterID) { + return null; + } const [filter, setFilter] = React.useState({ top: "5", node_name: undefined, @@ -159,6 +171,9 @@ export default ({ clusterID, timezone, timeRange, handleTimeChange }) => { {//Object.keys(metrics) gorupOrder.map((e, i) => { + if (!metrics[e]) { + return null; + } return (
{ groupId={item.group} title={formatMessage({ id: - "cluster.metrics.node.axis." + + "cluster.metrics.threadpool.axis." + metric.key + ".title", })}