This is an automated email from the ASF dual-hosted git repository. wusheng pushed a commit to branch release-polish in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit ffbf8a55c24ad89456b0ff860b0e079409382f4b Author: Wu Sheng <[email protected]> AuthorDate: Wed Jun 10 17:12:22 2020 +0800 UI is ready for 8.0.0 release. --- README.md | 8 +- .../skywalking/apm/agent/core/conf/Config.java | 15 ---- .../core/context/OperationNameFormatService.java | 92 ---------------------- docs/en/setup/service-agent/java-agent/README.md | 3 - .../service-agent/java-agent/op_name_group_rule.md | 21 ----- skywalking-ui | 2 +- 6 files changed, 5 insertions(+), 136 deletions(-) diff --git a/README.md b/README.md index 194ae75..d1e95b5 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ SkyWalking OAP is using the STAM(Streaming Topology Analysis Method) to analysis for better performance. Read [the paper of STAM](https://wu-sheng.github.io/STAM/) for more details. # Document -[8.x dev](docs/README.md) | [7.0](https://github.com/apache/skywalking/blob/v7.0.0/docs/README.md) | [6.6](https://github.com/apache/skywalking/blob/v6.6.0/docs/README.md), [6.5](https://github.com/apache/skywalking/blob/v6.5.0/docs/README.md). +[8.x dev](docs/README.md), [8.0](https://github.com/apache/skywalking/blob/v8.0.0/docs/README.md) | [7.0](https://github.com/apache/skywalking/blob/v7.0.0/docs/README.md) | [6.6](https://github.com/apache/skywalking/blob/v6.6.0/docs/README.md), [6.5](https://github.com/apache/skywalking/blob/v6.5.0/docs/README.md). NOTICE, SkyWalking 8.0+ uses [v3 protocols](docs/en/protocols/README.md). They are incompatible with previous releases. @@ -71,15 +71,15 @@ Host in Beijing. Go to [demo](http://122.112.182.72:8080). <td width="100%" align="center" colspan="2"><b>Dashboard</b></td> </tr> <tr> - <td><img src="http://skywalking.apache.org/screenshots/6.1.0/dashboard-1.png"/></td> - <td><img src="http://skywalking.apache.org/screenshots/6.1.0/dashboard-2.png"/></td> + <td><img src="http://skywalking.apache.org/screenshots/8.0.0/dashboard-1.png"/></td> + <td><img src="http://skywalking.apache.org/screenshots/8.0.0/dashboard-2.png"/></td> </tr> <tr> <td width="50%" align="center"><b>Topology Map</b></td> <td width="50%" align="center"><b>Trace</b></td> </tr> <tr> - <td><img src="http://skywalking.apache.org/screenshots/6.1.0/topology.png"/></td> + <td><img src="http://skywalking.apache.org/screenshots/8.0.0/topology.png"/></td> <td><img src="http://skywalking.apache.org/screenshots/6.1.0/trace.png"/></td> </tr> </table> diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/conf/Config.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/conf/Config.java index c3d9213..172015f 100755 --- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/conf/Config.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/conf/Config.java @@ -365,21 +365,6 @@ public class Config { public static boolean TRACE_OPS_PARAMS = false; } - /** - * Operation name group rules - */ - public static class OPGroup { - /* - * Since 6.6.0, exit span is not requesting endpoint register, - * this group rule is not required. - * - * Keep this commented, just as a reminder that, it will be reused in a RPC server side plugin. - */ - // public static class RestTemplate implements OPGroupDefinition { - // public static Map<String, String> RULE = new HashMap<String, String>(); - // } - } - public static class Light4J { /** * If true, trace all middleware/business handlers that are part of the Light4J handler chain for a request, diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/OperationNameFormatService.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/OperationNameFormatService.java deleted file mode 100644 index 210201f..0000000 --- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/OperationNameFormatService.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * 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. - * - */ - -package org.apache.skywalking.apm.agent.core.context; - -import java.lang.reflect.Field; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import org.apache.skywalking.apm.agent.core.boot.BootService; -import org.apache.skywalking.apm.agent.core.boot.DefaultImplementor; -import org.apache.skywalking.apm.agent.core.conf.Config; -import org.apache.skywalking.apm.agent.core.conf.OPGroupDefinition; -import org.apache.skywalking.apm.util.StringFormatGroup; - -/** - * Support operation name format by config. Every plugin could declare its own rule to avoid performance concerns. - * <p> - * Right now, the rule is REGEX based, it definitely has much space to optimize, because basically, only `*` is required - * to be supported. - */ -@DefaultImplementor -public class OperationNameFormatService implements BootService { - private static final Map<Class, StringFormatGroup> RULES = new ConcurrentHashMap<Class, StringFormatGroup>(); - - @Override - public void prepare() throws Throwable { - for (Class<?> ruleName : Config.Plugin.OPGroup.class.getClasses()) { - if (!OPGroupDefinition.class.isAssignableFrom(ruleName)) { - continue; - } - StringFormatGroup formatGroup = RULES.get(ruleName); - if (formatGroup == null) { - formatGroup = new StringFormatGroup(); - RULES.put(ruleName, formatGroup); - } - for (Field ruleNameField : ruleName.getFields()) { - if (ruleNameField.getType().equals(Map.class)) { - Map<String, String> rule = (Map<String, String>) ruleNameField.get(null); - for (Map.Entry<String, String> entry : rule.entrySet()) { - formatGroup.addRule(entry.getKey(), entry.getValue()); - } - } - } - } - } - - @Override - public void boot() { - - } - - @Override - public void onComplete() { - - } - - @Override - public void shutdown() { - - } - - /** - * Format the operation name based on group rules - * - * @param definition in the Config - * @param opName represents the operation name literal string - * @return format string if rule matched or the given opName - */ - public String formatOperationName(Class<? extends OPGroupDefinition> definition, String opName) { - StringFormatGroup formatGroup = RULES.get(definition); - if (formatGroup == null) { - return opName; - } else { - return formatGroup.format(opName).getName(); - } - } -} diff --git a/docs/en/setup/service-agent/java-agent/README.md b/docs/en/setup/service-agent/java-agent/README.md index f55260d..0c53d0c 100755 --- a/docs/en/setup/service-agent/java-agent/README.md +++ b/docs/en/setup/service-agent/java-agent/README.md @@ -169,9 +169,6 @@ Now, we have the following known bootstrap plugins. SkyWalking java agent supports plugin to extend [the supported list](Supported-list.md). Please follow our [Plugin Development Guide](../../../guides/Java-Plugin-Development-Guide.md). -If some RPC framework endpoints(server side) could include parameter, please read [Operation Name Group Rule](op_name_group_rule.md), -and consider to add this feature. - # Test If you are interested in plugin compatible tests or agent performance, see the following reports. * [Plugin Test in every Pull Request](https://github.com/apache/skywalking/actions?query=workflow%3APluginsTest) diff --git a/docs/en/setup/service-agent/java-agent/op_name_group_rule.md b/docs/en/setup/service-agent/java-agent/op_name_group_rule.md deleted file mode 100644 index 6deaca2..0000000 --- a/docs/en/setup/service-agent/java-agent/op_name_group_rule.md +++ /dev/null @@ -1,21 +0,0 @@ -# Operation Name Group Rule -Operation Name in auto instrumentation agent is unpredictable, some time, target application carries parameter in it, due to the parameter included in URI mostly. -Those operation name are also as known endpoint name in most cases. -Such as /api/checkTicket/tk/{userToken}. - -We solved most of these cases, by leverage the parameter pattern path in framework, such as SpringMVC, Webflux, etc. -In this case, it is undetected in this way, so we have to ask the users to set the group rule manually. - -All rules are supported to set through agent.config, system properties and system env, like other agent settings. -- Config format, `plugin.opgroup.`plugin name`.rule[`rule name`]`=pattern regex expression - -Multiple configuration items for a single plugin with different keys are supports, such as -1. plugin.opgroup.resttemplate.rule[/rule1]=/path1 -1. plugin.opgroup.resttemplate.rule[/rule2]=/path2 -1. plugin.opgroup.resttemplate.rule[/rule2]=/path3 - -We have following plugins supporting operation name group. - -| Plugin | Config Key | Example | -|:----:|:-----:|:----| -|RestTemplate| plugin.opgroup.resttemplate.rule | plugin.opgroup.resttemplate.rule[/user/auth/{token}]=`\/user\/auth\/.*` | diff --git a/skywalking-ui b/skywalking-ui index b0e4726..1069067 160000 --- a/skywalking-ui +++ b/skywalking-ui @@ -1 +1 @@ -Subproject commit b0e47262fa76b39b8fe58bff1f737892e84e7709 +Subproject commit 106906748de662524fec519cc1738485fe18221b
