diff --git a/metricbeat/module/kibana/_meta/fields.yml b/metricbeat/module/kibana/_meta/fields.yml index 05a9818f2ae9..52f64ff5f2c2 100644 --- a/metricbeat/module/kibana/_meta/fields.yml +++ b/metricbeat/module/kibana/_meta/fields.yml @@ -45,6 +45,15 @@ - name: process.event_loop_delay type: alias path: kibana.stats.process.event_loop_delay.ms + - name: process.event_loop_utilization.active + type: alias + path: kibana.stats.process.event_loop_utilization.active + - name: process.event_loop_utilization.idle + type: alias + path: kibana.stats.process.event_loop_utilization.idle + - name: process.event_loop_utilization.utilization + type: alias + path: kibana.stats.process.event_loop_utilization.utilization - name: requests.total type: alias path: kibana.stats.request.total diff --git a/metricbeat/module/kibana/stats/_meta/data.json b/metricbeat/module/kibana/stats/_meta/data.json index 46e85773eeb6..9bf1f0d82d14 100644 --- a/metricbeat/module/kibana/stats/_meta/data.json +++ b/metricbeat/module/kibana/stats/_meta/data.json @@ -38,6 +38,11 @@ "event_loop_delay": { "ms": 0.14306800067424774 }, + "event_loop_utilization": { + "active": 629.1224170000005, + "idle": 359.23554199999995, + "utilization": 0.6365329598160299 + }, "memory": { "heap": { "size_limit": { diff --git a/metricbeat/module/kibana/stats/_meta/fields.yml b/metricbeat/module/kibana/stats/_meta/fields.yml index e1035204a251..eda272fe1fb5 100644 --- a/metricbeat/module/kibana/stats/_meta/fields.yml +++ b/metricbeat/module/kibana/stats/_meta/fields.yml @@ -98,6 +98,23 @@ type: scaled_float description: > Event loop delay in milliseconds + - name: event_loop_utilization + type: group + description: > + The ratio of time the event loop is not idling in the event provider to the total time the event loop is running. + fields: + - name: active + type: scaled_float + description: > + Duration of time event loop has been active since last measurement. + - name: idle + type: scaled_float + description: > + Duration of time event loop has been idle since last measurement. + - name: utilization + type: scaled_float + description: > + Computed utilization value representing ratio of active to idle time since last measurement. - name: memory.heap type: group description: > diff --git a/metricbeat/module/kibana/stats/_meta/test/stats.880.json b/metricbeat/module/kibana/stats/_meta/test/stats.880.json new file mode 100644 index 000000000000..7127c8a03738 --- /dev/null +++ b/metricbeat/module/kibana/stats/_meta/test/stats.880.json @@ -0,0 +1,162 @@ +{ + "kibana":{ + "uuid":"5b2de169-2785-441b-ae8c-186a1936b17d", + "name":"Shaunaks-MBP-2", + "index":".kibana", + "host":"localhost", + "transport_address":"localhost:5601", + "version":"7.0.0-alpha1", + "snapshot":false, + "status":"green" + }, + "last_updated":"2018-07-18T00:32:00.948Z", + "collection_interval_ms":5000, + "process":{ + "memory":{ + "heap":{ + "total_bytes":223391744, + "used_bytes":198413592, + "size_limit":1501560832 + }, + "resident_set_size_bytes":347242496 + }, + "event_loop_delay":0.25226891040802, + "event_loop_utilization": { + "active": 629.1224170000005, + "idle": 359.23554199999995, + "utilization": 0.6365329598160299 + }, + "pid":46426, + "uptime_ms":1753889 + }, + "os":{ + "load":{ + "1m":3.50634765625, + "5m":3.76904296875, + "15m":3.54833984375 + }, + "memory":{ + "total_bytes":17179869184, + "free_bytes":31711232, + "used_bytes":17148157952 + }, + "uptime_ms":2187246000 + }, + "elasticsearch_client": { + "protocol": "http", + "connected_nodes": 2, + "nodes_with_active_sockets": 2, + "nodes_with_idle_sockets": 1, + "total_active_sockets": 14, + "total_idle_sockets": 42, + "total_queued_requests": 0, + "most_active_node_sockets": 10, + "average_active_sockets_per_node": 7, + "most_idle_node_sockets": 42, + "average_idle_sockets_per_node": 21 + }, + "response_times":{ + "max_ms":0 + }, + "requests":{ + "total":0, + "disconnects":0, + "status_codes":{ + + } + }, + "concurrent_connections":3, + "usage":{ + "kibana":{ + "index":".kibana", + "dashboard":{ + "total":0 + }, + "visualization":{ + "total":0 + }, + "search":{ + "total":0 + }, + "index_pattern":{ + "total":0 + }, + "graph_workspace":{ + "total":0 + }, + "timelion_sheet":{ + "total":0 + } + }, + "reporting":{ + "available":true, + "enabled":true, + "browser_type":"phantom", + "all":0, + "csv":{ + "available":true, + "total":0 + }, + "printable_pdf":{ + "available":true, + "total":0, + "app":{ + "visualization":0, + "dashboard":0 + }, + "layout":{ + "print":0, + "preserve_layout":0 + } + }, + "status":{ + + }, + "last_day":{ + "all":0, + "csv":{ + "available":true, + "total":0 + }, + "printable_pdf":{ + "available":true, + "total":0, + "app":{ + "visualization":0, + "dashboard":0 + }, + "layout":{ + "print":0, + "preserve_layout":0 + } + }, + "status":{ + + } + }, + "last_7_days":{ + "all":0, + "csv":{ + "available":true, + "total":0 + }, + "printable_pdf":{ + "available":true, + "total":0, + "app":{ + "visualization":0, + "dashboard":0 + }, + "layout":{ + "print":0, + "preserve_layout":0 + } + }, + "status":{ + + } + } + } + }, + "cluster_uuid":"NkfU5AinRnyFnqBD36zhEw" + } diff --git a/metricbeat/module/kibana/stats/data.go b/metricbeat/module/kibana/stats/data.go index 7d7afaf59b85..1675772ae050 100644 --- a/metricbeat/module/kibana/stats/data.go +++ b/metricbeat/module/kibana/stats/data.go @@ -68,6 +68,11 @@ var ( "event_loop_delay": s.Object{ "ms": c.Float("event_loop_delay"), }, + "event_loop_utilization": c.Dict("event_loop_utilization", s.Schema{ + "active": c.Float("active"), + "idle": c.Float("idle"), + "utilization": c.Float("utilization"), + }, c.DictOptional), "memory": c.Dict("memory", s.Schema{ "resident_set_size": s.Object{ "bytes": c.Int("resident_set_size_bytes"),