Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gdyjdao
SkyWalking
提交
89923d6a
S
SkyWalking
项目概览
gdyjdao
/
SkyWalking
与 Fork 源项目一致
Fork自
apache / SkyWalking
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SkyWalking
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
89923d6a
编写于
11月 17, 2019
作者:
Z
zhang-wei
提交者:
wu-sheng
11月 17, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[test/plugin] immigrate grpc scenario (#3840)
* grpc scenario * update support-version.list
上级
1041c345
变更
20
隐藏空白更改
内联
并排
Showing
20 changed file
with
1123 addition
and
4 deletion
+1123
-4
Jenkinsfile-Agent-Test-3
Jenkinsfile-Agent-Test-3
+7
-1
Jenkinsfile-Agent-Test-4
Jenkinsfile-Agent-Test-4
+2
-2
apm-sniffer/apm-sdk-plugin/grpc-1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/grpc/v1/CallServerInterceptor.java
.../skywalking/apm/plugin/grpc/v1/CallServerInterceptor.java
+2
-0
test/plugin/archetypes/jvm/src/main/resources/archetype-resources/pom.xml
...etypes/jvm/src/main/resources/archetype-resources/pom.xml
+0
-1
test/plugin/scenarios/grpc-scenario/bin/startup.sh
test/plugin/scenarios/grpc-scenario/bin/startup.sh
+21
-0
test/plugin/scenarios/grpc-scenario/config/expectedData.yaml
test/plugin/scenarios/grpc-scenario/config/expectedData.yaml
+253
-0
test/plugin/scenarios/grpc-scenario/configuration.yml
test/plugin/scenarios/grpc-scenario/configuration.yml
+23
-0
test/plugin/scenarios/grpc-scenario/pom.xml
test/plugin/scenarios/grpc-scenario/pom.xml
+152
-0
test/plugin/scenarios/grpc-scenario/src/main/assembly/assembly.xml
...in/scenarios/grpc-scenario/src/main/assembly/assembly.xml
+41
-0
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/Application.java
.../org/apache/skywalking/apm/testcase/grpc/Application.java
+35
-0
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/consumr/ConsumerInterceptor.java
...alking/apm/testcase/grpc/consumr/ConsumerInterceptor.java
+104
-0
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/controller/CaseController.java
...ywalking/apm/testcase/grpc/controller/CaseController.java
+132
-0
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/provider/ProviderConfiguration.java
...ing/apm/testcase/grpc/provider/ProviderConfiguration.java
+45
-0
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/provider/interceptor/ProviderInterceptor.java
...stcase/grpc/provider/interceptor/ProviderInterceptor.java
+89
-0
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/provider/service/GreeterBlockingServiceImpl.java
...ase/grpc/provider/service/GreeterBlockingServiceImpl.java
+31
-0
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/provider/service/GreeterServiceImpl.java
...pm/testcase/grpc/provider/service/GreeterServiceImpl.java
+52
-0
test/plugin/scenarios/grpc-scenario/src/main/proto/GreetService.proto
...scenarios/grpc-scenario/src/main/proto/GreetService.proto
+39
-0
test/plugin/scenarios/grpc-scenario/src/main/resources/application.yaml
...enarios/grpc-scenario/src/main/resources/application.yaml
+23
-0
test/plugin/scenarios/grpc-scenario/src/main/resources/log4j2.xml
...gin/scenarios/grpc-scenario/src/main/resources/log4j2.xml
+30
-0
test/plugin/scenarios/grpc-scenario/support-version.list
test/plugin/scenarios/grpc-scenario/support-version.list
+42
-0
未找到文件。
Jenkinsfile-Agent-Test-3
浏览文件 @
89923d6a
...
...
@@ -67,7 +67,7 @@ pipeline {
sh './mvnw -f test/plugin/pom.xml clean package -DskipTests docker:build'
}
}
stage('Test Cases Report (1
19
)') {
stage('Test Cases Report (1
40
)') {
steps {
echo "Test Cases Report"
}
...
...
@@ -115,6 +115,12 @@ pipeline {
sh 'bash test/plugin/run.sh mongodb-3.x-scenario'
}
}
stage('grpc 1.0.0-1.9.0 (21)') {
steps {
sh 'bash test/plugin/run.sh grpc-scenario'
}
}
}
}
}
...
...
Jenkinsfile-Agent-Test-4
浏览文件 @
89923d6a
...
...
@@ -115,7 +115,7 @@ pipeline {
}
}
}
stage('Group2') {
stages {
stage('elasticsearch-7.x-scenario 7.0.0-7.4.2 (11)') {
...
...
@@ -165,4 +165,4 @@ pipeline {
deleteDir()
}
}
}
}
\ No newline at end of file
apm-sniffer/apm-sdk-plugin/grpc-1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/grpc/v1/CallServerInterceptor.java
浏览文件 @
89923d6a
...
...
@@ -32,6 +32,7 @@ import org.apache.skywalking.apm.agent.core.context.ContextCarrier;
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.context.trace.SpanLayer
;
import
org.apache.skywalking.apm.network.trace.component.ComponentsDefine
;
import
org.apache.skywalking.apm.util.StringUtil
;
...
...
@@ -66,6 +67,7 @@ public class CallServerInterceptor implements ServerInterceptor {
final
AbstractSpan
span
=
ContextManager
.
createEntrySpan
(
OperationNameFormatUtil
.
formatOperationName
(
call
.
getMethodDescriptor
()),
contextCarrier
);
span
.
setComponent
(
ComponentsDefine
.
GRPC
);
SpanLayer
.
asRPCFramework
(
span
);
try
{
return
new
ServerCallListener
(
handler
.
startCall
(
new
ForwardingServerCall
.
SimpleForwardingServerCall
(
call
)
{
@Override
...
...
test/plugin/archetypes/jvm/src/main/resources/archetype-resources/pom.xml
浏览文件 @
89923d6a
...
...
@@ -73,7 +73,6 @@
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<version>
1.5.9.RELEASE
</version>
<executions>
<execution>
<goals>
...
...
test/plugin/scenarios/grpc-scenario/bin/startup.sh
0 → 100644
浏览文件 @
89923d6a
#!/bin/bash
#
# 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.
home
=
"
$(
cd
"
$(
dirname
$0
)
"
;
pwd
)
"
java
-jar
${
agent_opts
}
${
home
}
/../libs/grpc-scenario.jar &
\ No newline at end of file
test/plugin/scenarios/grpc-scenario/config/expectedData.yaml
0 → 100644
浏览文件 @
89923d6a
# 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.
registryItems
:
applications
:
-
{
grpc-scenario
:
2
}
instances
:
-
{
grpc-scenario
:
1
}
operationNames
:
-
grpc-scenario
:
[
Greeter.sayHello
,
GreeterBlocking.sayHello
,
/grpc-scenario/case/grpc-scenario
]
heartbeat
:
[]
segmentItems
:
-
applicationCode
:
grpc-scenario
segmentSize
:
gt
10
segments
:
-
segmentId
:
not
null
spans
:
-
operationName
:
GreeterBlocking.sayHello
operationId
:
0
parentSpanId
:
-1
spanId
:
0
spanLayer
:
RPCFramework
startTime
:
nq
0
endTime
:
nq
0
componentId
:
23
componentName
:
'
'
isError
:
false
spanType
:
Entry
peer
:
'
'
peerId
:
0
refs
:
-
{
parentEndpointId
:
0
,
parentEndpoint
:
/grpc-scenario/case/grpc-scenario
,
networkAddressId
:
0
,
entryEndpointId
:
0
,
refType
:
CrossProcess
,
parentSpanId
:
2
,
parentTraceSegmentId
:
not null
,
parentServiceInstanceId
:
1
,
networkAddress
:
'
127.0.0.1:18080'
,
entryEndpoint
:
/grpc-scenario/case/grpc-scenario
,
entryServiceInstanceId
:
1
}
-
segmentId
:
not
null
spans
:
-
operationName
:
Greeter.sayHello
operationId
:
0
parentSpanId
:
-1
spanId
:
0
spanLayer
:
RPCFramework
startTime
:
nq
0
endTime
:
nq
0
componentId
:
23
componentName
:
'
'
isError
:
false
spanType
:
Entry
peer
:
'
'
peerId
:
0
refs
:
-
{
parentEndpointId
:
0
,
parentEndpoint
:
/grpc-scenario/case/grpc-scenario
,
networkAddressId
:
0
,
entryEndpointId
:
0
,
refType
:
CrossProcess
,
parentSpanId
:
1
,
parentTraceSegmentId
:
not null
,
parentServiceInstanceId
:
1
,
networkAddress
:
'
127.0.0.1:18080'
,
entryEndpoint
:
/grpc-scenario/case/grpc-scenario
,
entryServiceInstanceId
:
1
}
-
segmentId
:
not
null
spans
:
-
operationName
:
GreeterBlocking.sayHello/server/RequestObserver/onNext
operationId
:
0
parentSpanId
:
-1
spanId
:
0
spanLayer
:
Unknown
startTime
:
nq
0
endTime
:
nq
0
componentId
:
0
componentName
:
'
'
isError
:
false
spanType
:
Local
peer
:
'
'
peerId
:
0
refs
:
-
{
parentEndpointId
:
0
,
parentEndpoint
:
GreeterBlocking.sayHello
,
networkAddressId
:
0
,
entryEndpointId
:
0
,
refType
:
CrossThread
,
parentSpanId
:
0
,
parentTraceSegmentId
:
not null
,
parentServiceInstanceId
:
1
,
networkAddress
:
'
'
,
entryEndpoint
:
/grpc-scenario/case/grpc-scenario
,
entryServiceInstanceId
:
1
}
-
segmentId
:
not
null
spans
:
-
operationName
:
Greeter.sayHello/server/RequestObserver/onNext
operationId
:
0
parentSpanId
:
-1
spanId
:
0
spanLayer
:
Unknown
startTime
:
nq
0
endTime
:
nq
0
componentId
:
0
componentName
:
'
'
isError
:
false
spanType
:
Local
peer
:
'
'
peerId
:
0
refs
:
-
{
parentEndpointId
:
0
,
parentEndpoint
:
Greeter.sayHello
,
networkAddressId
:
0
,
entryEndpointId
:
0
,
refType
:
CrossThread
,
parentSpanId
:
0
,
parentTraceSegmentId
:
not null
,
parentServiceInstanceId
:
1
,
networkAddress
:
'
'
,
entryEndpoint
:
/grpc-scenario/case/grpc-scenario
,
entryServiceInstanceId
:
1
}
-
segmentId
:
not
null
spans
:
-
operationName
:
Greeter.sayHello/client/ResponseObserver/onNext
operationId
:
0
parentSpanId
:
-1
spanId
:
0
spanLayer
:
Unknown
startTime
:
nq
0
endTime
:
nq
0
componentId
:
0
componentName
:
'
'
isError
:
false
spanType
:
Local
peer
:
'
'
peerId
:
0
refs
:
-
{
parentEndpointId
:
0
,
parentEndpoint
:
/grpc-scenario/case/grpc-scenario
,
networkAddressId
:
0
,
entryEndpointId
:
0
,
refType
:
CrossThread
,
parentSpanId
:
1
,
parentTraceSegmentId
:
not null
,
parentServiceInstanceId
:
1
,
networkAddress
:
'
'
,
entryEndpoint
:
/grpc-scenario/case/grpc-scenario
,
entryServiceInstanceId
:
1
}
-
segmentId
:
not
null
spans
:
-
operationName
:
Greeter.sayHello/client/ResponseObserver/onComplete
operationId
:
0
parentSpanId
:
-1
spanId
:
0
spanLayer
:
Unknown
startTime
:
nq
0
endTime
:
nq
0
componentId
:
0
componentName
:
'
'
isError
:
false
spanType
:
Local
peer
:
'
'
peerId
:
0
refs
:
-
{
parentEndpointId
:
0
,
parentEndpoint
:
/grpc-scenario/case/grpc-scenario
,
networkAddressId
:
0
,
entryEndpointId
:
0
,
refType
:
CrossThread
,
parentSpanId
:
1
,
parentTraceSegmentId
:
not null
,
parentServiceInstanceId
:
1
,
networkAddress
:
'
'
,
entryEndpoint
:
/grpc-scenario/case/grpc-scenario
,
entryServiceInstanceId
:
1
}
-
segmentId
:
not
null
spans
:
-
operationName
:
Greeter.sayHello/server/RequestObserver/onNext
operationId
:
0
parentSpanId
:
-1
spanId
:
0
spanLayer
:
Unknown
startTime
:
nq
0
endTime
:
nq
0
componentId
:
0
componentName
:
'
'
isError
:
false
spanType
:
Local
peer
:
'
'
peerId
:
0
refs
:
-
{
parentEndpointId
:
0
,
parentEndpoint
:
Greeter.sayHello
,
networkAddressId
:
0
,
entryEndpointId
:
0
,
refType
:
CrossThread
,
parentSpanId
:
0
,
parentTraceSegmentId
:
not null
,
parentServiceInstanceId
:
1
,
networkAddress
:
'
'
,
entryEndpoint
:
/grpc-scenario/case/grpc-scenario
,
entryServiceInstanceId
:
1
}
-
segmentId
:
not
null
spans
:
-
operationName
:
Greeter.sayHello/server/RequestObserver/onComplete
operationId
:
0
parentSpanId
:
-1
spanId
:
0
spanLayer
:
Unknown
startTime
:
nq
0
endTime
:
nq
0
componentId
:
0
componentName
:
'
'
isError
:
false
spanType
:
Local
peer
:
'
'
peerId
:
0
refs
:
-
{
parentEndpointId
:
0
,
parentEndpoint
:
Greeter.sayHello
,
networkAddressId
:
0
,
entryEndpointId
:
0
,
refType
:
CrossThread
,
parentSpanId
:
0
,
parentTraceSegmentId
:
not null
,
parentServiceInstanceId
:
1
,
networkAddress
:
'
'
,
entryEndpoint
:
/grpc-scenario/case/grpc-scenario
,
entryServiceInstanceId
:
1
}
-
segmentId
:
not
null
spans
:
-
operationName
:
Greeter.sayHello
operationId
:
0
parentSpanId
:
0
spanId
:
1
spanLayer
:
RPCFramework
startTime
:
nq
0
endTime
:
nq
0
componentId
:
23
componentName
:
'
'
isError
:
false
spanType
:
Exit
peer
:
'
127.0.0.1:18080'
peerId
:
0
-
operationName
:
GreeterBlocking.sayHello
operationId
:
0
parentSpanId
:
0
spanId
:
2
spanLayer
:
RPCFramework
startTime
:
nq
0
endTime
:
nq
0
componentId
:
23
componentName
:
'
'
isError
:
false
spanType
:
Exit
peer
:
'
127.0.0.1:18080'
peerId
:
0
-
operationName
:
/grpc-scenario/case/grpc-scenario
operationId
:
0
parentSpanId
:
-1
spanId
:
0
spanLayer
:
Http
startTime
:
nq
0
endTime
:
nq
0
componentId
:
1
componentName
:
'
'
isError
:
false
spanType
:
Entry
peer
:
'
'
peerId
:
0
tags
:
-
{
key
:
url
,
value
:
'
http://localhost:8080/grpc-scenario/case/grpc-scenario'
}
-
{
key
:
http.method
,
value
:
GET
}
-
segmentId
:
not
null
spans
:
-
operationName
:
Greeter.sayHello/client/ResponseObserver/onNext
operationId
:
0
parentSpanId
:
-1
spanId
:
0
spanLayer
:
Unknown
startTime
:
nq
0
endTime
:
nq
0
componentId
:
0
componentName
:
'
'
isError
:
false
spanType
:
Local
peer
:
'
'
peerId
:
0
refs
:
-
{
parentEndpointId
:
0
,
parentEndpoint
:
/grpc-scenario/case/grpc-scenario
,
networkAddressId
:
0
,
entryEndpointId
:
0
,
refType
:
CrossThread
,
parentSpanId
:
1
,
parentTraceSegmentId
:
not null
,
parentServiceInstanceId
:
1
,
networkAddress
:
'
'
,
entryEndpoint
:
/grpc-scenario/case/grpc-scenario
,
entryServiceInstanceId
:
1
}
test/plugin/scenarios/grpc-scenario/configuration.yml
0 → 100644
浏览文件 @
89923d6a
# 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.
type
:
jvm
entryService
:
http://localhost:8080/grpc-scenario/case/grpc-scenario
healthCheck
:
http://localhost:8080/grpc-scenario/case/healthCheck
startScript
:
./bin/startup.sh
framework
:
grpc-scenario
environment
:
dependencies
:
\ No newline at end of file
test/plugin/scenarios/grpc-scenario/pom.xml
0 → 100644
浏览文件 @
89923d6a
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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.
~
-->
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<groupId>
org.apache.skywalking.apm.testcase
</groupId>
<artifactId>
grpc-scenario
</artifactId>
<version>
1.0.0
</version>
<packaging>
jar
</packaging>
<modelVersion>
4.0.0
</modelVersion>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<compiler.version>
1.8
</compiler.version>
<test.framework.version>
1.6.0
</test.framework.version>
<spring-boot-version>
2.1.6.RELEASE
</spring-boot-version>
</properties>
<name>
skywalking-grpc-scenario
</name>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-dependencies
</artifactId>
<version>
${spring-boot-version}
</version>
<type>
pom
</type>
<scope>
import
</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
<exclusions>
<exclusion>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-logging
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-log4j2
</artifactId>
</dependency>
<!-- grpc -->
<dependency>
<groupId>
io.grpc
</groupId>
<artifactId>
grpc-all
</artifactId>
<version>
${test.framework.version}
</version>
</dependency>
</dependencies>
<build>
<finalName>
grpc-scenario
</finalName>
<extensions>
<extension>
<groupId>
kr.motd.maven
</groupId>
<artifactId>
os-maven-plugin
</artifactId>
<version>
1.5.0.Final
</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<executions>
<execution>
<goals>
<goal>
repackage
</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<source>
${compiler.version}
</source>
<target>
${compiler.version}
</target>
<encoding>
${project.build.sourceEncoding}
</encoding>
</configuration>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-assembly-plugin
</artifactId>
<executions>
<execution>
<id>
assemble
</id>
<phase>
package
</phase>
<goals>
<goal>
single
</goal>
</goals>
<configuration>
<descriptors>
<descriptor>
src/main/assembly/assembly.xml
</descriptor>
</descriptors>
<outputDirectory>
./target/
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>
org.xolstice.maven.plugins
</groupId>
<artifactId>
protobuf-maven-plugin
</artifactId>
<version>
0.5.0
</version>
<configuration>
<!--
The version of protoc must match protobuf-java. If you don't depend on
protobuf-java directly, you will be transitively depending on the
protobuf-java version that grpc depends on.
-->
<protocArtifact>
com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier}
</protocArtifact>
<pluginId>
grpc-java
</pluginId>
<pluginArtifact>
io.grpc:protoc-gen-grpc-java:${test.framework.version}:exe:${os.detected.classifier}
</pluginArtifact>
</configuration>
<executions>
<execution>
<goals>
<goal>
compile
</goal>
<goal>
compile-custom
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
test/plugin/scenarios/grpc-scenario/src/main/assembly/assembly.xml
0 → 100644
浏览文件 @
89923d6a
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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.
~
-->
<assembly
xmlns=
"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"
>
<formats>
<format>
zip
</format>
</formats>
<fileSets>
<fileSet>
<directory>
./bin
</directory>
<fileMode>
0775
</fileMode>
</fileSet>
</fileSets>
<files>
<file>
<source>
${project.build.directory}/grpc-scenario.jar
</source>
<outputDirectory>
./libs
</outputDirectory>
<fileMode>
0775
</fileMode>
</file>
</files>
</assembly>
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/Application.java
0 → 100644
浏览文件 @
89923d6a
/*
* 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.testcase.grpc
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
@SpringBootApplication
public
class
Application
{
public
static
void
main
(
String
[]
args
)
{
try
{
SpringApplication
.
run
(
Application
.
class
,
args
);
}
catch
(
Exception
e
)
{
// Never do this
}
}
}
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/consumr/ConsumerInterceptor.java
0 → 100644
浏览文件 @
89923d6a
/*
* 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.testcase.grpc.consumr
;
import
io.grpc.CallOptions
;
import
io.grpc.Channel
;
import
io.grpc.ClientCall
;
import
io.grpc.ClientInterceptor
;
import
io.grpc.ForwardingClientCall
;
import
io.grpc.ForwardingClientCallListener
;
import
io.grpc.Metadata
;
import
io.grpc.MethodDescriptor
;
import
io.grpc.Status
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
javax.annotation.Nullable
;
public
class
ConsumerInterceptor
implements
ClientInterceptor
{
private
Logger
logger
=
LogManager
.
getLogger
(
ConsumerInterceptor
.
class
);
@Override
public
<
ReqT
,
RespT
>
ClientCall
<
ReqT
,
RespT
>
interceptCall
(
MethodDescriptor
<
ReqT
,
RespT
>
descriptor
,
CallOptions
options
,
Channel
channel
)
{
logger
.
info
(
"start interceptor!"
);
logger
.
info
(
"method type: {}"
,
descriptor
.
getType
());
return
new
ForwardingClientCall
.
SimpleForwardingClientCall
<
ReqT
,
RespT
>(
channel
.
newCall
(
descriptor
,
options
))
{
@Override
public
void
start
(
Listener
<
RespT
>
responseListener
,
Metadata
headers
)
{
logger
.
info
(
"Peer: {}"
,
channel
.
authority
());
logger
.
info
(
"Operation Name : {}"
,
descriptor
.
getFullMethodName
());
Interceptor
<
RespT
>
tracingResponseListener
=
new
Interceptor
(
responseListener
);
tracingResponseListener
.
contextSnapshot
=
"contextSnapshot"
;
delegate
().
start
(
tracingResponseListener
,
headers
);
}
@Override
public
void
cancel
(
@Nullable
String
message
,
@Nullable
Throwable
cause
)
{
logger
.
info
(
"cancel"
);
super
.
cancel
(
message
,
cause
);
}
@Override
public
void
halfClose
()
{
logger
.
info
(
"halfClose"
);
super
.
halfClose
();
}
@Override
public
void
sendMessage
(
ReqT
message
)
{
logger
.
info
(
"sendMessage ...."
);
super
.
sendMessage
(
message
);
}
};
}
private
static
class
Interceptor
<
RespT
>
extends
ForwardingClientCallListener
.
SimpleForwardingClientCallListener
<
RespT
>
{
private
Logger
logger
=
LogManager
.
getLogger
(
Interceptor
.
class
);
private
Object
contextSnapshot
;
protected
Interceptor
(
ClientCall
.
Listener
<
RespT
>
delegate
)
{
super
(
delegate
);
}
@Override
public
void
onHeaders
(
Metadata
headers
)
{
logger
.
info
(
"on Headers"
);
for
(
String
key
:
headers
.
keys
())
{
logger
.
info
(
"Receive key: {}"
,
key
);
}
delegate
().
onHeaders
(
headers
);
}
@Override
public
void
onMessage
(
RespT
message
)
{
logger
.
info
(
"contextSnapshot: {}"
,
contextSnapshot
);
delegate
().
onMessage
(
message
);
}
@Override
public
void
onClose
(
Status
status
,
Metadata
trailers
)
{
logger
.
info
(
"on close"
);
delegate
().
onClose
(
status
,
trailers
);
}
@Override
public
void
onReady
()
{
logger
.
info
(
"on Ready"
);
super
.
onReady
();
}
}
}
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/controller/CaseController.java
0 → 100644
浏览文件 @
89923d6a
/*
* 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.testcase.grpc.controller
;
import
io.grpc.ClientInterceptors
;
import
io.grpc.ManagedChannel
;
import
io.grpc.ManagedChannelBuilder
;
import
io.grpc.stub.ClientCallStreamObserver
;
import
io.grpc.stub.ClientResponseObserver
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.apache.skywalking.apm.testcase.grpc.consumr.ConsumerInterceptor
;
import
org.apache.skywalking.apm.testcase.grpc.proto.GreeterBlockingGrpc
;
import
org.apache.skywalking.apm.testcase.grpc.proto.GreeterGrpc
;
import
org.apache.skywalking.apm.testcase.grpc.proto.HelloReply
;
import
org.apache.skywalking.apm.testcase.grpc.proto.HelloRequest
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.PostConstruct
;
import
java.util.Arrays
;
import
java.util.Iterator
;
import
java.util.List
;
@RestController
@RequestMapping
(
"/case"
)
public
class
CaseController
{
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
CaseController
.
class
);
private
static
final
String
SUCCESS
=
"Success"
;
private
final
String
gprcProviderHost
=
"127.0.0.1"
;
private
final
int
grpcProviderPort
=
18080
;
private
ManagedChannel
channel
;
private
GreeterGrpc
.
GreeterStub
greeterStub
;
private
GreeterBlockingGrpc
.
GreeterBlockingBlockingStub
greeterBlockingStub
;
@PostConstruct
public
void
up
()
{
channel
=
ManagedChannelBuilder
.
forAddress
(
gprcProviderHost
,
grpcProviderPort
).
usePlaintext
(
true
).
build
();
greeterStub
=
GreeterGrpc
.
newStub
(
ClientInterceptors
.
intercept
(
channel
,
new
ConsumerInterceptor
()));
greeterBlockingStub
=
GreeterBlockingGrpc
.
newBlockingStub
(
ClientInterceptors
.
intercept
(
channel
,
new
ConsumerInterceptor
()));
}
@RequestMapping
(
"/grpc-scenario"
)
@ResponseBody
public
String
testcase
()
{
greetService
();
greetBlockingService
();
return
SUCCESS
;
}
@RequestMapping
(
"/healthCheck"
)
@ResponseBody
public
String
healthCheck
()
{
// your codes
return
SUCCESS
;
}
private
static
List
<
String
>
names
()
{
return
Arrays
.
asList
(
"Sophia"
,
"Jackson"
);
}
private
void
greetService
()
{
ClientResponseObserver
<
HelloRequest
,
HelloReply
>
helloReplyStreamObserver
=
new
ClientResponseObserver
<
HelloRequest
,
HelloReply
>()
{
private
ClientCallStreamObserver
<
HelloRequest
>
requestStream
;
@Override
public
void
beforeStart
(
ClientCallStreamObserver
observer
)
{
this
.
requestStream
=
observer
;
this
.
requestStream
.
setOnReadyHandler
(
new
Runnable
()
{
Iterator
<
String
>
iterator
=
names
().
iterator
();
@Override
public
void
run
()
{
while
(
requestStream
.
isReady
())
{
if
(
iterator
.
hasNext
())
{
String
name
=
iterator
.
next
();
HelloRequest
request
=
HelloRequest
.
newBuilder
().
setName
(
name
).
build
();
requestStream
.
onNext
(
request
);
}
else
{
requestStream
.
onCompleted
();
}
}
}
});
}
@Override
public
void
onNext
(
HelloReply
reply
)
{
logger
.
info
(
"Receive an message from provider. message: {}"
,
reply
.
getMessage
());
requestStream
.
request
(
1
);
}
public
void
onError
(
Throwable
throwable
)
{
logger
.
error
(
"Failed to send data"
,
throwable
);
}
public
void
onCompleted
()
{
logger
.
info
(
"All Done"
);
}
};
greeterStub
.
sayHello
(
helloReplyStreamObserver
);
}
private
void
greetBlockingService
()
{
HelloRequest
request
=
HelloRequest
.
newBuilder
().
setName
(
"Sophia"
).
build
();
greeterBlockingStub
.
sayHello
(
request
);
}
}
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/provider/ProviderConfiguration.java
0 → 100644
浏览文件 @
89923d6a
/*
* 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.testcase.grpc.provider
;
import
io.grpc.Server
;
import
io.grpc.ServerBuilder
;
import
io.grpc.ServerInterceptors
;
import
org.apache.skywalking.apm.testcase.grpc.provider.interceptor.ProviderInterceptor
;
import
org.apache.skywalking.apm.testcase.grpc.provider.service.GreeterBlockingServiceImpl
;
import
org.apache.skywalking.apm.testcase.grpc.provider.service.GreeterServiceImpl
;
import
org.springframework.beans.factory.annotation.Configurable
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.stereotype.Component
;
/**
* @author zhangwei
*/
@Configurable
@Component
public
class
ProviderConfiguration
{
@Bean
(
initMethod
=
"start"
,
destroyMethod
=
"shutdown"
)
public
Server
server
()
{
return
ServerBuilder
.
forPort
(
18080
)
.
addService
(
ServerInterceptors
.
intercept
(
new
GreeterServiceImpl
(),
new
ProviderInterceptor
()))
.
addService
(
ServerInterceptors
.
intercept
(
new
GreeterBlockingServiceImpl
(),
new
ProviderInterceptor
()))
.
build
();
}
}
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/provider/interceptor/ProviderInterceptor.java
0 → 100644
浏览文件 @
89923d6a
/*
* 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.testcase.grpc.provider.interceptor
;
import
io.grpc.ForwardingServerCall
;
import
io.grpc.ForwardingServerCallListener
;
import
io.grpc.Metadata
;
import
io.grpc.ServerCall
;
import
io.grpc.ServerCallHandler
;
import
io.grpc.ServerInterceptor
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
java.util.HashMap
;
import
java.util.Map
;
public
class
ProviderInterceptor
implements
ServerInterceptor
{
private
Logger
logger
=
LogManager
.
getLogger
(
ProviderInterceptor
.
class
);
@Override
public
<
ReqT
,
RespT
>
ServerCall
.
Listener
<
ReqT
>
interceptCall
(
ServerCall
<
ReqT
,
RespT
>
call
,
Metadata
metadata
,
ServerCallHandler
<
ReqT
,
RespT
>
handler
)
{
Map
<
String
,
String
>
headerMap
=
new
HashMap
<
String
,
String
>();
for
(
String
key
:
metadata
.
keys
())
{
logger
.
info
(
"Receive key: {}"
,
key
);
if
(!
key
.
endsWith
(
Metadata
.
BINARY_HEADER_SUFFIX
))
{
String
value
=
metadata
.
get
(
Metadata
.
Key
.
of
(
key
,
Metadata
.
ASCII_STRING_MARSHALLER
));
headerMap
.
put
(
key
,
value
);
}
}
logger
.
info
(
"authority : {}"
,
call
.
getAuthority
());
return
new
ForwardingServerCallListener
.
SimpleForwardingServerCallListener
<
ReqT
>(
handler
.
startCall
(
new
ForwardingServerCall
.
SimpleForwardingServerCall
<
ReqT
,
RespT
>(
call
)
{
@Override
public
void
sendHeaders
(
Metadata
responseHeaders
)
{
logger
.
info
(
"sendHeaders...."
);
Metadata
.
Key
<
String
>
headerKey
=
Metadata
.
Key
.
of
(
"test-server"
,
Metadata
.
ASCII_STRING_MARSHALLER
);
responseHeaders
.
put
(
headerKey
,
"test-server"
);
delegate
().
sendHeaders
(
responseHeaders
);
}
@Override
public
void
sendMessage
(
RespT
message
)
{
delegate
().
sendMessage
(
message
);
}
},
metadata
))
{
@Override
public
void
onReady
()
{
logger
.
info
(
"onReady...."
);
delegate
().
onReady
();
}
@Override
public
void
onCancel
()
{
logger
.
info
(
"onCancel...."
);
delegate
().
onCancel
();
}
@Override
public
void
onComplete
()
{
logger
.
info
(
"onComplete...."
);
delegate
().
onComplete
();
}
@Override
public
void
onHalfClose
()
{
logger
.
info
(
"onHalfClose...."
);
delegate
().
onHalfClose
();
}
@Override
public
void
onMessage
(
ReqT
message
)
{
logger
.
info
(
"onMessage...."
);
delegate
().
onMessage
(
message
);
}
};
}
}
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/provider/service/GreeterBlockingServiceImpl.java
0 → 100644
浏览文件 @
89923d6a
/*
* 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.testcase.grpc.provider.service
;
import
io.grpc.stub.StreamObserver
;
import
org.apache.skywalking.apm.testcase.grpc.proto.GreeterBlockingGrpc
;
import
org.apache.skywalking.apm.testcase.grpc.proto.HelloReply
;
import
org.apache.skywalking.apm.testcase.grpc.proto.HelloRequest
;
public
class
GreeterBlockingServiceImpl
extends
GreeterBlockingGrpc
.
GreeterBlockingImplBase
{
@Override
public
void
sayHello
(
HelloRequest
request
,
StreamObserver
<
HelloReply
>
responseObserver
)
{
responseObserver
.
onNext
(
HelloReply
.
newBuilder
().
setMessage
(
"Hi,"
+
request
.
getName
()).
build
());
responseObserver
.
onCompleted
();
}
}
test/plugin/scenarios/grpc-scenario/src/main/java/org/apache/skywalking/apm/testcase/grpc/provider/service/GreeterServiceImpl.java
0 → 100644
浏览文件 @
89923d6a
/*
* 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.testcase.grpc.provider.service
;
import
io.grpc.stub.StreamObserver
;
import
org.apache.skywalking.apm.testcase.grpc.proto.GreeterGrpc
;
import
org.apache.skywalking.apm.testcase.grpc.proto.HelloReply
;
import
org.apache.skywalking.apm.testcase.grpc.proto.HelloRequest
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
public
class
GreeterServiceImpl
extends
GreeterGrpc
.
GreeterImplBase
{
private
Logger
logger
=
LogManager
.
getLogger
(
GreeterServiceImpl
.
class
);
@Override
public
StreamObserver
<
HelloRequest
>
sayHello
(
final
StreamObserver
<
HelloReply
>
responseObserver
)
{
StreamObserver
<
HelloRequest
>
requestStreamObserver
=
new
StreamObserver
<
HelloRequest
>()
{
public
void
onNext
(
HelloRequest
request
)
{
logger
.
info
(
"Receive an message from client. Message: {}"
,
request
.
getName
());
responseObserver
.
onNext
(
HelloReply
.
newBuilder
().
setMessage
(
"Hi,"
+
request
.
getName
()).
build
());
}
public
void
onError
(
Throwable
throwable
)
{
responseObserver
.
onError
(
throwable
);
}
public
void
onCompleted
()
{
logger
.
info
(
"End the stream."
);
responseObserver
.
onCompleted
();
}
};
return
requestStreamObserver
;
}
}
test/plugin/scenarios/grpc-scenario/src/main/proto/GreetService.proto
0 → 100644
浏览文件 @
89923d6a
/*
* 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.
*
*/
syntax
=
"proto3"
;
option
java_multiple_files
=
true
;
option
java_package
=
"org.apache.skywalking.apm.testcase.grpc.proto"
;
service
Greeter
{
rpc
SayHello
(
stream
HelloRequest
)
returns
(
stream
HelloReply
)
{
}
}
service
GreeterBlocking
{
rpc
SayHello
(
HelloRequest
)
returns
(
HelloReply
)
{
}
}
message
HelloRequest
{
string
name
=
1
;
}
message
HelloReply
{
string
message
=
1
;
}
\ No newline at end of file
test/plugin/scenarios/grpc-scenario/src/main/resources/application.yaml
0 → 100644
浏览文件 @
89923d6a
#
# 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.
#
#
server
:
port
:
8080
servlet
:
context-path
:
/grpc-scenario
logging
:
config
:
classpath:log4j2.xml
\ No newline at end of file
test/plugin/scenarios/grpc-scenario/src/main/resources/log4j2.xml
0 → 100644
浏览文件 @
89923d6a
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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.
~
-->
<Configuration
status=
"WARN"
>
<Appenders>
<Console
name=
"Console"
target=
"SYSTEM_ERR"
>
<PatternLayout
charset=
"UTF-8"
pattern=
"[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] - %l - %m%n"
/>
</Console>
</Appenders>
<Loggers>
<Root
level=
"WARN"
>
<AppenderRef
ref=
"Console"
/>
</Root>
</Loggers>
</Configuration>
\ No newline at end of file
test/plugin/scenarios/grpc-scenario/support-version.list
0 → 100644
浏览文件 @
89923d6a
# 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
# "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.
# INTERNAL: HTTP/2 error code: INTERNAL_ERROR Received Goaway occur in test cases 1.0.0 to 1.5.0
# So these versions were not included in support-version.list. if you know what caused it, please help us.
# Contains only the last version number of each minor version
1.25.0
1.24.2
1.23.1
1.22.3
1.21.1
1.20.0
1.19.0
1.18.0
1.17.1
1.16.1
1.15.1
1.14.0
1.13.2
1.12.1
1.11.0
1.10.1
1.9.1
1.8.0
1.7.1
1.7.0
1.6.1
1.6.0
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录