Podling Report Reminder - March 2018

2018-02-25 Thread johndament
Dear podling,

This email was sent by an automated system on behalf of the Apache
Incubator PMC. It is an initial reminder to give you plenty of time to
prepare your quarterly board report.

The board meeting is scheduled for Wed, 21 March 2018, 10:30 am PDT.
The report for your podling will form a part of the Incubator PMC
report. The Incubator PMC requires your report to be submitted 2 weeks
before the board meeting, to allow sufficient time for review and
submission (Wed, March 07).

Please submit your report with sufficient time to allow the Incubator
PMC, and subsequently board members to review and digest. Again, the
very latest you should submit your report is 2 weeks prior to the board
meeting.

Thanks,

The Apache Incubator PMC

Submitting your Report

--

Your report should contain the following:

*   Your project name
*   A brief description of your project, which assumes no knowledge of
the project or necessarily of its field
*   A list of the three most important issues to address in the move
towards graduation.
*   Any issues that the Incubator PMC or ASF Board might wish/need to be
aware of
*   How has the community developed since the last report
*   How has the project developed since the last report.
*   How does the podling rate their own maturity.

This should be appended to the Incubator Wiki page at:

https://wiki.apache.org/incubator/March2018

Note: This is manually populated. You may need to wait a little before
this page is created from a template.

Mentors
---

Mentors should review reports for their project(s) and sign them off on
the Incubator wiki page. Signing off reports shows that you are
following the project - projects that are not signed may raise alarms
for the Incubator PMC.

Incubator PMC


[GitHub] wu-sheng commented on a change in pull request #770: Decouple JDBCURL parser logic from URLParser question

2018-02-25 Thread GitBox
wu-sheng commented on a change in pull request #770: Decouple JDBCURL parser 
logic from URLParser question
URL: 
https://github.com/apache/incubator-skywalking/pull/770#discussion_r170469391
 
 

 ##
 File path: 
apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/URLParser.java
 ##
 @@ -29,22 +33,36 @@
  */
 public class URLParser {
 
-private static final String MYSQL_JDBC_URL_PREFIX = "jdbc:mysql";
-private static final String ORACLE_JDBC_URL_PREFIX = "jdbc:oracle";
-private static final String H2_JDBC_URL_PREFIX = "jdbc:h2";
-private static final String POSTGRESQL_JDBC_URL_PREFIX = "jdbc:postgresql";
+private static ServiceLoader JDBCPARSERS
+= ServiceLoader.load(ConnectionURLParser.class, URLParser.class
+.getClassLoader());
 
 Review comment:
   what is your meaning? can you provide more details?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] zone1511 commented on a change in pull request #770: Decouple JDBCURL parser logic from URLParser question

2018-02-25 Thread GitBox
zone1511 commented on a change in pull request #770: Decouple JDBCURL parser 
logic from URLParser question
URL: 
https://github.com/apache/incubator-skywalking/pull/770#discussion_r170457587
 
 

 ##
 File path: 
apm-sniffer/apm-sdk-plugin/jdbc-commons/src/main/java/org/apache/skywalking/apm/plugin/jdbc/connectionurl/parser/URLParser.java
 ##
 @@ -29,22 +33,36 @@
  */
 public class URLParser {
 
-private static final String MYSQL_JDBC_URL_PREFIX = "jdbc:mysql";
-private static final String ORACLE_JDBC_URL_PREFIX = "jdbc:oracle";
-private static final String H2_JDBC_URL_PREFIX = "jdbc:h2";
-private static final String POSTGRESQL_JDBC_URL_PREFIX = "jdbc:postgresql";
+private static ServiceLoader JDBCPARSERS
+= ServiceLoader.load(ConnectionURLParser.class, URLParser.class
+.getClassLoader());
 
 Review comment:
   I use a standalone java app with the agent to test and if I use 
`AgentClassLoader#getDefault` it will result loading a URLparser implementation 
which is not compatible with URLParser


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] coveralls commented on issue #829: [Agent] Support hystrix plugin

2018-02-25 Thread GitBox
coveralls commented on issue #829:  [Agent] Support hystrix plugin
URL: 
https://github.com/apache/incubator-skywalking/pull/829#issuecomment-368309589
 
 
   
   [![Coverage 
Status](https://coveralls.io/builds/15687436/badge)](https://coveralls.io/builds/15687436)
   
   Coverage increased (+0.002%) to 19.515% when pulling 
**b4d58cd19bf6853d8d96d7c8abb88482a4832e15 on 
ascrutae:feature/support-hystrix-plugin** into 
**e8477c0fdfc112671b9eae2e2284f5f63f623815 on apache:master**.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] coveralls commented on issue #829: [Agent] Support hystrix plugin

2018-02-25 Thread GitBox
coveralls commented on issue #829:  [Agent] Support hystrix plugin
URL: 
https://github.com/apache/incubator-skywalking/pull/829#issuecomment-368309589
 
 
   
   [![Coverage 
Status](https://coveralls.io/builds/15686882/badge)](https://coveralls.io/builds/15686882)
   
   Coverage increased (+0.002%) to 19.515% when pulling 
**65456716a3fbfabb2e78814f21a531c69b66e141 on 
ascrutae:feature/support-hystrix-plugin** into 
**e8477c0fdfc112671b9eae2e2284f5f63f623815 on apache:master**.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] wu-sheng commented on a change in pull request #829: [Agent] Support hystrix plugin

2018-02-25 Thread GitBox
wu-sheng commented on a change in pull request #829:  [Agent] Support hystrix 
plugin
URL: 
https://github.com/apache/incubator-skywalking/pull/829#discussion_r170453086
 
 

 ##
 File path: 
apm-sniffer/apm-sdk-plugin/hystrix-1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/hystrix/v1/HystrixCommandConstructorInterceptor.java
 ##
 @@ -0,0 +1,57 @@
+/*
+ * 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.plugin.hystrix.v1;
+
+import com.netflix.hystrix.HystrixCollapser;
+import com.netflix.hystrix.HystrixCommand;
+import com.netflix.hystrix.HystrixObservableCollapser;
+import com.netflix.hystrix.HystrixObservableCommand;
+import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance;
+import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
+
+public class HystrixCommandConstructorInterceptor implements 
InstanceConstructorInterceptor {
+
+@Override
+public void onConstruct(EnhancedInstance objInst, Object[] allArguments) {
+String identifyKey = "";
+
+if (HystrixCommand.class.isAssignableFrom(objInst.getClass())) {
+HystrixCommand hystrixCommand = (HystrixCommand)objInst;
+identifyKey = hystrixCommand.getCommandKey().name();
+}
+
+if (HystrixCollapser.class.isAssignableFrom(objInst.getClass())) {
+HystrixCollapser hystrixCommand = (HystrixCollapser)objInst;
+identifyKey = hystrixCommand.getCollapserKey().name();
+}
+
+if 
(HystrixObservableCollapser.class.isAssignableFrom(objInst.getClass())) {
+HystrixObservableCollapser hystrixCommand = 
(HystrixObservableCollapser)objInst;
+identifyKey = hystrixCommand.getCollapserKey().name();
+}
+
+if 
(HystrixObservableCommand.class.isAssignableFrom(objInst.getClass())) {
+HystrixObservableCommand hystrixCommand = 
(HystrixObservableCommand)objInst;
+identifyKey = hystrixCommand.getCommandKey().name();
+}
+
 
 Review comment:
   Is there a way to reorganize these `if`s ? Put them in a `if/else` way for 
improving performance?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] wu-sheng commented on a change in pull request #829: [Agent] Support hystrix plugin

2018-02-25 Thread GitBox
wu-sheng commented on a change in pull request #829:  [Agent] Support hystrix 
plugin
URL: 
https://github.com/apache/incubator-skywalking/pull/829#discussion_r170453740
 
 

 ##
 File path: 
apm-sniffer/apm-sdk-plugin/hystrix-1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/hystrix/v1/HystrixCommandConstructorInterceptor.java
 ##
 @@ -0,0 +1,57 @@
+/*
+ * 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.plugin.hystrix.v1;
+
+import com.netflix.hystrix.HystrixCollapser;
+import com.netflix.hystrix.HystrixCommand;
+import com.netflix.hystrix.HystrixObservableCollapser;
+import com.netflix.hystrix.HystrixObservableCommand;
+import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance;
+import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
+
+public class HystrixCommandConstructorInterceptor implements 
InstanceConstructorInterceptor {
+
+@Override
+public void onConstruct(EnhancedInstance objInst, Object[] allArguments) {
+String identifyKey = "";
+
+if (HystrixCommand.class.isAssignableFrom(objInst.getClass())) {
+HystrixCommand hystrixCommand = (HystrixCommand)objInst;
+identifyKey = hystrixCommand.getCommandKey().name();
+}
+
+if (HystrixCollapser.class.isAssignableFrom(objInst.getClass())) {
+HystrixCollapser hystrixCommand = (HystrixCollapser)objInst;
+identifyKey = hystrixCommand.getCollapserKey().name();
+}
+
+if 
(HystrixObservableCollapser.class.isAssignableFrom(objInst.getClass())) {
+HystrixObservableCollapser hystrixCommand = 
(HystrixObservableCollapser)objInst;
+identifyKey = hystrixCommand.getCollapserKey().name();
+}
+
+if 
(HystrixObservableCommand.class.isAssignableFrom(objInst.getClass())) {
+HystrixObservableCommand hystrixCommand = 
(HystrixObservableCommand)objInst;
+identifyKey = hystrixCommand.getCommandKey().name();
+}
+
+objInst.setSkyWalkingDynamicField(new 
EnhanceRequireObjectCache("Hystrix/" + identifyKey));
 
 Review comment:
   What is the `identifyKey` here? Can you give me some examples about your 
operation names?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] wu-sheng commented on a change in pull request #829: [Agent] Support hystrix plugin

2018-02-25 Thread GitBox
wu-sheng commented on a change in pull request #829:  [Agent] Support hystrix 
plugin
URL: 
https://github.com/apache/incubator-skywalking/pull/829#discussion_r170453249
 
 

 ##
 File path: 
apm-sniffer/apm-sdk-plugin/hystrix-1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/hystrix/v1/SWExecutionHookWrapper.java
 ##
 @@ -0,0 +1,101 @@
+/*
+ * 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.plugin.hystrix.v1;
+
+import com.netflix.hystrix.HystrixInvokable;
+import com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook;
+import org.apache.skywalking.apm.agent.core.context.ContextManager;
+import org.apache.skywalking.apm.agent.core.context.ContextSnapshot;
+import org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan;
+import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance;
+import org.apache.skywalking.apm.network.trace.component.ComponentsDefine;
+
+public class SWExecutionHookWrapper extends HystrixCommandExecutionHook {
+private final HystrixCommandExecutionHook actual;
+
+public SWExecutionHookWrapper(HystrixCommandExecutionHook actual) {
+this.actual = actual;
+}
+
+@Override
+public  void onStart(HystrixInvokable commandInstance) {
+EnhancedInstance enhancedInstance = (EnhancedInstance)commandInstance;
+EnhanceRequireObjectCache enhanceRequireObjectCache = 
(EnhanceRequireObjectCache)enhancedInstance.getSkyWalkingDynamicField();
+enhanceRequireObjectCache.setContextSnapshot(ContextManager.capture());
+actual.onStart(commandInstance);
+}
+
+/**
+ * execution method
+ */
+
 
 Review comment:
   Empty line.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] wu-sheng commented on a change in pull request #829: [Agent] Support hystrix plugin

2018-02-25 Thread GitBox
wu-sheng commented on a change in pull request #829:  [Agent] Support hystrix 
plugin
URL: 
https://github.com/apache/incubator-skywalking/pull/829#discussion_r170453627
 
 

 ##
 File path: 
apm-sniffer/apm-sdk-plugin/hystrix-1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/hystrix/v1/SWExecutionHookWrapper.java
 ##
 @@ -0,0 +1,101 @@
+/*
+ * 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.plugin.hystrix.v1;
+
+import com.netflix.hystrix.HystrixInvokable;
+import com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook;
+import org.apache.skywalking.apm.agent.core.context.ContextManager;
+import org.apache.skywalking.apm.agent.core.context.ContextSnapshot;
+import org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan;
+import 
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance;
+import org.apache.skywalking.apm.network.trace.component.ComponentsDefine;
+
+public class SWExecutionHookWrapper extends HystrixCommandExecutionHook {
+private final HystrixCommandExecutionHook actual;
+
+public SWExecutionHookWrapper(HystrixCommandExecutionHook actual) {
+this.actual = actual;
+}
+
+@Override
+public  void onStart(HystrixInvokable commandInstance) {
+EnhancedInstance enhancedInstance = (EnhancedInstance)commandInstance;
+EnhanceRequireObjectCache enhanceRequireObjectCache = 
(EnhanceRequireObjectCache)enhancedInstance.getSkyWalkingDynamicField();
+enhanceRequireObjectCache.setContextSnapshot(ContextManager.capture());
+actual.onStart(commandInstance);
+}
+
+/**
+ * execution method
+ */
+
+@Override public  void onExecutionStart(HystrixInvokable 
commandInstance) {
+// create a local span, and continued, The `execution method` running 
in other thread if the
+// hystrix strategy is `THREAD`.
+EnhancedInstance enhancedInstance = (EnhancedInstance)commandInstance;
+EnhanceRequireObjectCache enhanceRequireObjectCache = 
(EnhanceRequireObjectCache)enhancedInstance.getSkyWalkingDynamicField();
+ContextSnapshot snapshot = 
enhanceRequireObjectCache.getContextSnapshot();
+
+AbstractSpan activeSpan = 
ContextManager.createLocalSpan(enhanceRequireObjectCache.getOperationNamePrefix()
 + "/Execution");
+activeSpan.setComponent(ComponentsDefine.HYSTRIX);
+ContextManager.continued(snapshot);
+actual.onExecutionStart(commandInstance);
+
+// Because of `fall back` method running in other thread. so we need 
capture concurrent span for tracing.
+enhanceRequireObjectCache.setContextSnapshot(ContextManager.capture());
+}
+
+@Override public  Exception onExecutionError(HystrixInvokable 
commandInstance, Exception e) {
+ContextManager.activeSpan().errorOccurred().log(e);
+ContextManager.stopSpan();
+return actual.onExecutionError(commandInstance, e);
+}
+
+@Override public  void onExecutionSuccess(HystrixInvokable 
commandInstance) {
+ContextManager.stopSpan();
+actual.onExecutionSuccess(commandInstance);
+}
+
+/**
+ * Fallback
+ */
+
 
 Review comment:
   empty line again.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] coveralls commented on issue #829: [Agent] Support hystrix plugin

2018-02-25 Thread GitBox
coveralls commented on issue #829:  [Agent] Support hystrix plugin
URL: 
https://github.com/apache/incubator-skywalking/pull/829#issuecomment-368309589
 
 
   
   [![Coverage 
Status](https://coveralls.io/builds/15686689/badge)](https://coveralls.io/builds/15686689)
   
   Coverage increased (+0.002%) to 19.515% when pulling 
**c58c9ec412d391d46494c0a14056c181020f525e on 
ascrutae:feature/support-hystrix-plugin** into 
**e8477c0fdfc112671b9eae2e2284f5f63f623815 on apache:master**.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] ascrutae opened a new pull request #829: [Agent] Support hystrix plugin

2018-02-25 Thread GitBox
ascrutae opened a new pull request #829:  [Agent] Support hystrix plugin
URL: https://github.com/apache/incubator-skywalking/pull/829
 
 
   Please answer these questions before submitting pull request
   
   - Why submit this pull request?
   - [ ] Bug fix
   - [x] New feature provided
   - [ ] Improve performance
   
   - Related issues
   #612 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] coveralls commented on issue #796: support rocketMQ-3.x-plugin (from 3.0.4-open to 3.4.6.Final)

2018-02-25 Thread GitBox
coveralls commented on issue #796: support rocketMQ-3.x-plugin (from 3.0.4-open 
to 3.4.6.Final)
URL: 
https://github.com/apache/incubator-skywalking/pull/796#issuecomment-363673676
 
 
   
   [![Coverage 
Status](https://coveralls.io/builds/15686206/badge)](https://coveralls.io/builds/15686206)
   
   Coverage increased (+0.1%) to 19.646% when pulling 
**eb70abdc0c3561a95307a6a47c4746adf50ee9d2 on carlvine500:master** into 
**e8477c0fdfc112671b9eae2e2284f5f63f623815 on apache:master**.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] ascrutae opened a new pull request #828: [Agent] fix HierarchyMatch donot support generic type

2018-02-25 Thread GitBox
ascrutae opened a new pull request #828: [Agent] fix HierarchyMatch donot 
support generic type
URL: https://github.com/apache/incubator-skywalking/pull/828
 
 
   Please answer these questions before submitting pull request
   
   - Why submit this pull request?
   - [ ] Bug fix
   - [x] New feature provided
   - [ ] Improve performance
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services