diff --git a/curvefs/monitor/grafana/provisioning/dashboards/client.json b/curvefs/monitor/grafana/provisioning/dashboards/client.json index 2bdfcddad8..5303f00661 100644 --- a/curvefs/monitor/grafana/provisioning/dashboards/client.json +++ b/curvefs/monitor/grafana/provisioning/dashboards/client.json @@ -37,6 +37,620 @@ "x": 0, "y": 0 }, + "id": 236, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "fuse s3 client FuseOpRead latency", + "fieldConfig": { + "defaults": { + "unit": "µs" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 237, + "interval": "1s", + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "10.1.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "exemplar": true, + "expr": "{__name__=~\"curvefs_client_[[fs:regex]]_user_read_lat_[[quantile:regex]]\", instance=~\"$instance\"}", + "hide": false, + "interval": "", + "legendFormat": "", + "range": true, + "refId": "B" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "read latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:212", + "format": "µs", + "logBase": 1, + "show": true + }, + { + "$$hashKey": "object:213", + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "fuse s3 client FuseOpWrite latency", + "fieldConfig": { + "defaults": { + "unit": "µs" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 + }, + "hiddenSeries": false, + "id": 238, + "interval": "1s", + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "10.1.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "exemplar": true, + "expr": "{__name__=~\"curvefs_client_[[fs:regex]]_user_write_lat_[[quantile:regex]]\", instance=~\"$instance\"}", + "hide": false, + "interval": "", + "legendFormat": "", + "range": true, + "refId": "B" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "write latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:212", + "format": "µs", + "logBase": 1, + "show": true + }, + { + "$$hashKey": "object:213", + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "fuse s3 client FuseOpRead read attr latency", + "fieldConfig": { + "defaults": { + "unit": "µs" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 9 + }, + "hiddenSeries": false, + "id": 239, + "interval": "1s", + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "10.1.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "exemplar": true, + "expr": "{__name__=~\"curvefs_fuse_s3_client_[[fs:regex]]_read_attr_[[quantile:regex]]\", instance=~\"$instance\"}", + "hide": false, + "interval": "", + "legendFormat": "", + "range": true, + "refId": "B" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "read attr latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:212", + "format": "µs", + "logBase": 1, + "show": true + }, + { + "$$hashKey": "object:213", + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "fuse s3 client FuseOpRead write attr latency", + "fieldConfig": { + "defaults": { + "unit": "µs" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 9 + }, + "hiddenSeries": false, + "id": 240, + "interval": "1s", + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "10.1.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "exemplar": true, + "expr": "{__name__=~\"curvefs_fuse_s3_client_[[fs:regex]]_write_attr_[[quantile:regex]]\", instance=~\"$instance\"}", + "hide": false, + "interval": "", + "legendFormat": "", + "range": true, + "refId": "B" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "write attr latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:212", + "format": "µs", + "logBase": 1, + "show": true + }, + { + "$$hashKey": "object:213", + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "fuse s3 client FuseOpRead read data latency", + "fieldConfig": { + "defaults": { + "unit": "µs" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 17 + }, + "hiddenSeries": false, + "id": 241, + "interval": "1s", + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "10.1.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "exemplar": true, + "expr": "{__name__=~\"curvefs_fuse_s3_client_[[fs:regex]]_read_data_[[quantile:regex]]\", instance=~\"$instance\"}", + "hide": false, + "interval": "", + "legendFormat": "", + "range": true, + "refId": "B" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "read data latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:212", + "format": "µs", + "logBase": 1, + "show": true + }, + { + "$$hashKey": "object:213", + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "fuse s3 client FuseOpRead write data latency", + "fieldConfig": { + "defaults": { + "unit": "µs" + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 17 + }, + "hiddenSeries": false, + "id": 242, + "interval": "1s", + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "10.1.4", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "exemplar": true, + "expr": "{__name__=~\"curvefs_fuse_s3_client_[[fs:regex]]_write_data_[[quantile:regex]]\", instance=~\"$instance\"}", + "hide": false, + "interval": "", + "legendFormat": "", + "range": true, + "refId": "B" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "write data latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:212", + "format": "µs", + "logBase": 1, + "show": true + }, + { + "$$hashKey": "object:213", + "format": "short", + "logBase": 1, + "show": true + } + ], + "yaxis": { + "align": false + } + } + ], + "title": "fuse s3 client", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 1 + }, "id": 208, "panels": [ { @@ -60,7 +674,7 @@ "h": 8, "w": 12, "x": 0, - "y": 25 + "y": 41 }, "hiddenSeries": false, "id": 116, @@ -156,7 +770,7 @@ "h": 8, "w": 12, "x": 12, - "y": 25 + "y": 41 }, "hiddenSeries": false, "id": 117, @@ -252,7 +866,7 @@ "h": 8, "w": 12, "x": 0, - "y": 33 + "y": 49 }, "hiddenSeries": false, "id": 118, @@ -348,7 +962,7 @@ "h": 8, "w": 12, "x": 12, - "y": 33 + "y": 49 }, "hiddenSeries": false, "id": 119, @@ -433,7 +1047,7 @@ "h": 1, "w": 24, "x": 0, - "y": 1 + "y": 2 }, "id": 201, "panels": [ @@ -458,7 +1072,7 @@ "h": 8, "w": 12, "x": 0, - "y": 2 + "y": 18 }, "hiddenSeries": false, "id": 202, @@ -556,7 +1170,7 @@ "h": 8, "w": 12, "x": 12, - "y": 2 + "y": 18 }, "hiddenSeries": false, "id": 203, @@ -654,7 +1268,7 @@ "h": 8, "w": 12, "x": 0, - "y": 10 + "y": 26 }, "hiddenSeries": false, "id": 204, @@ -752,7 +1366,7 @@ "h": 8, "w": 12, "x": 12, - "y": 10 + "y": 26 }, "hiddenSeries": false, "id": 205, @@ -850,7 +1464,7 @@ "h": 8, "w": 12, "x": 0, - "y": 18 + "y": 34 }, "hiddenSeries": false, "id": 206, @@ -949,7 +1563,7 @@ "h": 8, "w": 12, "x": 12, - "y": 18 + "y": 34 }, "hiddenSeries": false, "id": 207, @@ -1037,7 +1651,7 @@ "h": 1, "w": 24, "x": 0, - "y": 2 + "y": 3 }, "id": 194, "panels": [ @@ -1062,7 +1676,7 @@ "h": 8, "w": 12, "x": 0, - "y": 3 + "y": 19 }, "hiddenSeries": false, "id": 195, @@ -1160,7 +1774,7 @@ "h": 8, "w": 12, "x": 12, - "y": 3 + "y": 19 }, "hiddenSeries": false, "id": 196, @@ -1258,7 +1872,7 @@ "h": 8, "w": 12, "x": 0, - "y": 11 + "y": 27 }, "hiddenSeries": false, "id": 197, @@ -1356,7 +1970,7 @@ "h": 8, "w": 12, "x": 12, - "y": 11 + "y": 27 }, "hiddenSeries": false, "id": 198, @@ -1454,7 +2068,7 @@ "h": 8, "w": 12, "x": 0, - "y": 19 + "y": 35 }, "hiddenSeries": false, "id": 199, @@ -1553,7 +2167,7 @@ "h": 8, "w": 12, "x": 12, - "y": 19 + "y": 35 }, "hiddenSeries": false, "id": 200, @@ -1641,7 +2255,7 @@ "h": 1, "w": 24, "x": 0, - "y": 3 + "y": 4 }, "id": 187, "panels": [ @@ -1666,7 +2280,7 @@ "h": 8, "w": 12, "x": 0, - "y": 4 + "y": 20 }, "hiddenSeries": false, "id": 188, @@ -1764,7 +2378,7 @@ "h": 8, "w": 12, "x": 12, - "y": 4 + "y": 20 }, "hiddenSeries": false, "id": 189, @@ -1862,7 +2476,7 @@ "h": 8, "w": 12, "x": 0, - "y": 12 + "y": 28 }, "hiddenSeries": false, "id": 190, @@ -1960,7 +2574,7 @@ "h": 8, "w": 12, "x": 12, - "y": 12 + "y": 28 }, "hiddenSeries": false, "id": 191, @@ -2058,7 +2672,7 @@ "h": 8, "w": 12, "x": 0, - "y": 20 + "y": 36 }, "hiddenSeries": false, "id": 192, @@ -2157,7 +2771,7 @@ "h": 8, "w": 12, "x": 12, - "y": 20 + "y": 36 }, "hiddenSeries": false, "id": 193, @@ -2249,7 +2863,7 @@ "h": 1, "w": 24, "x": 0, - "y": 4 + "y": 5 }, "id": 6, "panels": [ @@ -2268,7 +2882,7 @@ "h": 8, "w": 12, "x": 0, - "y": 193 + "y": 209 }, "hiddenSeries": false, "id": 4, @@ -2382,7 +2996,7 @@ "h": 8, "w": 12, "x": 12, - "y": 193 + "y": 209 }, "hiddenSeries": false, "id": 2, @@ -2505,7 +3119,7 @@ "h": 1, "w": 24, "x": 0, - "y": 5 + "y": 6 }, "id": 85, "panels": [ @@ -2530,7 +3144,7 @@ "h": 8, "w": 12, "x": 0, - "y": 7 + "y": 15 }, "hiddenSeries": false, "id": 107, @@ -2624,7 +3238,7 @@ "h": 8, "w": 12, "x": 12, - "y": 7 + "y": 15 }, "hiddenSeries": false, "id": 108, @@ -2718,7 +3332,7 @@ "h": 8, "w": 12, "x": 0, - "y": 15 + "y": 23 }, "hiddenSeries": false, "id": 87, @@ -2812,7 +3426,7 @@ "h": 8, "w": 12, "x": 12, - "y": 15 + "y": 23 }, "hiddenSeries": false, "id": 91, @@ -2906,7 +3520,7 @@ "h": 8, "w": 12, "x": 0, - "y": 23 + "y": 31 }, "hiddenSeries": false, "id": 88, @@ -3000,7 +3614,7 @@ "h": 8, "w": 12, "x": 12, - "y": 23 + "y": 31 }, "hiddenSeries": false, "id": 92, @@ -3094,7 +3708,7 @@ "h": 8, "w": 12, "x": 0, - "y": 31 + "y": 39 }, "hiddenSeries": false, "id": 89, @@ -3188,7 +3802,7 @@ "h": 8, "w": 12, "x": 12, - "y": 31 + "y": 39 }, "hiddenSeries": false, "id": 90, @@ -3282,7 +3896,7 @@ "h": 8, "w": 12, "x": 0, - "y": 39 + "y": 47 }, "hiddenSeries": false, "id": 93, @@ -3376,7 +3990,7 @@ "h": 8, "w": 12, "x": 12, - "y": 39 + "y": 47 }, "hiddenSeries": false, "id": 94, @@ -3470,7 +4084,7 @@ "h": 8, "w": 12, "x": 0, - "y": 47 + "y": 55 }, "hiddenSeries": false, "id": 99, @@ -3564,7 +4178,7 @@ "h": 8, "w": 12, "x": 12, - "y": 47 + "y": 55 }, "hiddenSeries": false, "id": 100, @@ -3658,7 +4272,7 @@ "h": 8, "w": 12, "x": 0, - "y": 55 + "y": 63 }, "hiddenSeries": false, "id": 95, @@ -3752,7 +4366,7 @@ "h": 8, "w": 12, "x": 12, - "y": 55 + "y": 63 }, "hiddenSeries": false, "id": 96, @@ -3846,7 +4460,7 @@ "h": 8, "w": 12, "x": 0, - "y": 63 + "y": 71 }, "hiddenSeries": false, "id": 97, @@ -3940,7 +4554,7 @@ "h": 8, "w": 12, "x": 12, - "y": 63 + "y": 71 }, "hiddenSeries": false, "id": 98, @@ -4034,7 +4648,7 @@ "h": 8, "w": 12, "x": 0, - "y": 71 + "y": 79 }, "hiddenSeries": false, "id": 101, @@ -4128,7 +4742,7 @@ "h": 8, "w": 12, "x": 12, - "y": 71 + "y": 79 }, "hiddenSeries": false, "id": 102, @@ -4222,7 +4836,7 @@ "h": 8, "w": 12, "x": 0, - "y": 79 + "y": 87 }, "hiddenSeries": false, "id": 103, @@ -4316,7 +4930,7 @@ "h": 8, "w": 12, "x": 12, - "y": 79 + "y": 87 }, "hiddenSeries": false, "id": 104, @@ -4410,7 +5024,7 @@ "h": 8, "w": 12, "x": 0, - "y": 87 + "y": 95 }, "hiddenSeries": false, "id": 105, @@ -4504,7 +5118,7 @@ "h": 8, "w": 12, "x": 12, - "y": 87 + "y": 95 }, "hiddenSeries": false, "id": 106, @@ -4598,7 +5212,7 @@ "h": 8, "w": 12, "x": 0, - "y": 95 + "y": 103 }, "hiddenSeries": false, "id": 109, @@ -4694,7 +5308,7 @@ "h": 1, "w": 24, "x": 0, - "y": 6 + "y": 7 }, "id": 176, "panels": [ @@ -4719,7 +5333,7 @@ "h": 8, "w": 24, "x": 0, - "y": 235 + "y": 251 }, "hiddenSeries": false, "id": 177, @@ -4815,7 +5429,7 @@ "h": 1, "w": 24, "x": 0, - "y": 7 + "y": 8 }, "id": 47, "panels": [ @@ -4840,7 +5454,7 @@ "h": 8, "w": 12, "x": 0, - "y": 196 + "y": 17 }, "hiddenSeries": false, "id": 48, @@ -4862,7 +5476,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -4936,7 +5550,7 @@ "h": 8, "w": 12, "x": 12, - "y": 196 + "y": 17 }, "hiddenSeries": false, "id": 49, @@ -4958,7 +5572,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -5032,7 +5646,7 @@ "h": 8, "w": 12, "x": 0, - "y": 204 + "y": 25 }, "hiddenSeries": false, "id": 50, @@ -5054,7 +5668,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -5128,7 +5742,7 @@ "h": 8, "w": 12, "x": 12, - "y": 204 + "y": 25 }, "hiddenSeries": false, "id": 51, @@ -5150,7 +5764,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -5224,7 +5838,7 @@ "h": 8, "w": 12, "x": 0, - "y": 212 + "y": 33 }, "hiddenSeries": false, "id": 52, @@ -5246,7 +5860,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -5314,7 +5928,7 @@ "h": 8, "w": 12, "x": 12, - "y": 212 + "y": 33 }, "hiddenSeries": false, "id": 53, @@ -5336,7 +5950,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -5410,7 +6024,7 @@ "h": 8, "w": 12, "x": 0, - "y": 220 + "y": 41 }, "hiddenSeries": false, "id": 54, @@ -5432,7 +6046,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -5506,7 +6120,7 @@ "h": 8, "w": 12, "x": 12, - "y": 220 + "y": 41 }, "hiddenSeries": false, "id": 43, @@ -5528,7 +6142,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -5602,7 +6216,7 @@ "h": 8, "w": 12, "x": 0, - "y": 228 + "y": 49 }, "hiddenSeries": false, "id": 56, @@ -5624,7 +6238,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -5698,7 +6312,7 @@ "h": 8, "w": 12, "x": 12, - "y": 228 + "y": 49 }, "hiddenSeries": false, "id": 57, @@ -5720,7 +6334,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -5794,7 +6408,7 @@ "h": 8, "w": 12, "x": 0, - "y": 236 + "y": 57 }, "hiddenSeries": false, "id": 58, @@ -5816,7 +6430,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -5891,7 +6505,7 @@ "h": 8, "w": 12, "x": 12, - "y": 236 + "y": 57 }, "hiddenSeries": false, "id": 59, @@ -5913,7 +6527,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "10.0.3", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -5990,7 +6604,7 @@ "h": 1, "w": 24, "x": 0, - "y": 8 + "y": 9 }, "id": 8, "panels": [ @@ -6015,7 +6629,7 @@ "h": 8, "w": 12, "x": 0, - "y": 41 + "y": 57 }, "hiddenSeries": false, "id": 10, @@ -6111,7 +6725,7 @@ "h": 8, "w": 12, "x": 12, - "y": 41 + "y": 57 }, "hiddenSeries": false, "id": 11, @@ -6207,7 +6821,7 @@ "h": 8, "w": 12, "x": 0, - "y": 49 + "y": 65 }, "hiddenSeries": false, "id": 12, @@ -6303,7 +6917,7 @@ "h": 8, "w": 12, "x": 12, - "y": 49 + "y": 65 }, "hiddenSeries": false, "id": 13, @@ -6399,7 +7013,7 @@ "h": 8, "w": 12, "x": 0, - "y": 57 + "y": 73 }, "hiddenSeries": false, "id": 14, @@ -6489,7 +7103,7 @@ "h": 8, "w": 12, "x": 12, - "y": 57 + "y": 73 }, "hiddenSeries": false, "id": 15, @@ -6585,7 +7199,7 @@ "h": 8, "w": 12, "x": 0, - "y": 65 + "y": 81 }, "hiddenSeries": false, "id": 42, @@ -6681,7 +7295,7 @@ "h": 8, "w": 12, "x": 12, - "y": 65 + "y": 81 }, "hiddenSeries": false, "id": 55, @@ -6777,7 +7391,7 @@ "h": 8, "w": 12, "x": 0, - "y": 73 + "y": 89 }, "hiddenSeries": false, "id": 60, @@ -6873,7 +7487,7 @@ "h": 8, "w": 12, "x": 12, - "y": 73 + "y": 89 }, "hiddenSeries": false, "id": 61, @@ -6969,7 +7583,7 @@ "h": 8, "w": 12, "x": 0, - "y": 81 + "y": 97 }, "hiddenSeries": false, "id": 26, @@ -7066,7 +7680,7 @@ "h": 8, "w": 12, "x": 12, - "y": 81 + "y": 97 }, "hiddenSeries": false, "id": 27, @@ -7165,7 +7779,7 @@ "h": 1, "w": 24, "x": 0, - "y": 9 + "y": 10 }, "id": 72, "panels": [ @@ -7190,7 +7804,7 @@ "h": 8, "w": 12, "x": 0, - "y": 238 + "y": 254 }, "hiddenSeries": false, "id": 73, @@ -7286,7 +7900,7 @@ "h": 8, "w": 12, "x": 12, - "y": 238 + "y": 254 }, "hiddenSeries": false, "id": 74, @@ -7382,7 +7996,7 @@ "h": 8, "w": 12, "x": 0, - "y": 246 + "y": 262 }, "hiddenSeries": false, "id": 75, @@ -7478,7 +8092,7 @@ "h": 8, "w": 12, "x": 12, - "y": 246 + "y": 262 }, "hiddenSeries": false, "id": 76, @@ -7574,7 +8188,7 @@ "h": 8, "w": 12, "x": 0, - "y": 254 + "y": 270 }, "hiddenSeries": false, "id": 77, @@ -7671,7 +8285,7 @@ "h": 8, "w": 12, "x": 12, - "y": 254 + "y": 270 }, "hiddenSeries": false, "id": 78, @@ -7770,7 +8384,7 @@ "h": 1, "w": 24, "x": 0, - "y": 10 + "y": 11 }, "id": 69, "panels": [ @@ -7795,7 +8409,7 @@ "h": 8, "w": 12, "x": 0, - "y": 97 + "y": 113 }, "hiddenSeries": false, "id": 62, @@ -7891,7 +8505,7 @@ "h": 8, "w": 12, "x": 12, - "y": 97 + "y": 113 }, "hiddenSeries": false, "id": 63, @@ -7987,7 +8601,7 @@ "h": 8, "w": 12, "x": 0, - "y": 105 + "y": 121 }, "hiddenSeries": false, "id": 66, @@ -8083,7 +8697,7 @@ "h": 8, "w": 12, "x": 12, - "y": 105 + "y": 121 }, "hiddenSeries": false, "id": 65, @@ -8179,7 +8793,7 @@ "h": 8, "w": 12, "x": 0, - "y": 113 + "y": 129 }, "hiddenSeries": false, "id": 64, @@ -8276,7 +8890,7 @@ "h": 8, "w": 12, "x": 12, - "y": 113 + "y": 129 }, "hiddenSeries": false, "id": 67, @@ -8375,7 +8989,7 @@ "h": 1, "w": 24, "x": 0, - "y": 11 + "y": 12 }, "id": 80, "panels": [ @@ -8400,7 +9014,7 @@ "h": 8, "w": 12, "x": 0, - "y": 288 + "y": 304 }, "hiddenSeries": false, "id": 81, @@ -8496,7 +9110,7 @@ "h": 8, "w": 12, "x": 12, - "y": 288 + "y": 304 }, "hiddenSeries": false, "id": 82, @@ -8592,7 +9206,7 @@ "h": 8, "w": 12, "x": 0, - "y": 296 + "y": 312 }, "hiddenSeries": false, "id": 83, @@ -8691,7 +9305,7 @@ "h": 1, "w": 24, "x": 0, - "y": 12 + "y": 13 }, "id": 111, "panels": [ @@ -8716,7 +9330,7 @@ "h": 8, "w": 12, "x": 0, - "y": 305 + "y": 321 }, "hiddenSeries": false, "id": 112, @@ -8812,7 +9426,7 @@ "h": 8, "w": 12, "x": 12, - "y": 305 + "y": 321 }, "hiddenSeries": false, "id": 113, @@ -8910,7 +9524,7 @@ "h": 1, "w": 24, "x": 0, - "y": 13 + "y": 14 }, "id": 121, "panels": [ @@ -8935,7 +9549,7 @@ "h": 8, "w": 12, "x": 0, - "y": 47 + "y": 63 }, "hiddenSeries": false, "id": 122, @@ -9031,7 +9645,7 @@ "h": 8, "w": 12, "x": 12, - "y": 47 + "y": 63 }, "hiddenSeries": false, "id": 123, @@ -9127,7 +9741,7 @@ "h": 8, "w": 12, "x": 0, - "y": 55 + "y": 71 }, "hiddenSeries": false, "id": 124, @@ -9223,7 +9837,7 @@ "h": 8, "w": 12, "x": 12, - "y": 55 + "y": 71 }, "hiddenSeries": false, "id": 125, @@ -9319,7 +9933,7 @@ "h": 8, "w": 12, "x": 0, - "y": 63 + "y": 79 }, "hiddenSeries": false, "id": 126, @@ -9415,7 +10029,7 @@ "h": 8, "w": 12, "x": 12, - "y": 63 + "y": 79 }, "hiddenSeries": false, "id": 127, @@ -9513,7 +10127,7 @@ "h": 1, "w": 24, "x": 0, - "y": 14 + "y": 15 }, "id": 115, "panels": [ @@ -9539,7 +10153,7 @@ "h": 8, "w": 12, "x": 0, - "y": 15 + "y": 31 }, "hiddenSeries": false, "id": 209, @@ -9638,7 +10252,7 @@ "h": 8, "w": 12, "x": 12, - "y": 15 + "y": 31 }, "hiddenSeries": false, "id": 178, @@ -9737,7 +10351,7 @@ "h": 8, "w": 12, "x": 0, - "y": 23 + "y": 39 }, "hiddenSeries": false, "id": 210, @@ -9836,7 +10450,7 @@ "h": 8, "w": 12, "x": 12, - "y": 23 + "y": 39 }, "hiddenSeries": false, "id": 217, @@ -9933,7 +10547,7 @@ "h": 8, "w": 12, "x": 0, - "y": 31 + "y": 47 }, "hiddenSeries": false, "id": 211, @@ -10032,7 +10646,7 @@ "h": 8, "w": 12, "x": 12, - "y": 31 + "y": 47 }, "hiddenSeries": false, "id": 213, @@ -10157,7 +10771,7 @@ "h": 8, "w": 12, "x": 0, - "y": 39 + "y": 55 }, "hiddenSeries": false, "id": 212, @@ -10256,7 +10870,7 @@ "h": 8, "w": 12, "x": 12, - "y": 39 + "y": 55 }, "hiddenSeries": false, "id": 215, @@ -10355,7 +10969,7 @@ "h": 8, "w": 12, "x": 0, - "y": 47 + "y": 63 }, "hiddenSeries": false, "id": 214, @@ -10454,7 +11068,7 @@ "h": 8, "w": 12, "x": 12, - "y": 47 + "y": 63 }, "hiddenSeries": false, "id": 216, @@ -10550,7 +11164,7 @@ "h": 1, "w": 24, "x": 0, - "y": 15 + "y": 16 }, "id": 218, "panels": [ @@ -10576,7 +11190,7 @@ "h": 8, "w": 12, "x": 0, - "y": 16 + "y": 32 }, "hiddenSeries": false, "id": 219, @@ -10675,7 +11289,7 @@ "h": 8, "w": 12, "x": 12, - "y": 16 + "y": 32 }, "hiddenSeries": false, "id": 220, @@ -10800,7 +11414,7 @@ "h": 8, "w": 12, "x": 0, - "y": 24 + "y": 40 }, "hiddenSeries": false, "id": 221, @@ -10900,7 +11514,7 @@ "h": 8, "w": 12, "x": 12, - "y": 24 + "y": 40 }, "hiddenSeries": false, "id": 222, @@ -11000,7 +11614,7 @@ "h": 8, "w": 12, "x": 0, - "y": 32 + "y": 48 }, "hiddenSeries": false, "id": 223, @@ -11099,7 +11713,7 @@ "h": 8, "w": 12, "x": 12, - "y": 32 + "y": 48 }, "hiddenSeries": false, "id": 226, @@ -11198,7 +11812,7 @@ "h": 8, "w": 12, "x": 0, - "y": 40 + "y": 56 }, "hiddenSeries": false, "id": 225, @@ -11298,7 +11912,7 @@ "h": 8, "w": 12, "x": 12, - "y": 40 + "y": 56 }, "hiddenSeries": false, "id": 227, @@ -11398,7 +12012,7 @@ "h": 8, "w": 12, "x": 0, - "y": 48 + "y": 64 }, "hiddenSeries": false, "id": 224, @@ -11497,7 +12111,7 @@ "h": 8, "w": 12, "x": 12, - "y": 48 + "y": 64 }, "hiddenSeries": false, "id": 228, @@ -11584,7 +12198,7 @@ "h": 1, "w": 24, "x": 0, - "y": 16 + "y": 17 }, "id": 229, "panels": [ @@ -11610,7 +12224,7 @@ "h": 8, "w": 12, "x": 0, - "y": 17 + "y": 33 }, "hiddenSeries": false, "id": 232, @@ -11710,7 +12324,7 @@ "h": 8, "w": 12, "x": 12, - "y": 17 + "y": 33 }, "hiddenSeries": false, "id": 231, @@ -11809,7 +12423,7 @@ "h": 8, "w": 12, "x": 0, - "y": 25 + "y": 41 }, "hiddenSeries": false, "id": 234, @@ -11908,7 +12522,7 @@ "h": 8, "w": 12, "x": 12, - "y": 25 + "y": 41 }, "hiddenSeries": false, "id": 233, @@ -12008,7 +12622,7 @@ "h": 8, "w": 12, "x": 0, - "y": 33 + "y": 49 }, "hiddenSeries": false, "id": 230, @@ -12107,7 +12721,7 @@ "h": 8, "w": 12, "x": 12, - "y": 33 + "y": 49 }, "hiddenSeries": false, "id": 235, @@ -12198,7 +12812,7 @@ "h": 1, "w": 24, "x": 0, - "y": 17 + "y": 18 }, "id": 32, "panels": [ @@ -12223,7 +12837,7 @@ "h": 6, "w": 12, "x": 0, - "y": 364 + "y": 138 }, "hiddenSeries": false, "id": 36, @@ -12245,7 +12859,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "8.0.6", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -12319,7 +12933,7 @@ "h": 6, "w": 12, "x": 12, - "y": 364 + "y": 138 }, "hiddenSeries": false, "id": 128, @@ -12341,7 +12955,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "8.0.6", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -12415,7 +13029,7 @@ "h": 6, "w": 12, "x": 0, - "y": 370 + "y": 144 }, "hiddenSeries": false, "id": 129, @@ -12437,7 +13051,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "8.0.6", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -12511,7 +13125,7 @@ "h": 6, "w": 12, "x": 12, - "y": 370 + "y": 144 }, "hiddenSeries": false, "id": 130, @@ -12533,7 +13147,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "8.0.6", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -12607,7 +13221,7 @@ "h": 6, "w": 12, "x": 0, - "y": 376 + "y": 150 }, "hiddenSeries": false, "id": 131, @@ -12629,7 +13243,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "8.0.6", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -12703,7 +13317,7 @@ "h": 6, "w": 12, "x": 12, - "y": 376 + "y": 150 }, "hiddenSeries": false, "id": 132, @@ -12725,7 +13339,7 @@ "alertThreshold": true }, "percentage": false, - "pluginVersion": "8.0.6", + "pluginVersion": "10.1.4", "pointradius": 2, "points": false, "renderer": "flot", @@ -12799,7 +13413,7 @@ "h": 6, "w": 12, "x": 0, - "y": 382 + "y": 156 }, "hiddenSeries": false, "id": 133, @@ -12895,7 +13509,7 @@ "h": 6, "w": 12, "x": 12, - "y": 382 + "y": 156 }, "hiddenSeries": false, "id": 134, @@ -12991,7 +13605,7 @@ "h": 6, "w": 12, "x": 0, - "y": 388 + "y": 162 }, "hiddenSeries": false, "id": 135, @@ -13087,7 +13701,7 @@ "h": 6, "w": 12, "x": 12, - "y": 388 + "y": 162 }, "hiddenSeries": false, "id": 136, @@ -13183,7 +13797,7 @@ "h": 6, "w": 12, "x": 0, - "y": 394 + "y": 168 }, "hiddenSeries": false, "id": 137, @@ -13279,7 +13893,7 @@ "h": 6, "w": 12, "x": 12, - "y": 394 + "y": 168 }, "hiddenSeries": false, "id": 138, @@ -13375,7 +13989,7 @@ "h": 6, "w": 12, "x": 0, - "y": 400 + "y": 174 }, "hiddenSeries": false, "id": 139, @@ -13471,7 +14085,7 @@ "h": 6, "w": 12, "x": 12, - "y": 400 + "y": 174 }, "hiddenSeries": false, "id": 140, @@ -13566,7 +14180,7 @@ "h": 6, "w": 12, "x": 0, - "y": 406 + "y": 180 }, "hiddenSeries": false, "id": 141, @@ -13661,7 +14275,7 @@ "h": 6, "w": 12, "x": 12, - "y": 406 + "y": 180 }, "hiddenSeries": false, "id": 142, @@ -13757,7 +14371,7 @@ "h": 6, "w": 12, "x": 0, - "y": 412 + "y": 186 }, "hiddenSeries": false, "id": 143, @@ -13853,7 +14467,7 @@ "h": 6, "w": 12, "x": 12, - "y": 412 + "y": 186 }, "hiddenSeries": false, "id": 144, @@ -13949,7 +14563,7 @@ "h": 6, "w": 12, "x": 0, - "y": 418 + "y": 192 }, "hiddenSeries": false, "id": 145, @@ -14045,7 +14659,7 @@ "h": 6, "w": 12, "x": 12, - "y": 418 + "y": 192 }, "hiddenSeries": false, "id": 146, @@ -14141,7 +14755,7 @@ "h": 6, "w": 12, "x": 0, - "y": 424 + "y": 198 }, "hiddenSeries": false, "id": 147, @@ -14237,7 +14851,7 @@ "h": 6, "w": 12, "x": 12, - "y": 424 + "y": 198 }, "hiddenSeries": false, "id": 148, @@ -14333,7 +14947,7 @@ "h": 6, "w": 12, "x": 0, - "y": 430 + "y": 204 }, "hiddenSeries": false, "id": 149, @@ -14429,7 +15043,7 @@ "h": 6, "w": 12, "x": 12, - "y": 430 + "y": 204 }, "hiddenSeries": false, "id": 150, @@ -14527,7 +15141,7 @@ "h": 1, "w": 24, "x": 0, - "y": 18 + "y": 19 }, "id": 34, "panels": [ @@ -14552,7 +15166,7 @@ "h": 6, "w": 12, "x": 0, - "y": 50 + "y": 66 }, "hiddenSeries": false, "id": 155, @@ -14648,7 +15262,7 @@ "h": 6, "w": 12, "x": 12, - "y": 50 + "y": 66 }, "hiddenSeries": false, "id": 152, @@ -14744,7 +15358,7 @@ "h": 6, "w": 12, "x": 0, - "y": 56 + "y": 72 }, "hiddenSeries": false, "id": 153, @@ -14840,7 +15454,7 @@ "h": 6, "w": 12, "x": 12, - "y": 56 + "y": 72 }, "hiddenSeries": false, "id": 156, @@ -14936,7 +15550,7 @@ "h": 6, "w": 12, "x": 0, - "y": 62 + "y": 78 }, "hiddenSeries": false, "id": 157, @@ -15032,7 +15646,7 @@ "h": 6, "w": 12, "x": 12, - "y": 62 + "y": 78 }, "hiddenSeries": false, "id": 154, @@ -15128,7 +15742,7 @@ "h": 6, "w": 12, "x": 0, - "y": 68 + "y": 84 }, "hiddenSeries": false, "id": 151, @@ -15224,7 +15838,7 @@ "h": 6, "w": 12, "x": 12, - "y": 68 + "y": 84 }, "hiddenSeries": false, "id": 158, @@ -15320,7 +15934,7 @@ "h": 6, "w": 12, "x": 0, - "y": 74 + "y": 90 }, "hiddenSeries": false, "id": 159, @@ -15416,7 +16030,7 @@ "h": 6, "w": 12, "x": 12, - "y": 74 + "y": 90 }, "hiddenSeries": false, "id": 160, @@ -15512,7 +16126,7 @@ "h": 6, "w": 12, "x": 0, - "y": 80 + "y": 96 }, "hiddenSeries": false, "id": 161, @@ -15608,7 +16222,7 @@ "h": 6, "w": 12, "x": 12, - "y": 80 + "y": 96 }, "hiddenSeries": false, "id": 162, @@ -15704,7 +16318,7 @@ "h": 6, "w": 12, "x": 0, - "y": 86 + "y": 102 }, "hiddenSeries": false, "id": 163, @@ -15800,7 +16414,7 @@ "h": 6, "w": 12, "x": 12, - "y": 86 + "y": 102 }, "hiddenSeries": false, "id": 164, @@ -15896,7 +16510,7 @@ "h": 6, "w": 12, "x": 0, - "y": 92 + "y": 108 }, "hiddenSeries": false, "id": 165, @@ -15992,7 +16606,7 @@ "h": 6, "w": 12, "x": 12, - "y": 92 + "y": 108 }, "hiddenSeries": false, "id": 166, @@ -16088,7 +16702,7 @@ "h": 6, "w": 12, "x": 0, - "y": 98 + "y": 114 }, "hiddenSeries": false, "id": 167, @@ -16184,7 +16798,7 @@ "h": 6, "w": 12, "x": 12, - "y": 98 + "y": 114 }, "hiddenSeries": false, "id": 168, @@ -16280,7 +16894,7 @@ "h": 6, "w": 12, "x": 0, - "y": 104 + "y": 120 }, "hiddenSeries": false, "id": 169, @@ -16376,7 +16990,7 @@ "h": 6, "w": 12, "x": 12, - "y": 104 + "y": 120 }, "hiddenSeries": false, "id": 170, @@ -16472,7 +17086,7 @@ "h": 6, "w": 12, "x": 0, - "y": 110 + "y": 126 }, "hiddenSeries": false, "id": 171, @@ -16568,7 +17182,7 @@ "h": 6, "w": 12, "x": 12, - "y": 110 + "y": 126 }, "hiddenSeries": false, "id": 172, @@ -16664,7 +17278,7 @@ "h": 6, "w": 12, "x": 0, - "y": 116 + "y": 132 }, "hiddenSeries": false, "id": 173, @@ -16760,7 +17374,7 @@ "h": 6, "w": 12, "x": 12, - "y": 116 + "y": 132 }, "hiddenSeries": false, "id": 174, @@ -16854,7 +17468,7 @@ "h": 1, "w": 24, "x": 0, - "y": 19 + "y": 20 }, "id": 180, "panels": [ @@ -16919,7 +17533,7 @@ "h": 8, "w": 12, "x": 0, - "y": 206 + "y": 222 }, "id": 182, "options": { @@ -17014,7 +17628,7 @@ "h": 8, "w": 12, "x": 12, - "y": 206 + "y": 222 }, "id": 184, "options": { @@ -17110,7 +17724,7 @@ "h": 8, "w": 12, "x": 0, - "y": 214 + "y": 230 }, "id": 186, "options": { @@ -17155,13 +17769,9 @@ "list": [ { "current": { - "selected": true, - "text": [ - "All" - ], - "value": [ - "$__all" - ] + "selected": false, + "text": "All", + "value": "$__all" }, "datasource": { "type": "prometheus", @@ -17186,7 +17796,7 @@ }, { "current": { - "selected": false, + "selected": true, "text": [ "All" ], @@ -17249,7 +17859,7 @@ }, { "current": { - "selected": false, + "selected": true, "text": [ "All" ], diff --git a/curvefs/src/client/fuse_s3_client.cpp b/curvefs/src/client/fuse_s3_client.cpp index 829f00e1d3..1926204753 100644 --- a/curvefs/src/client/fuse_s3_client.cpp +++ b/curvefs/src/client/fuse_s3_client.cpp @@ -20,11 +20,12 @@ * Author: xuchaojie */ +#include "curvefs/src/client/fuse_s3_client.h" +#include #include #include -#include "curvefs/src/client/fuse_s3_client.h" #include "curvefs/src/client/kvclient/memcache_client.h" namespace curvefs { @@ -100,6 +101,8 @@ CURVEFS_ERROR FuseS3Client::Init(const FuseClientOption &option) { inodeManager_, mdsClient_, fsCacheManager, nullptr, kvClientManager_, true); } + ioLatencyMetric_ = absl::make_unique( + fsInfo_->fsname()); return ret; } @@ -169,14 +172,8 @@ CURVEFS_ERROR FuseS3Client::FuseOpWrite(fuse_req_t req, fuse_ino_t ino, LOG(ERROR) << "s3Adaptor_ write failed, ret = " << wRet; return CURVEFS_ERROR::INTERNAL; } - - if (fsMetric_.get() != nullptr) { - fsMetric_->userWrite.bps.count << wRet; - fsMetric_->userWrite.qps.count << 1; - uint64_t duration = butil::cpuwide_time_us() - start; - fsMetric_->userWrite.latency << duration; - fsMetric_->userWriteIoSize.set_value(wRet); - } + uint64_t mid = butil::cpuwide_time_us(); + ioLatencyMetric_->writeDataLatency << mid - start; std::shared_ptr inodeWrapper; CURVEFS_ERROR ret = inodeManager_->GetInode(ino, inodeWrapper); @@ -220,6 +217,15 @@ CURVEFS_ERROR FuseS3Client::FuseOpWrite(fuse_req_t req, fuse_ino_t ino, } inodeWrapper->GetInodeAttrLocked(&fileOut->attr); + + if (fsMetric_.get() != nullptr) { + fsMetric_->userWrite.bps.count << wRet; + fsMetric_->userWrite.qps.count << 1; + uint64_t duration = butil::cpuwide_time_us() - start; + fsMetric_->userWrite.latency << duration; + fsMetric_->userWriteIoSize.set_value(wRet); + } + ioLatencyMetric_->writeAttrLatency << butil::cpuwide_time_us() - mid; return ret; } @@ -243,6 +249,8 @@ CURVEFS_ERROR FuseS3Client::FuseOpRead(fuse_req_t req, fuse_ino_t ino, << ", inodeid = " << ino; return ret; } + uint64_t mid = butil::cpuwide_time_us(); + ioLatencyMetric_->readAttrLatency << mid - start; uint64_t fileSize = inodeWrapper->GetLength(); size_t len = 0; @@ -263,6 +271,10 @@ CURVEFS_ERROR FuseS3Client::FuseOpRead(fuse_req_t req, fuse_ino_t ino, } *rSize = rRet; + ::curve::common::UniqueLock lgGuard = inodeWrapper->GetUniqueLock(); + inodeWrapper->UpdateTimestampLocked(kAccessTime); + inodeManager_->ShipToFlush(inodeWrapper); + if (fsMetric_.get() != nullptr) { fsMetric_->userRead.bps.count << rRet; fsMetric_->userRead.qps.count << 1; @@ -270,10 +282,7 @@ CURVEFS_ERROR FuseS3Client::FuseOpRead(fuse_req_t req, fuse_ino_t ino, fsMetric_->userRead.latency << duration; fsMetric_->userReadIoSize.set_value(rRet); } - - ::curve::common::UniqueLock lgGuard = inodeWrapper->GetUniqueLock(); - inodeWrapper->UpdateTimestampLocked(kAccessTime); - inodeManager_->ShipToFlush(inodeWrapper); + ioLatencyMetric_->readDataLatency << butil::cpuwide_time_us() - mid; VLOG(9) << "read end, read size = " << *rSize; return ret; diff --git a/curvefs/src/client/fuse_s3_client.h b/curvefs/src/client/fuse_s3_client.h index cd1154beb8..1b4b4a70b4 100644 --- a/curvefs/src/client/fuse_s3_client.h +++ b/curvefs/src/client/fuse_s3_client.h @@ -24,13 +24,14 @@ #ifndef CURVEFS_SRC_CLIENT_FUSE_S3_CLIENT_H_ #define CURVEFS_SRC_CLIENT_FUSE_S3_CLIENT_H_ +#include #include #include -#include -#include #include +#include #include "curvefs/src/client/fuse_client.h" +#include "curvefs/src/client/metric/client_metric.h" #include "curvefs/src/client/s3/client_s3_cache_manager.h" #include "curvefs/src/client/warmup/warmup_manager.h" #include "curvefs/src/volume/common.h" @@ -133,6 +134,7 @@ class FuseS3Client : public FuseClient { // s3 adaptor std::shared_ptr s3Adaptor_; std::shared_ptr kvClientManager_; + std::unique_ptr ioLatencyMetric_; static constexpr auto MIN_WRITE_CACHE_SIZE = 8 * kMiB; }; diff --git a/curvefs/src/client/metric/client_metric.cpp b/curvefs/src/client/metric/client_metric.cpp index f97e7ef87a..d6c2592ebb 100644 --- a/curvefs/src/client/metric/client_metric.cpp +++ b/curvefs/src/client/metric/client_metric.cpp @@ -23,6 +23,7 @@ #include "curvefs/src/client/metric/client_metric.h" #include +#include #include "src/client/client_metric.h" @@ -45,6 +46,8 @@ const std::string MemcacheClientMetric::prefix = // NOLINT "curvefs_memcache_client"; // NOLINT const std::string S3ChunkInfoMetric::prefix = "inode_s3_chunk_info"; // NOLINT const std::string WarmupManagerS3Metric::prefix = "curvefs_warmup"; // NOLINT +const std::string FuseS3ClientIOLatencyMetric::prefix = // NOLINT + "curvefs_fuse_s3_client"; // NOLINT void AsyncContextCollectMetrics( std::shared_ptr s3Metric, diff --git a/curvefs/src/client/metric/client_metric.h b/curvefs/src/client/metric/client_metric.h index e5819cfa8a..58a23fa84b 100644 --- a/curvefs/src/client/metric/client_metric.h +++ b/curvefs/src/client/metric/client_metric.h @@ -368,6 +368,25 @@ void AsyncContextCollectMetrics( std::shared_ptr s3Metric, const std::shared_ptr& context); +struct FuseS3ClientIOLatencyMetric { + static const std::string prefix; + + std::string fsName; + + bvar::LatencyRecorder readAttrLatency; + bvar::LatencyRecorder readDataLatency; + bvar::LatencyRecorder writeAttrLatency; + bvar::LatencyRecorder writeDataLatency; + + explicit FuseS3ClientIOLatencyMetric(const std::string& name = "") + : fsName(!name.empty() ? name + : prefix + curve::common::ToHexString(this)), + readAttrLatency(prefix, fsName + "_read_attr_latency"), + readDataLatency(prefix, fsName + "_read_data_latency"), + writeAttrLatency(prefix, fsName + "_write_attr_latency"), + writeDataLatency(prefix, fsName + "_write_data_latency") {} +}; + } // namespace metric } // namespace client } // namespace curvefs