You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by GitBox <gi...@apache.org> on 2022/04/01 14:23:50 UTC

[GitHub] [skywalking] arugal opened a new pull request #8789: Add template of Function

arugal opened a new pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789


   <!--
       ⚠️ Please make sure to read this template first, pull requests that don't accord with this template
       maybe closed without notice.
       Texts surrounded by `<` and `>` are meant to be replaced by you, e.g. <framework name>, <issue number>.
       Put an `x` in the `[ ]` to mark the item as CHECKED. `[x]`
   -->
   
   <!-- ==== 🐛 Remove this line WHEN AND ONLY WHEN you're fixing a bug, follow the checklist 👇 ====
   ### Fix <bug description or the bug issue number or bug issue link>
   - [ ] Add a unit test to verify that the fix works.
   - [ ] Explain briefly why the bug exists and how to fix it.
        ==== 🐛 Remove this line WHEN AND ONLY WHEN you're fixing a bug, follow the checklist 👆 ==== -->
   
   <!-- ==== 📈 Remove this line WHEN AND ONLY WHEN you're improving the performance, follow the checklist 👇 ====
   ### Improve the performance of <class or module or ...>
   - [ ] Add a benchmark for the improvement, refer to [the existing ones](https://github.com/apache/skywalking/blob/master/apm-commons/apm-datacarrier/src/test/java/org/apache/skywalking/apm/commons/datacarrier/LinkedArrayBenchmark.java)
   - [ ] The benchmark result.
   ```text
   <Paste the benchmark results here>
   ```
   - [ ] Links/URLs to the theory proof or discussion articles/blogs. <links/URLs here>
        ==== 📈 Remove this line WHEN AND ONLY WHEN you're improving the performance, follow the checklist 👆 ==== -->
   
   <!-- ==== 🆕 Remove this line WHEN AND ONLY WHEN you're adding a new feature, follow the checklist 👇 ====
   ### <Feature description>
   - [ ] If this is non-trivial feature, paste the links/URLs to the design doc.
   - [ ] Update the documentation to include this new feature.
   - [ ] Tests(including UT, IT, E2E) are added to verify the new feature.
   - [ ] If it's UI related, attach the screenshots below.
        ==== 🆕 Remove this line WHEN AND ONLY WHEN you're adding a new feature, follow the checklist 👆 ==== -->
   
   - [ ] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #<issue number>.
   - [x] Update the [`CHANGES` log](https://github.com/apache/skywalking/blob/master/CHANGES.md).
   
   ### Function list
   ![image](https://user-images.githubusercontent.com/26432832/161282347-7ec29c39-3522-4544-b024-f9f2218b54fe.png)
   
   ### Function Overview
   ![image](https://user-images.githubusercontent.com/26432832/161282468-f6381359-620c-49fb-a4bd-09ca4d4e6838.png)
   
   ### Function Topology
   ![image](https://user-images.githubusercontent.com/26432832/161282708-d4ef2fec-1299-412a-bbd7-2de87e177ae8.png)
   
   ### Function Instance Overview
   ![image](https://user-images.githubusercontent.com/26432832/161282581-2d75e732-4811-46bd-b971-fb6bec970cd2.png)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841044991



##########
File path: CHANGES.md
##########
@@ -168,6 +168,7 @@ NOTICE, this sharding concept is NOT just for splitting data into different data
 * Re-implement UI template initialization for Booster UI.
 * Add environment variable `SW_ENABLE_UPDATE_UI_TEMPLATE` to control user edit UI template.
 * Add the Self Observability template of the SkyWalking Satellite.
+* Add the template of the Function.

Review comment:
       ```suggestion
   * Add the template of OpenFunction observability.
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#issuecomment-1086045816


   We should add `Text Widget` like the Satellite dashboard.
   
   > FaaS (Function-as-a-Service) is a type of cloud-computing service that allows you to execute code in response to events without the complex infrastructure typically associated with building and launching microservices applications.
   OpenFunction as a FaaS platform, provides out-of-box observability with SkyWalking integration.
   
   And link this to the OpenFunction document.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] arugal commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
arugal commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841047309



##########
File path: oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v8/ManagementServiceHandler.java
##########
@@ -47,13 +51,27 @@ public ManagementServiceHandler(ModuleManager moduleManager) {
                                           .getService(NamingControl.class);
     }
 
+    /**
+     * Identify the layer of instance. Such as ${@link Layer#FAAS}.
+     */
+    private Layer identifyInstanceLayer(String layer) {
+        try {
+            return Layer.nameOf(layer);
+        } catch (UnexpectedException e) {

Review comment:
       Done, set to GENERAL when layer is empty.
   
   ```java
       /**
        * Identify the layer of instance. Such as ${@link Layer#FAAS}.
        */
       private Layer identifyInstanceLayer(String layer) {
           if (StringUtil.isEmpty(layer)) {
               return Layer.GENERAL;
           } else {
               return Layer.nameOf(layer);
           }
       }
   ```
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841044795



##########
File path: oap-server/server-starter/src/main/resources/ui-initialized-templates/faas/faas-root.json
##########
@@ -0,0 +1,239 @@
+/**
+ * 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-Root",
+    "configuration": {
+      "children": [
+        {
+          "x": 0,
+          "y": 2,
+          "w": 24,
+          "h": 52,
+          "i": "1",
+          "type": "Tab",
+          "widget": {
+            "title": "Title"
+          },
+          "graph": {},
+          "metrics": [
+            ""
+          ],
+          "metricTypes": [
+            ""
+          ],
+          "activedTabIndex": 0,
+          "children": [
+            {
+              "name": "Function",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Widget",
+                  "widget": {
+                    "title": ""
+                  },
+                  "graph": {
+                    "type": "ServiceList",
+                    "dashboardName": "FaaS-Function",
+                    "fontSize": 12,
+                    "showXAxis": false,
+                    "showYAxis": false,
+                    "showGroup": false
+                  },
+                  "metrics": [
+                    "service_cpm"
+                  ],
+                  "metricTypes": [
+                    "readMetricsValues"
+                  ],
+                  "moved": false,
+                  "metricConfig": [
+                    {
+                      "label": "Load",
+                      "unit": "calls / min"
+                    }
+                  ]
+                }
+              ]
+            },
+            {
+              "name": "Topology",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Topology",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {
+                    "showDepth": true
+                  },
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false,
+                  "linkDashboard": "Function-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 calls / 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": 49,
+                  "i": "0",
+                  "type": "Trace",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {},
+                  "standard": {},
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false
+                }
+              ]
+            }
+          ],
+          "moved": false
+        },
+        {
+          "x": 0,
+          "y": 0,
+          "w": 24,
+          "h": 2,
+          "i": "2",
+          "type": "Text",
+          "metricTypes": [
+            ""
+          ],
+          "metrics": [
+            ""
+          ],
+          "graph": {
+            "fontColor": "black",
+            "backgroundColor": "white",
+            "content": "FaaS (Function-as-a-Service) is a type of cloud-computing service that allows you to execute code in response to events without the complex infrastructure typically associated with building and launching microservices applications. OpenFunction as a FaaS platform, provides out-of-box observability with SkyWalking integration.",

Review comment:
       @FeynmanZhou Do you have any suggestions about this statement? And we are linking to your GitHub path, please take a look.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on a change in pull request #8789: Add template of OpenFunction

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841063944



##########
File path: oap-server/server-starter/src/main/resources/ui-initialized-templates/faas/faas-root.json
##########
@@ -0,0 +1,239 @@
+/**
+ * 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-Root",
+    "configuration": {
+      "children": [
+        {
+          "x": 0,
+          "y": 2,
+          "w": 24,
+          "h": 52,
+          "i": "1",
+          "type": "Tab",
+          "widget": {
+            "title": "Title"
+          },
+          "graph": {},
+          "metrics": [
+            ""
+          ],
+          "metricTypes": [
+            ""
+          ],
+          "activedTabIndex": 0,
+          "children": [
+            {
+              "name": "Function",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Widget",
+                  "widget": {
+                    "title": ""
+                  },
+                  "graph": {
+                    "type": "ServiceList",
+                    "dashboardName": "FaaS-Function",
+                    "fontSize": 12,
+                    "showXAxis": false,
+                    "showYAxis": false,
+                    "showGroup": false
+                  },
+                  "metrics": [
+                    "service_cpm"
+                  ],
+                  "metricTypes": [
+                    "readMetricsValues"
+                  ],
+                  "moved": false,
+                  "metricConfig": [
+                    {
+                      "label": "Load",
+                      "unit": "calls / min"
+                    }
+                  ]
+                }
+              ]
+            },
+            {
+              "name": "Topology",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Topology",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {
+                    "showDepth": true
+                  },
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false,
+                  "linkDashboard": "Function-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 calls / 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": 49,
+                  "i": "0",
+                  "type": "Trace",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {},
+                  "standard": {},
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false
+                }
+              ]
+            }
+          ],
+          "moved": false
+        },
+        {
+          "x": 0,
+          "y": 0,
+          "w": 24,
+          "h": 2,
+          "i": "2",
+          "type": "Text",
+          "metricTypes": [
+            ""
+          ],
+          "metrics": [
+            ""
+          ],
+          "graph": {
+            "fontColor": "black",
+            "backgroundColor": "white",
+            "content": "FaaS (Function-as-a-Service) is a type of cloud-computing service that allows you to execute code in response to events without the complex infrastructure typically associated with building and launching microservices applications. OpenFunction as a FaaS platform, provides out-of-box observability with SkyWalking integration.",

Review comment:
       > Use SkyWalking for OpenFunction as a Distributed Tracing Solution
   
   Change to
   
   > Use SkyWalking for OpenFunction as an observability solution.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] arugal commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
arugal commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841047331



##########
File path: oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v8/ManagementServiceHandler.java
##########
@@ -47,13 +51,27 @@ public ManagementServiceHandler(ModuleManager moduleManager) {
                                           .getService(NamingControl.class);
     }
 
+    /**
+     * Identify the layer of instance. Such as ${@link Layer#FAAS}.
+     */
+    private Layer identifyInstanceLayer(String layer) {
+        try {
+            return Layer.nameOf(layer);
+        } catch (UnexpectedException e) {

Review comment:
       Done, set to GENERAL when layer is empty.
   
   ```java
       /**
        * Identify the layer of instance. Such as ${@link Layer#FAAS}.
        */
       private Layer identifyInstanceLayer(String layer) {
           if (StringUtil.isEmpty(layer)) {
               return Layer.GENERAL;
           } else {
               return Layer.nameOf(layer);
           }
       }
   ```
   

##########
File path: oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/Layer.java
##########
@@ -126,9 +126,11 @@
      */
     private final boolean isNormal;
     private static final Map<Integer, Layer> DICTIONARY = new HashMap<>();
+    private static final Map<String, Layer> DICTIONARY_NAME = new HashMap<>();
 
     static {
-        Arrays.stream(Layer.values()).collect(Collectors.toMap(Layer::value, layer -> layer)).forEach(DICTIONARY::put);
+        DICTIONARY.putAll(Arrays.stream(Layer.values()).collect(Collectors.toMap(Layer::value, layer -> layer)));
+        DICTIONARY_NAME.putAll(Arrays.stream(Layer.values()).collect(Collectors.toMap(Layer::name, layer -> layer)));

Review comment:
       Done




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r840680969



##########
File path: oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/management/ui/template/UITemplateInitializer.java
##########
@@ -35,9 +35,9 @@
 import org.apache.skywalking.oap.server.library.util.StringUtil;
 
 /**
- * UITemplateInitializer load the template from the config file in json format. It depends on the UI implementation only.
- * Each config file should be only one dashboard setting json object.
- * The dashboard names should be different in the same Layer and entity.
+ * UITemplateInitializer load the template from the config file in json format. It depends on the UI implementation
+ * only. Each config file should be only one dashboard setting json object. The dashboard names should be different in

Review comment:
       You should import the latest code style, comments would not be re-formatted anymore.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] FeynmanZhou commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
FeynmanZhou commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r840737096



##########
File path: oap-server/server-starter/src/main/resources/ui-initialized-templates/faas/faas-root.json
##########
@@ -0,0 +1,163 @@
+/**
+ * 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-Root",
+    "configuration": {
+      "children": [
+        {
+          "x": 0,
+          "y": 0,
+          "w": 24,
+          "h": 52,
+          "i": "1",
+          "type": "Tab",
+          "widget": {
+            "title": "Title"
+          },
+          "graph": {},
+          "standard": {},
+          "metrics": [
+            ""
+          ],
+          "metricTypes": [
+            ""
+          ],
+          "activedTabIndex": 0,
+          "children": [
+            {
+              "name": "Functions",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Widget",
+                  "widget": {
+                    "title": ""
+                  },
+                  "graph": {
+                    "type": "ServiceList",
+                    "dashboardName": "Faas-Service",

Review comment:
       Can we update `Faas-Service` to `FaaS-Service` to keep it in a consistent format? `FaaS` is commonly used by people instead of `FAAS` or `Faas`. I am a little bit OCD about naming conventions 😄
   
   <img width="434" alt="image" src="https://user-images.githubusercontent.com/40452856/161300901-f40923f6-d9c2-4a12-9519-90bc296b10e9.png">
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wankai123 commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
wankai123 commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r840647810



##########
File path: oap-server/server-starter/src/main/resources/ui-initialized-templates/faas/faas-instance-relation.json
##########
@@ -0,0 +1,154 @@
+/**
+ * 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-Instance-Relation",
+    "configuration": {
+      "children": [
+        {
+          "x": 0,
+          "y": 36,
+          "w": 24,
+          "h": 12,
+          "i": "1",
+          "type": "Widget",
+          "widget": {
+            "title": "Response Time Percentile"
+          },
+          "graph": {
+            "type": "Line",
+            "step": false,
+            "smooth": false,
+            "showSymbol": false,
+            "showXAxis": true,
+            "showYAxis": true
+          },
+          "standard": {
+            "divide": 100,
+            "unit": "%",
+            "metricLabels": "P50, P75, P90, P95, P99"
+          },

Review comment:
       The whole `standard ` should remove, it's abandoned. The unit should type on the title directly.
   And Percentile doesn't work here anymore.
   Are you use an old UI version?

##########
File path: oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/Layer.java
##########
@@ -148,6 +150,14 @@ public static Layer valueOf(int value) {
         return layer;
     }
 
+    public static Layer nameOf(String name) {
+        Layer layer = DICTIONARY_NAME.get(name);
+        if (layer == null) {
+            return Layer.GENERAL;

Review comment:
       Null then return General? I think is easily misused by others.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r840682859



##########
File path: oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/parser/listener/RPCAnalysisListener.java
##########
@@ -286,20 +286,23 @@ public void build() {
             callingIn.prepare();
             sourceReceiver.receive(callingIn.toService());
             sourceReceiver.receive(callingIn.toServiceInstance());
-            sourceReceiver.receive(callingIn.toEndpoint());
             sourceReceiver.receive(callingIn.toServiceRelation());
             sourceReceiver.receive(callingIn.toServiceInstanceRelation());
-            EndpointRelation endpointRelation = callingIn.toEndpointRelation();
-            /*
-             * Parent endpoint could be none, because in SkyWalking Cross Process Propagation Headers Protocol v2,
-             * endpoint in ref could be empty, based on that, endpoint relation maybe can't be established.
-             * So, I am making this source as optional.
-             *
-             * Also, since 6.6.0, source endpoint could be none, if this trace begins by an internal task(local span or exit span), such as Timer,
-             * rather than, normally begin as an entry span, like a RPC server side.
-             */
-            if (endpointRelation != null) {
-                sourceReceiver.receive(endpointRelation);
+            if (Layer.FAAS != callingIn.getDestLayer()) {
+                // Service is equivalent to endpoint in FAAS (function as a service)

Review comment:
       ```suggestion
               // Service is equivalent to endpoint in FAAS (function as a service)
               // Don't generate endpoint and endpoint dependency to avoid unnecessary costs.
               if (Layer.FAAS != callingIn.getDestLayer()) {        
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] arugal commented on a change in pull request #8789: Add template of OpenFunction

Posted by GitBox <gi...@apache.org>.
arugal commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841054874



##########
File path: oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/parser/listener/RPCAnalysisListener.java
##########
@@ -286,20 +286,24 @@ public void build() {
             callingIn.prepare();
             sourceReceiver.receive(callingIn.toService());
             sourceReceiver.receive(callingIn.toServiceInstance());
-            sourceReceiver.receive(callingIn.toEndpoint());
             sourceReceiver.receive(callingIn.toServiceRelation());
             sourceReceiver.receive(callingIn.toServiceInstanceRelation());
-            EndpointRelation endpointRelation = callingIn.toEndpointRelation();
-            /*
-             * Parent endpoint could be none, because in SkyWalking Cross Process Propagation Headers Protocol v2,
-             * endpoint in ref could be empty, based on that, endpoint relation maybe can't be established.
-             * So, I am making this source as optional.
-             *
-             * Also, since 6.6.0, source endpoint could be none, if this trace begins by an internal task(local span or exit span), such as Timer,
-             * rather than, normally begin as an entry span, like a RPC server side.
-             */
-            if (endpointRelation != null) {
-                sourceReceiver.receive(endpointRelation);
+            // Service is equivalent to endpoint in FaaS (function as a service)
+            // Don't generate endpoint and endpoint dependency to avoid unnecessary costs.
+            if (Layer.FAAS != callingIn.getDestLayer()) {        

Review comment:
       fixed




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on a change in pull request #8789: Add template of OpenFunction

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841063853



##########
File path: oap-server/server-starter/src/main/resources/ui-initialized-templates/faas/faas-root.json
##########
@@ -0,0 +1,239 @@
+/**
+ * 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-Root",
+    "configuration": {
+      "children": [
+        {
+          "x": 0,
+          "y": 2,
+          "w": 24,
+          "h": 52,
+          "i": "1",
+          "type": "Tab",
+          "widget": {
+            "title": "Title"
+          },
+          "graph": {},
+          "metrics": [
+            ""
+          ],
+          "metricTypes": [
+            ""
+          ],
+          "activedTabIndex": 0,
+          "children": [
+            {
+              "name": "Function",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Widget",
+                  "widget": {
+                    "title": ""
+                  },
+                  "graph": {
+                    "type": "ServiceList",
+                    "dashboardName": "FaaS-Function",
+                    "fontSize": 12,
+                    "showXAxis": false,
+                    "showYAxis": false,
+                    "showGroup": false
+                  },
+                  "metrics": [
+                    "service_cpm"
+                  ],
+                  "metricTypes": [
+                    "readMetricsValues"
+                  ],
+                  "moved": false,
+                  "metricConfig": [
+                    {
+                      "label": "Load",
+                      "unit": "calls / min"
+                    }
+                  ]
+                }
+              ]
+            },
+            {
+              "name": "Topology",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Topology",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {
+                    "showDepth": true
+                  },
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false,
+                  "linkDashboard": "Function-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 calls / 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": 49,
+                  "i": "0",
+                  "type": "Trace",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {},
+                  "standard": {},
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false
+                }
+              ]
+            }
+          ],
+          "moved": false
+        },
+        {
+          "x": 0,
+          "y": 0,
+          "w": 24,
+          "h": 2,
+          "i": "2",
+          "type": "Text",
+          "metricTypes": [
+            ""
+          ],
+          "metrics": [
+            ""
+          ],
+          "graph": {
+            "fontColor": "black",
+            "backgroundColor": "white",
+            "content": "FaaS (Function-as-a-Service) is a type of cloud-computing service that allows you to execute code in response to events without the complex infrastructure typically associated with building and launching microservices applications. OpenFunction as a FaaS platform, provides out-of-box observability with SkyWalking integration.",

Review comment:
       Is there a pull request I could comment on? I would like to suggest `SkyWalking v9 required`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#issuecomment-1086049759


   And you should set the legend for service topology. Take a look at the general topology to refer.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] FeynmanZhou commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
FeynmanZhou commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r840737096



##########
File path: oap-server/server-starter/src/main/resources/ui-initialized-templates/faas/faas-root.json
##########
@@ -0,0 +1,163 @@
+/**
+ * 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-Root",
+    "configuration": {
+      "children": [
+        {
+          "x": 0,
+          "y": 0,
+          "w": 24,
+          "h": 52,
+          "i": "1",
+          "type": "Tab",
+          "widget": {
+            "title": "Title"
+          },
+          "graph": {},
+          "standard": {},
+          "metrics": [
+            ""
+          ],
+          "metricTypes": [
+            ""
+          ],
+          "activedTabIndex": 0,
+          "children": [
+            {
+              "name": "Functions",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Widget",
+                  "widget": {
+                    "title": ""
+                  },
+                  "graph": {
+                    "type": "ServiceList",
+                    "dashboardName": "Faas-Service",

Review comment:
       Can we update `Faas-Service` to `FaaS-Service` to keep it in a consistent format? IMO, `FaaS` is commonly used by people instead of `FAAS` or `Faas`. I am a little bit OCD about naming conventions 😄
   
   <img width="434" alt="image" src="https://user-images.githubusercontent.com/40452856/161300901-f40923f6-d9c2-4a12-9519-90bc296b10e9.png">
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] arugal commented on a change in pull request #8789: Add template of OpenFunction

Posted by GitBox <gi...@apache.org>.
arugal commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841047331



##########
File path: oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v8/ManagementServiceHandler.java
##########
@@ -47,13 +51,27 @@ public ManagementServiceHandler(ModuleManager moduleManager) {
                                           .getService(NamingControl.class);
     }
 
+    /**
+     * Identify the layer of instance. Such as ${@link Layer#FAAS}.
+     */
+    private Layer identifyInstanceLayer(String layer) {
+        try {
+            return Layer.nameOf(layer);
+        } catch (UnexpectedException e) {

Review comment:
       Done, set to GENERAL when layer is empty.
   
   ```java
       /**
        * Identify the layer of instance. Such as ${@link Layer#FAAS}.
        */
       private Layer identifyInstanceLayer(String layer) {
           if (StringUtil.isEmpty(layer)) {
               return Layer.GENERAL;
           } else {
               return Layer.nameOf(layer);
           }
       }
   ```
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng merged pull request #8789: Add template of OpenFunction

Posted by GitBox <gi...@apache.org>.
wu-sheng merged pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] arugal commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
arugal commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841040100



##########
File path: oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/Layer.java
##########
@@ -148,6 +150,10 @@ public static Layer valueOf(int value) {
         return layer;
     }
 
+    public static Layer nameOf(String name) {
+        return DICTIONARY_NAME.get(name);
+    }

Review comment:
       done




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wankai123 commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
wankai123 commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841037713



##########
File path: oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/Layer.java
##########
@@ -148,6 +150,10 @@ public static Layer valueOf(int value) {
         return layer;
     }
 
+    public static Layer nameOf(String name) {
+        return DICTIONARY_NAME.get(name);
+    }

Review comment:
       Suggestion throws a clear exception if gets null. 
   Others LGTM.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841044940



##########
File path: oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v8/ManagementServiceHandler.java
##########
@@ -47,13 +51,27 @@ public ManagementServiceHandler(ModuleManager moduleManager) {
                                           .getService(NamingControl.class);
     }
 
+    /**
+     * Identify the layer of instance. Such as ${@link Layer#FAAS}.
+     */
+    private Layer identifyInstanceLayer(String layer) {
+        try {
+            return Layer.nameOf(layer);
+        } catch (UnexpectedException e) {

Review comment:
       Using `exception` to control the process flow is not a good practice. `Layer#nameOf` throws an exception when an illegal name is correct, but also, you should have a new `Layer#has` method to avoid this catch.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on a change in pull request #8789: Add template of OpenFunction

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841053901



##########
File path: oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/parser/listener/RPCAnalysisListener.java
##########
@@ -286,20 +286,24 @@ public void build() {
             callingIn.prepare();
             sourceReceiver.receive(callingIn.toService());
             sourceReceiver.receive(callingIn.toServiceInstance());
-            sourceReceiver.receive(callingIn.toEndpoint());
             sourceReceiver.receive(callingIn.toServiceRelation());
             sourceReceiver.receive(callingIn.toServiceInstanceRelation());
-            EndpointRelation endpointRelation = callingIn.toEndpointRelation();
-            /*
-             * Parent endpoint could be none, because in SkyWalking Cross Process Propagation Headers Protocol v2,
-             * endpoint in ref could be empty, based on that, endpoint relation maybe can't be established.
-             * So, I am making this source as optional.
-             *
-             * Also, since 6.6.0, source endpoint could be none, if this trace begins by an internal task(local span or exit span), such as Timer,
-             * rather than, normally begin as an entry span, like a RPC server side.
-             */
-            if (endpointRelation != null) {
-                sourceReceiver.receive(endpointRelation);
+            // Service is equivalent to endpoint in FaaS (function as a service)
+            // Don't generate endpoint and endpoint dependency to avoid unnecessary costs.
+            if (Layer.FAAS != callingIn.getDestLayer()) {        

Review comment:
       I think this change somehow breaks UTs, please check locally.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] arugal commented on pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
arugal commented on pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#issuecomment-1086579339


   @wu-sheng @wankai123 @FeynmanZhou plase review :)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841044659



##########
File path: oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/Layer.java
##########
@@ -126,9 +126,11 @@
      */
     private final boolean isNormal;
     private static final Map<Integer, Layer> DICTIONARY = new HashMap<>();
+    private static final Map<String, Layer> DICTIONARY_NAME = new HashMap<>();
 
     static {
-        Arrays.stream(Layer.values()).collect(Collectors.toMap(Layer::value, layer -> layer)).forEach(DICTIONARY::put);
+        DICTIONARY.putAll(Arrays.stream(Layer.values()).collect(Collectors.toMap(Layer::value, layer -> layer)));
+        DICTIONARY_NAME.putAll(Arrays.stream(Layer.values()).collect(Collectors.toMap(Layer::name, layer -> layer)));

Review comment:
       I think these two are duplicate iterations. Please merge them.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] arugal commented on a change in pull request #8789: Add template of OpenFunction

Posted by GitBox <gi...@apache.org>.
arugal commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841047309



##########
File path: oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v8/ManagementServiceHandler.java
##########
@@ -47,13 +51,27 @@ public ManagementServiceHandler(ModuleManager moduleManager) {
                                           .getService(NamingControl.class);
     }
 
+    /**
+     * Identify the layer of instance. Such as ${@link Layer#FAAS}.
+     */
+    private Layer identifyInstanceLayer(String layer) {
+        try {
+            return Layer.nameOf(layer);
+        } catch (UnexpectedException e) {

Review comment:
       Done, set to GENERAL when layer is empty.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] FeynmanZhou commented on a change in pull request #8789: Add template of OpenFunction

Posted by GitBox <gi...@apache.org>.
FeynmanZhou commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841057460



##########
File path: oap-server/server-starter/src/main/resources/ui-initialized-templates/faas/faas-root.json
##########
@@ -0,0 +1,239 @@
+/**
+ * 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-Root",
+    "configuration": {
+      "children": [
+        {
+          "x": 0,
+          "y": 2,
+          "w": 24,
+          "h": 52,
+          "i": "1",
+          "type": "Tab",
+          "widget": {
+            "title": "Title"
+          },
+          "graph": {},
+          "metrics": [
+            ""
+          ],
+          "metricTypes": [
+            ""
+          ],
+          "activedTabIndex": 0,
+          "children": [
+            {
+              "name": "Function",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Widget",
+                  "widget": {
+                    "title": ""
+                  },
+                  "graph": {
+                    "type": "ServiceList",
+                    "dashboardName": "FaaS-Function",
+                    "fontSize": 12,
+                    "showXAxis": false,
+                    "showYAxis": false,
+                    "showGroup": false
+                  },
+                  "metrics": [
+                    "service_cpm"
+                  ],
+                  "metricTypes": [
+                    "readMetricsValues"
+                  ],
+                  "moved": false,
+                  "metricConfig": [
+                    {
+                      "label": "Load",
+                      "unit": "calls / min"
+                    }
+                  ]
+                }
+              ]
+            },
+            {
+              "name": "Topology",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Topology",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {
+                    "showDepth": true
+                  },
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false,
+                  "linkDashboard": "Function-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 calls / 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": 49,
+                  "i": "0",
+                  "type": "Trace",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {},
+                  "standard": {},
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false
+                }
+              ]
+            }
+          ],
+          "moved": false
+        },
+        {
+          "x": 0,
+          "y": 0,
+          "w": 24,
+          "h": 2,
+          "i": "2",
+          "type": "Text",
+          "metricTypes": [
+            ""
+          ],
+          "metrics": [
+            ""
+          ],
+          "graph": {
+            "fontColor": "black",
+            "backgroundColor": "white",
+            "content": "FaaS (Function-as-a-Service) is a type of cloud-computing service that allows you to execute code in response to events without the complex infrastructure typically associated with building and launching microservices applications. OpenFunction as a FaaS platform, provides out-of-box observability with SkyWalking integration.",

Review comment:
       LGTM




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] FeynmanZhou commented on a change in pull request #8789: Add template of OpenFunction

Posted by GitBox <gi...@apache.org>.
FeynmanZhou commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841057683



##########
File path: oap-server/server-starter/src/main/resources/ui-initialized-templates/faas/faas-root.json
##########
@@ -0,0 +1,239 @@
+/**
+ * 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-Root",
+    "configuration": {
+      "children": [
+        {
+          "x": 0,
+          "y": 2,
+          "w": 24,
+          "h": 52,
+          "i": "1",
+          "type": "Tab",
+          "widget": {
+            "title": "Title"
+          },
+          "graph": {},
+          "metrics": [
+            ""
+          ],
+          "metricTypes": [
+            ""
+          ],
+          "activedTabIndex": 0,
+          "children": [
+            {
+              "name": "Function",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Widget",
+                  "widget": {
+                    "title": ""
+                  },
+                  "graph": {
+                    "type": "ServiceList",
+                    "dashboardName": "FaaS-Function",
+                    "fontSize": 12,
+                    "showXAxis": false,
+                    "showYAxis": false,
+                    "showGroup": false
+                  },
+                  "metrics": [
+                    "service_cpm"
+                  ],
+                  "metricTypes": [
+                    "readMetricsValues"
+                  ],
+                  "moved": false,
+                  "metricConfig": [
+                    {
+                      "label": "Load",
+                      "unit": "calls / min"
+                    }
+                  ]
+                }
+              ]
+            },
+            {
+              "name": "Topology",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Topology",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {
+                    "showDepth": true
+                  },
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false,
+                  "linkDashboard": "Function-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 calls / 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": 49,
+                  "i": "0",
+                  "type": "Trace",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {},
+                  "standard": {},
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false
+                }
+              ]
+            }
+          ],
+          "moved": false
+        },
+        {
+          "x": 0,
+          "y": 0,
+          "w": 24,
+          "h": 2,
+          "i": "2",
+          "type": "Text",
+          "metricTypes": [
+            ""
+          ],
+          "metrics": [
+            ""
+          ],
+          "graph": {
+            "fontColor": "black",
+            "backgroundColor": "white",
+            "content": "FaaS (Function-as-a-Service) is a type of cloud-computing service that allows you to execute code in response to events without the complex infrastructure typically associated with building and launching microservices applications. OpenFunction as a FaaS platform, provides out-of-box observability with SkyWalking integration.",

Review comment:
       As for the document link, I will inform you later. Now, this doc is under review and you could preview it [here](https://deploy-preview-54--openfunction-dev.netlify.app/docs/best-practices/skywalking-solution-for-openfunction/).
   
   I could raise a PR to modify it to the OpenFunction website.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on a change in pull request #8789: Add template of OpenFunction

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841063944



##########
File path: oap-server/server-starter/src/main/resources/ui-initialized-templates/faas/faas-root.json
##########
@@ -0,0 +1,239 @@
+/**
+ * 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-Root",
+    "configuration": {
+      "children": [
+        {
+          "x": 0,
+          "y": 2,
+          "w": 24,
+          "h": 52,
+          "i": "1",
+          "type": "Tab",
+          "widget": {
+            "title": "Title"
+          },
+          "graph": {},
+          "metrics": [
+            ""
+          ],
+          "metricTypes": [
+            ""
+          ],
+          "activedTabIndex": 0,
+          "children": [
+            {
+              "name": "Function",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Widget",
+                  "widget": {
+                    "title": ""
+                  },
+                  "graph": {
+                    "type": "ServiceList",
+                    "dashboardName": "FaaS-Function",
+                    "fontSize": 12,
+                    "showXAxis": false,
+                    "showYAxis": false,
+                    "showGroup": false
+                  },
+                  "metrics": [
+                    "service_cpm"
+                  ],
+                  "metricTypes": [
+                    "readMetricsValues"
+                  ],
+                  "moved": false,
+                  "metricConfig": [
+                    {
+                      "label": "Load",
+                      "unit": "calls / min"
+                    }
+                  ]
+                }
+              ]
+            },
+            {
+              "name": "Topology",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Topology",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {
+                    "showDepth": true
+                  },
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false,
+                  "linkDashboard": "Function-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 calls / 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": 49,
+                  "i": "0",
+                  "type": "Trace",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {},
+                  "standard": {},
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false
+                }
+              ]
+            }
+          ],
+          "moved": false
+        },
+        {
+          "x": 0,
+          "y": 0,
+          "w": 24,
+          "h": 2,
+          "i": "2",
+          "type": "Text",
+          "metricTypes": [
+            ""
+          ],
+          "metrics": [
+            ""
+          ],
+          "graph": {
+            "fontColor": "black",
+            "backgroundColor": "white",
+            "content": "FaaS (Function-as-a-Service) is a type of cloud-computing service that allows you to execute code in response to events without the complex infrastructure typically associated with building and launching microservices applications. OpenFunction as a FaaS platform, provides out-of-box observability with SkyWalking integration.",

Review comment:
       > Use SkyWalking for OpenFunction as a Distributed Tracing Solution
   
   Change to
   
   > Use SkyWalking for OpenFunction as an observability solution.
   
   Because tracing solution usually means Jeager or Zipkin, pure tracing. But we provide metrics, tracing, and function-dependency(topology) here.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] FeynmanZhou commented on a change in pull request #8789: Add template of OpenFunction

Posted by GitBox <gi...@apache.org>.
FeynmanZhou commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r841065592



##########
File path: oap-server/server-starter/src/main/resources/ui-initialized-templates/faas/faas-root.json
##########
@@ -0,0 +1,239 @@
+/**
+ * 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-Root",
+    "configuration": {
+      "children": [
+        {
+          "x": 0,
+          "y": 2,
+          "w": 24,
+          "h": 52,
+          "i": "1",
+          "type": "Tab",
+          "widget": {
+            "title": "Title"
+          },
+          "graph": {},
+          "metrics": [
+            ""
+          ],
+          "metricTypes": [
+            ""
+          ],
+          "activedTabIndex": 0,
+          "children": [
+            {
+              "name": "Function",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Widget",
+                  "widget": {
+                    "title": ""
+                  },
+                  "graph": {
+                    "type": "ServiceList",
+                    "dashboardName": "FaaS-Function",
+                    "fontSize": 12,
+                    "showXAxis": false,
+                    "showYAxis": false,
+                    "showGroup": false
+                  },
+                  "metrics": [
+                    "service_cpm"
+                  ],
+                  "metricTypes": [
+                    "readMetricsValues"
+                  ],
+                  "moved": false,
+                  "metricConfig": [
+                    {
+                      "label": "Load",
+                      "unit": "calls / min"
+                    }
+                  ]
+                }
+              ]
+            },
+            {
+              "name": "Topology",
+              "children": [
+                {
+                  "x": 0,
+                  "y": 0,
+                  "w": 24,
+                  "h": 48,
+                  "i": "0",
+                  "type": "Topology",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {
+                    "showDepth": true
+                  },
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false,
+                  "linkDashboard": "Function-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 calls / 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": 49,
+                  "i": "0",
+                  "type": "Trace",
+                  "widget": {
+                    "title": "Title"
+                  },
+                  "graph": {},
+                  "standard": {},
+                  "metrics": [
+                    ""
+                  ],
+                  "metricTypes": [
+                    ""
+                  ],
+                  "moved": false
+                }
+              ]
+            }
+          ],
+          "moved": false
+        },
+        {
+          "x": 0,
+          "y": 0,
+          "w": 24,
+          "h": 2,
+          "i": "2",
+          "type": "Text",
+          "metricTypes": [
+            ""
+          ],
+          "metrics": [
+            ""
+          ],
+          "graph": {
+            "fontColor": "black",
+            "backgroundColor": "white",
+            "content": "FaaS (Function-as-a-Service) is a type of cloud-computing service that allows you to execute code in response to events without the complex infrastructure typically associated with building and launching microservices applications. OpenFunction as a FaaS platform, provides out-of-box observability with SkyWalking integration.",

Review comment:
       Good catch, the screenshot should be updated to SkyWalking v9, we will update it later. You can find the PR [here](https://github.com/OpenFunction/website/pull/54/files#diff-af2fbd3d6d086361a2eee05c4e3f117fc9ece85531c298c20b989ae70a242352).




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [skywalking] wu-sheng commented on a change in pull request #8789: Add template of Function

Posted by GitBox <gi...@apache.org>.
wu-sheng commented on a change in pull request #8789:
URL: https://github.com/apache/skywalking/pull/8789#discussion_r840680545



##########
File path: oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/Layer.java
##########
@@ -148,6 +150,14 @@ public static Layer valueOf(int value) {
         return layer;
     }
 
+    public static Layer nameOf(String name) {
+        Layer layer = DICTIONARY_NAME.get(name);
+        if (layer == null) {
+            return Layer.GENERAL;

Review comment:
       @arugal The `null as General` should move to handlers' sides to make forward compatibility. Not here.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org