/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

[
  {
    "id": "FaaS-Function",
    "configuration": {
      "children": [
        {
          "x": 0,
          "y": 12,
          "w": 24,
          "h": 52,
          "i": "4",
          "type": "Tab",
          "children": [
            {
              "name": "Overview",
              "children": [
                {
                  "x": 0,
                  "y": 0,
                  "w": 8,
                  "h": 5,
                  "i": "0",
                  "type": "Widget",
                  "widget": {
                    "title": "Function Apdex"
                  },
                  "graph": {
                    "type": "Card",
                    "fontSize": 14,
                    "textAlign": "center"
                  },
                  "metrics": [
                    "service_apdex"
                  ],
                  "metricTypes": [
                    "readMetricsValue"
                  ],
                  "metricConfig": [
                    {
                      "calculation": "apdex"
                    }
                  ],
                  "value": "4-0-0",
                  "label": "4-0-0"
                },
                {
                  "x": 8,
                  "y": 0,
                  "w": 8,
                  "h": 5,
                  "i": "1",
                  "type": "Widget",
                  "widget": {
                    "title": "Success Rate"
                  },
                  "graph": {
                    "type": "Card",
                    "fontSize": 14,
                    "textAlign": "center",
                    "showUnit": true
                  },
                  "metrics": [
                    "service_sla"
                  ],
                  "metricTypes": [
                    "readMetricsValue"
                  ],
                  "metricConfig": [
                    {
                      "calculation": "percentage",
                      "unit": "%"
                    }
                  ],
                  "value": "4-0-1",
                  "label": "4-0-1"
                },
                {
                  "x": 16,
                  "y": 0,
                  "w": 8,
                  "h": 5,
                  "i": "2",
                  "type": "Widget",
                  "widget": {
                    "title": "Function Load (calls / min)",
                    "tips": "For HTTP 1/2, gRPC, RPC functions, this means Calls Per Minute (calls / min)"
                  },
                  "graph": {
                    "type": "Card",
                    "fontSize": 14,
                    "textAlign": "center",
                    "showUnit": true
                  },
                  "metrics": [
                    "service_cpm"
                  ],
                  "metricTypes": [
                    "readMetricsValue"
                  ],
                  "metricConfig": [
                    {
                      "unit": "calls / min"
                    }
                  ],
                  "value": "4-0-2",
                  "label": "4-0-2"
                },
                {
                  "x": 0,
                  "y": 5,
                  "w": 6,
                  "h": 11,
                  "i": "3",
                  "type": "Widget",
                  "widget": {
                    "title": "Function Avg Response Time (ms)",
                    "name": "Function_Avg_Response"
                  },
                  "graph": {
                    "type": "Line",
                    "step": false,
                    "smooth": false,
                    "showSymbol": false,
                    "showXAxis": true,
                    "showYAxis": true
                  },
                  "metrics": [
                    "service_resp_time"
                  ],
                  "metricTypes": [
                    "readMetricsValues"
                  ],
                  "value": "4-0-3",
                  "label": "Function_Avg_Response",
                  "associate": [
                    {
                      "widgetId": "4-0-5"
                    },
                    {
                      "widgetId": "4-0-6"
                    },
                    {
                      "widgetId": "4-0-7"
                    }
                  ],
                  "filters": {
                    "dataIndex": 5,
                    "sourceId": "4-0-5"
                  }
                },
                {
                  "x": 6,
                  "y": 5,
                  "w": 6,
                  "h": 11,
                  "i": "5",
                  "type": "Widget",
                  "widget": {
                    "title": "Function Response Time Percentile (ms)",
                    "name": "Function_Response_Percentile"
                  },
                  "graph": {
                    "type": "Line",
                    "step": false,
                    "smooth": false,
                    "showSymbol": false,
                    "showXAxis": true,
                    "showYAxis": true
                  },
                  "metrics": [
                    "service_percentile"
                  ],
                  "metricTypes": [
                    "readLabeledMetricsValues"
                  ],
                  "metricConfig": [
                    {
                      "label": "P50, P75, P90, P95, P99",
                      "labelsIndex": "0, 1, 2, 3, 4"
                    }
                  ],
                  "value": "4-0-5",
                  "label": "Function_Response_Percentile",
                  "associate": [
                    {
                      "widgetId": "4-0-3"
                    },
                    {
                      "widgetId": "4-0-6"
                    },
                    {
                      "widgetId": "4-0-7"
                    }
                  ]
                },
                {
                  "x": 12,
                  "y": 5,
                  "w": 6,
                  "h": 11,
                  "i": "6",
                  "type": "Widget",
                  "widget": {
                    "title": "Success Rate (%)",
                    "name": "Success_Rate"
                  },
                  "graph": {
                    "type": "Line",
                    "step": false,
                    "smooth": false,
                    "showSymbol": false,
                    "showXAxis": true,
                    "showYAxis": true
                  },
                  "metrics": [
                    "service_sla"
                  ],
                  "metricTypes": [
                    "readMetricsValues"
                  ],
                  "metricConfig": [
                    {
                      "calculation": "percentage"
                    }
                  ],
                  "value": "4-0-6",
                  "label": "Success_Rate",
                  "associate": [
                    {
                      "widgetId": "4-0-5"
                    },
                    {
                      "widgetId": "4-0-3"
                    },
                    {
                      "widgetId": "4-0-7"
                    }
                  ],
                  "filters": {
                    "dataIndex": 5,
                    "sourceId": "4-0-5"
                  }
                },
                {
                  "x": 18,
                  "y": 5,
                  "w": 6,
                  "h": 11,
                  "i": "7",
                  "type": "Widget",
                  "widget": {
                    "title": "Function Load (calls / min)",
                    "tips": "For HTTP 1/2, gRPC, RPC functions, this means Calls Per Minute (calls / min)",
                    "name": "Function_Load"
                  },
                  "graph": {
                    "type": "Line",
                    "step": false,
                    "smooth": false,
                    "showSymbol": false,
                    "showXAxis": true,
                    "showYAxis": true
                  },
                  "metrics": [
                    "service_cpm"
                  ],
                  "metricTypes": [
                    "readMetricsValues"
                  ],
                  "value": "4-0-7",
                  "label": "Function_Load",
                  "associate": [
                    {
                      "widgetId": "4-0-5"
                    },
                    {
                      "widgetId": "4-0-6"
                    },
                    {
                      "widgetId": "4-0-3"
                    }
                  ],
                  "filters": {
                    "dataIndex": 5,
                    "sourceId": "4-0-5"
                  }
                },
                {
                  "x": 0,
                  "y": 16,
                  "w": 8,
                  "h": 14,
                  "i": "11",
                  "type": "Widget",
                  "widget": {
                    "title": "Function Instances Load (calls / min)",
                    "tips": "For HTTP 1/2, gRPC, RPC functions, this means Calls Per Minute (calls / min),",
                    "name": "Function_Instances_Load"
                  },
                  "graph": {
                    "type": "TopList"
                  },
                  "metrics": [
                    "service_instance_cpm"
                  ],
                  "metricTypes": [
                    "sortMetrics"
                  ],
                  "value": "4-0-11",
                  "label": "Function_Instances_Load"
                },
                {
                  "x": 8,
                  "y": 16,
                  "w": 8,
                  "h": 14,
                  "i": "12",
                  "type": "Widget",
                  "widget": {
                    "title": "Slow Function Instance (ms)"
                  },
                  "graph": {
                    "type": "TopList",
                    "topN": "10"
                  },
                  "metrics": [
                    "service_instance_resp_time"
                  ],
                  "metricTypes": [
                    "sortMetrics"
                  ],
                  "value": "4-0-12",
                  "label": "4-0-12"
                },
                {
                  "x": 16,
                  "y": 16,
                  "w": 8,
                  "h": 14,
                  "i": "13",
                  "type": "Widget",
                  "widget": {
                    "title": "Function Instance Success Rate (%)"
                  },
                  "graph": {
                    "type": "TopList",
                    "topN": "10"
                  },
                  "metrics": [
                    "service_instance_sla"
                  ],
                  "metricTypes": [
                    "sortMetrics"
                  ],
                  "metricConfig": [
                    {
                      "sortOrder": "ASC",
                      "calculation": "percentage"
                    }
                  ],
                  "value": "4-0-13",
                  "label": "4-0-13"
                }
              ]
            },
            {
              "name": "Instance",
              "children": [
                {
                  "x": 0,
                  "y": 0,
                  "w": 24,
                  "h": 49,
                  "i": "0",
                  "type": "Widget",
                  "graph": {
                    "type": "InstanceList",
                    "dashboardName": "FaaS-Instance",
                    "fontSize": 12
                  },
                  "metrics": [
                    "service_instance_cpm",
                    "service_instance_sla",
                    "service_instance_resp_time"
                  ],
                  "metricTypes": [
                    "readMetricsValues",
                    "readMetricsValues",
                    "readMetricsValues"
                  ],
                  "metricConfig": [
                    {
                      "label": "Load",
                      "unit": "calls / min",
                      "calculation": "average"
                    },
                    {
                      "calculation": "percentageAvg",
                      "unit": "%",
                      "label": "Success Rate"
                    },
                    {
                      "calculation": "average",
                      "label": "Latency",
                      "unit": "ms"
                    }
                  ],
                  "value": "4-1-0",
                  "label": "4-1-0"
                }
              ]
            },
            {
              "name": "Topology",
              "children": [
                {
                  "x": 0,
                  "y": 0,
                  "w": 24,
                  "h": 48,
                  "i": "0",
                  "type": "Topology",
                  "graph": {
                    "showDepth": true
                  },
                  "linkDashboard": "FaaS-Function-Relation",
                  "nodeDashboard": [
                    {
                      "scope": "Service",
                      "dashboard": "FaaS-Function"
                    },
                    {
                      "scope": "ServiceInstance",
                      "dashboard": "FaaS-Instance"
                    }
                  ],
                  "linkServerMetrics": [
                    "service_relation_server_resp_time",
                    "service_relation_server_cpm"
                  ],
                  "linkClientMetrics": [
                    "service_relation_client_cpm",
                    "service_relation_client_resp_time"
                  ],
                  "nodeMetrics": [
                    "service_cpm",
                    "service_sla",
                    "service_resp_time"
                  ],
                  "legend": [
                    {
                      "name": "service_sla",
                      "condition": "<",
                      "value": "9500"
                    },
                    {
                      "name": "service_cpm",
                      "condition": ">",
                      "value": "1"
                    }
                  ],
                  "description": {
                    "healthy": "Healthy",
                    "unhealthy": "Success Rate < 95% and Traffic > 1 call/min"
                  },
                  "nodeMetricConfig": [
                    {
                      "unit": "calls / min",
                      "label": "Load"
                    },
                    {
                      "calculation": "percentage",
                      "unit": "%",
                      "label": "Success Rate"
                    },
                    {
                      "unit": "ms",
                      "label": "Latency"
                    }
                  ],
                  "linkServerMetricConfig": [
                    {
                      "unit": "ms",
                      "label": "Server Latency"
                    },
                    {
                      "unit": "calls / min",
                      "label": "Server Load"
                    }
                  ],
                  "linkClientMetricConfig": [
                    {
                      "unit": "calls / min",
                      "label": "Client Load"
                    },
                    {
                      "unit": "ms",
                      "label": "Client Latency"
                    }
                  ]
                }
              ]
            },
            {
              "name": "Trace",
              "children": [
                {
                  "x": 0,
                  "y": 0,
                  "w": 24,
                  "h": 48,
                  "i": "0",
                  "type": "Trace"
                }
              ]
            }
          ]
        },
        {
          "x": 0,
          "y": 0,
          "w": 24,
          "h": 12,
          "i": "5",
          "type": "Event"
        }
      ],
      "layer": "FAAS",
      "entity": "Service",
      "name": "FaaS-Function",
      "id": "FaaS-Function",
      "isRoot": false
    }
  }
]
