Fix testLatestDeps in dubbo instrumentation (#6754)

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
This commit is contained in:
yingziisme 2022-09-27 01:03:31 +08:00 committed by GitHub
parent 6fdea85873
commit 4057dcc04a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 11 additions and 16 deletions

View File

@ -27,6 +27,4 @@ tasks.withType<Test>().configureEach {
jvmArgs("--add-opens=java.base/java.math=ALL-UNNAMED")
// required on jdk17
jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED")
systemProperty("testLatestDeps", findProperty("testLatestDeps") as Boolean)
}

View File

@ -6,9 +6,6 @@
package io.opentelemetry.instrumentation.apachedubbo.v2_7
import io.opentelemetry.instrumentation.test.AgentTestTrait
import spock.lang.IgnoreIf
// TODO (trask) fix the test on latest version of dubbo
@IgnoreIf({ Boolean.getBoolean("testLatestDeps") })
class DubboTraceChainTest extends AbstractDubboTraceChainTest implements AgentTestTrait {
}

View File

@ -19,6 +19,4 @@ tasks.withType<Test>().configureEach {
jvmArgs("--add-opens=java.base/java.math=ALL-UNNAMED")
// required on jdk17
jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED")
systemProperty("testLatestDeps", findProperty("testLatestDeps") as Boolean)
}

View File

@ -6,9 +6,6 @@
package io.opentelemetry.instrumentation.apachedubbo.v2_7
import io.opentelemetry.instrumentation.test.LibraryTestTrait
import spock.lang.IgnoreIf
// TODO (trask) fix the test on latest version of dubbo
@IgnoreIf({ Boolean.getBoolean("testLatestDeps") })
class DubboTraceChainTest extends AbstractDubboTraceChainTest implements LibraryTestTrait {
}

View File

@ -59,12 +59,12 @@ abstract class AbstractDubboTraceChainTest extends InstrumentationSpecification
return service
}
ServiceConfig configureMiddleServer(GenericService genericService) {
ServiceConfig configureMiddleServer(ReferenceConfig<HelloService> referenceConfig) {
def registerConfig = new RegistryConfig()
registerConfig.setAddress("N/A")
ServiceConfig<MiddleServiceImpl> service = new ServiceConfig<>()
service.setInterface(MiddleService)
service.setRef(new MiddleServiceImpl(genericService))
service.setRef(new MiddleServiceImpl(referenceConfig))
service.setRegistry(registerConfig)
return service
}
@ -89,7 +89,7 @@ abstract class AbstractDubboTraceChainTest extends InstrumentationSpecification
DubboBootstrap middleBootstrap = DubboBootstrap.newInstance()
middleBootstrap.application(new ApplicationConfig("dubbo-demo-middle"))
.reference(reference)
.service(configureMiddleServer(reference.get()))
.service(configureMiddleServer(reference))
.protocol(middleProtocolConfig)
.start()
@ -154,6 +154,9 @@ abstract class AbstractDubboTraceChainTest extends InstrumentationSpecification
"$SemanticAttributes.RPC_METHOD" "\$invoke"
"$SemanticAttributes.NET_PEER_NAME" "localhost"
"$SemanticAttributes.NET_PEER_PORT" Long
"net.sock.peer.addr" { it == null || String }
"net.sock.peer.port" { it == null || Long }
"net.sock.peer.name" { it == null || String }
}
}
span(4) {

View File

@ -6,18 +6,20 @@
package io.opentelemetry.instrumentation.apachedubbo.v2_7.impl;
import io.opentelemetry.instrumentation.apachedubbo.v2_7.api.MiddleService;
import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.rpc.service.GenericService;
public class MiddleServiceImpl implements MiddleService {
private final GenericService genericService;
private final ReferenceConfig<?> referenceConfig;
public MiddleServiceImpl(GenericService genericService) {
this.genericService = genericService;
public MiddleServiceImpl(ReferenceConfig<?> referenceConfig) {
this.referenceConfig = referenceConfig;
}
@Override
public String hello(String hello) {
GenericService genericService = (GenericService) referenceConfig.get();
return genericService
.$invoke("hello", new String[] {String.class.getName()}, new Object[] {hello})
.toString();