Fix testLatestDeps in dubbo instrumentation (#6754)
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
This commit is contained in:
parent
6fdea85873
commit
4057dcc04a
|
@ -27,6 +27,4 @@ tasks.withType<Test>().configureEach {
|
||||||
jvmArgs("--add-opens=java.base/java.math=ALL-UNNAMED")
|
jvmArgs("--add-opens=java.base/java.math=ALL-UNNAMED")
|
||||||
// required on jdk17
|
// required on jdk17
|
||||||
jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED")
|
jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED")
|
||||||
|
|
||||||
systemProperty("testLatestDeps", findProperty("testLatestDeps") as Boolean)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,9 +6,6 @@
|
||||||
package io.opentelemetry.instrumentation.apachedubbo.v2_7
|
package io.opentelemetry.instrumentation.apachedubbo.v2_7
|
||||||
|
|
||||||
import io.opentelemetry.instrumentation.test.AgentTestTrait
|
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 {
|
class DubboTraceChainTest extends AbstractDubboTraceChainTest implements AgentTestTrait {
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,4 @@ tasks.withType<Test>().configureEach {
|
||||||
jvmArgs("--add-opens=java.base/java.math=ALL-UNNAMED")
|
jvmArgs("--add-opens=java.base/java.math=ALL-UNNAMED")
|
||||||
// required on jdk17
|
// required on jdk17
|
||||||
jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED")
|
jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED")
|
||||||
|
|
||||||
systemProperty("testLatestDeps", findProperty("testLatestDeps") as Boolean)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,9 +6,6 @@
|
||||||
package io.opentelemetry.instrumentation.apachedubbo.v2_7
|
package io.opentelemetry.instrumentation.apachedubbo.v2_7
|
||||||
|
|
||||||
import io.opentelemetry.instrumentation.test.LibraryTestTrait
|
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 {
|
class DubboTraceChainTest extends AbstractDubboTraceChainTest implements LibraryTestTrait {
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,12 +59,12 @@ abstract class AbstractDubboTraceChainTest extends InstrumentationSpecification
|
||||||
return service
|
return service
|
||||||
}
|
}
|
||||||
|
|
||||||
ServiceConfig configureMiddleServer(GenericService genericService) {
|
ServiceConfig configureMiddleServer(ReferenceConfig<HelloService> referenceConfig) {
|
||||||
def registerConfig = new RegistryConfig()
|
def registerConfig = new RegistryConfig()
|
||||||
registerConfig.setAddress("N/A")
|
registerConfig.setAddress("N/A")
|
||||||
ServiceConfig<MiddleServiceImpl> service = new ServiceConfig<>()
|
ServiceConfig<MiddleServiceImpl> service = new ServiceConfig<>()
|
||||||
service.setInterface(MiddleService)
|
service.setInterface(MiddleService)
|
||||||
service.setRef(new MiddleServiceImpl(genericService))
|
service.setRef(new MiddleServiceImpl(referenceConfig))
|
||||||
service.setRegistry(registerConfig)
|
service.setRegistry(registerConfig)
|
||||||
return service
|
return service
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ abstract class AbstractDubboTraceChainTest extends InstrumentationSpecification
|
||||||
DubboBootstrap middleBootstrap = DubboBootstrap.newInstance()
|
DubboBootstrap middleBootstrap = DubboBootstrap.newInstance()
|
||||||
middleBootstrap.application(new ApplicationConfig("dubbo-demo-middle"))
|
middleBootstrap.application(new ApplicationConfig("dubbo-demo-middle"))
|
||||||
.reference(reference)
|
.reference(reference)
|
||||||
.service(configureMiddleServer(reference.get()))
|
.service(configureMiddleServer(reference))
|
||||||
.protocol(middleProtocolConfig)
|
.protocol(middleProtocolConfig)
|
||||||
.start()
|
.start()
|
||||||
|
|
||||||
|
@ -154,6 +154,9 @@ abstract class AbstractDubboTraceChainTest extends InstrumentationSpecification
|
||||||
"$SemanticAttributes.RPC_METHOD" "\$invoke"
|
"$SemanticAttributes.RPC_METHOD" "\$invoke"
|
||||||
"$SemanticAttributes.NET_PEER_NAME" "localhost"
|
"$SemanticAttributes.NET_PEER_NAME" "localhost"
|
||||||
"$SemanticAttributes.NET_PEER_PORT" Long
|
"$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) {
|
span(4) {
|
||||||
|
|
|
@ -6,18 +6,20 @@
|
||||||
package io.opentelemetry.instrumentation.apachedubbo.v2_7.impl;
|
package io.opentelemetry.instrumentation.apachedubbo.v2_7.impl;
|
||||||
|
|
||||||
import io.opentelemetry.instrumentation.apachedubbo.v2_7.api.MiddleService;
|
import io.opentelemetry.instrumentation.apachedubbo.v2_7.api.MiddleService;
|
||||||
|
import org.apache.dubbo.config.ReferenceConfig;
|
||||||
import org.apache.dubbo.rpc.service.GenericService;
|
import org.apache.dubbo.rpc.service.GenericService;
|
||||||
|
|
||||||
public class MiddleServiceImpl implements MiddleService {
|
public class MiddleServiceImpl implements MiddleService {
|
||||||
|
|
||||||
private final GenericService genericService;
|
private final ReferenceConfig<?> referenceConfig;
|
||||||
|
|
||||||
public MiddleServiceImpl(GenericService genericService) {
|
public MiddleServiceImpl(ReferenceConfig<?> referenceConfig) {
|
||||||
this.genericService = genericService;
|
this.referenceConfig = referenceConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String hello(String hello) {
|
public String hello(String hello) {
|
||||||
|
GenericService genericService = (GenericService) referenceConfig.get();
|
||||||
return genericService
|
return genericService
|
||||||
.$invoke("hello", new String[] {String.class.getName()}, new Object[] {hello})
|
.$invoke("hello", new String[] {String.class.getName()}, new Object[] {hello})
|
||||||
.toString();
|
.toString();
|
||||||
|
|
Loading…
Reference in New Issue