Add support for connecting spans on same JVM using span context store

Description

In addition to propagation that sends information about trace between different JVMs, we can include the additional way of saving SpanContext on same JVM and reusing it later. The use cases are:

  • HTTP requests ends in unchecked exception and HTTP server fires another request to the /error page. This way we could connect these two requests. In this case we can use setAttribute and getAttribute on HttpRequest class.

  • To support span connections between different theads on same JVM we need same approach, a store were we can save span context. In this case the store is our Runnable/Callabe being executed.

Environment

None

Activity

Show:
Technical User
May 17, 2017, 8:28 AM

SUCCESS: Integrated in

inspectIT - Integration #288
INSPECTIT-2408: Span context store support (patrice.bouillet: 80d300e5745e38e4d3b88576aa51e1e9fe91ad4d)

  • (add) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/tracing/core/adapter/SpanContextStore.java

  • (edit) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/tracing/core/adapter/http/data/impl/JavaHttpServerRequest.java

  • (edit) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/tracing/core/adapter/empty/EmptyRequestAdapter.java

  • (edit) inspectit.agent.java/src/test/java/rocks/inspectit/agent/java/sensor/method/remote/server/http/JavaHttpRemoteServerSensorTest.java

  • (edit) inspectit.agent.java/src/test/java/rocks/inspectit/agent/java/sensor/method/remote/server/manual/ManualRemoteServerSensorTest.java

  • (edit) inspectit.agent.java.sdk/src/main/java/rocks/inspectit/agent/java/sdk/opentracing/internal/impl/SpanBuilderImpl.java

  • (add) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/tracing/core/adapter/store/NoopSpanContextStore.java

  • (edit) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/tracing/core/adapter/http/HttpServerRequestAdapter.java

  • (edit) inspectit.agent.java/src/test/java/rocks/inspectit/agent/java/sensor/method/remote/server/mq/JmsListenerRemoteServerSensorTest.java

  • (edit) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/tracing/core/adapter/ServerRequestAdapter.java

  • (edit) inspectit.agent.java.sdk/src/test/java/rocks/inspectit/agent/java/sdk/opentracing/internal/impl/SpanBuilderImplTest.java

  • (edit) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/tracing/core/adapter/mq/MQRequestAdapter.java

  • (edit) inspectit.agent.java/src/test/java/rocks/inspectit/agent/java/tracing/core/ServerInterceptorTest.java

  • (edit) inspectit.agent.java/src/main/java/rocks/inspectit/agent/java/tracing/core/ServerInterceptor.java

Fixed

Assignee

Ivan Senic

Reporter

Ivan Senic

Labels

None

Integrator

Patrice Bouillet

Components

Sprint

None

Fix versions

Priority

High
Configure