<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic OpenTelemetry business transactions only show HTTP Post in Splunk AppDynamics</title>
    <link>https://community.splunk.com/t5/Splunk-AppDynamics/OpenTelemetry-business-transactions-only-show-HTTP-Post/m-p/727914#M5996</link>
    <description>&lt;P&gt;For 3 Spring Boot applications (2 classic servlet and one spring cloud gateway in front) I have enabled OTEL and see the first metrics arriving successfully in my Controller.&lt;/P&gt;&lt;P&gt;Due to whatever reasons it seems that the Business Transactions only show that the app is NodeJS &amp;amp; the name of the Transaction is HTTP Post. I don't see the different routes that are available via the gateway &amp;amp; routed to the 2 classic spring boot applications.&lt;/P&gt;&lt;P&gt;For a short test I also reconfigured the collector to log every request instead of forwarding it to the controller, please see attached details about the request:&lt;/P&gt;&lt;PRE class="lia-code-sample language-markup"&gt;&lt;CODE&gt;Resource attributes:
     -&amp;gt; appdynamics.controller.account: Str(acme)
     -&amp;gt; appdynamics.controller.host: Str(acme.saas.appdynamics.com)
     -&amp;gt; appdynamics.controller.port: Int(443)
     -&amp;gt; service.name: Str(gateway)
     -&amp;gt; service.namespace: Str(acme-namespace)
     -&amp;gt; telemetry.sdk.language: Str(java)
     -&amp;gt; telemetry.sdk.name: Str(opentelemetry)
     -&amp;gt; telemetry.sdk.version: Str(1.16.0)
ScopeSpans #0
ScopeSpans SchemaURL:
InstrumentationScope org.springframework.cloud.sleuth
Span #0
    Trace ID       : 5fea943a828ccd2fff3072992d4e5ab6
    Parent ID      :
    ID             : 5a8b847d55a33279
    Name           : HTTP GET
    Kind           : SPAN_KIND_SERVER
    Start time     : 2022-10-29 17:19:45.595667 +0000 UTC
    End time       : 2022-10-29 17:19:45.640038791 +0000 UTC
    Status code    : STATUS_CODE_ERROR
    Status message :
Attributes:
     -&amp;gt; http.host: Str(localhost:8881)
     -&amp;gt; http.method: Str(GET)
     -&amp;gt; http.path: Str(/api/acme/endpoint)
     -&amp;gt; http.route: Str(/api/acme/endpoint)
     -&amp;gt; http.scheme: Str(http)
     -&amp;gt; http.status_code: Int(500)
     -&amp;gt; http.target: Str(/api/acme/endpoint)
     -&amp;gt; http.user_agent: Str(curl/7.79.1)
     -&amp;gt; net.host.name: Str(localhost)
     -&amp;gt; net.transport: Str(http)
Events:
SpanEvent #0
     -&amp;gt; Name: exception
     -&amp;gt; Timestamp: 2022-10-29 17:19:45.637675125 +0000 UTC
     -&amp;gt; DroppedAttributesCount: 0
     -&amp;gt; Attributes::
          -&amp;gt; exception.message: Str(Connection refused: localhost/[0:0:0:0:0:0:0:1]:8884)
          -&amp;gt; exception.stacktrace: Str(io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/[0:0:0:0:0:0:0:1]:8884
	Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below:
Error has been observed at the following site(s):
	*__checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authorization.AuthorizationWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authorization.ExceptionTranslationWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authentication.logout.LogoutWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.savedrequest.ServerRequestCacheWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.context.SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authentication.AuthenticationWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.context.ReactorContextWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.header.HttpHeaderWriterWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.config.web.server.ServerHttpSecurity$ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
Original Stack Trace:
Caused by: java.net.ConnectException: Connection refused
	at java.base/sun.nio.ch.Net.pollConnect(Native Method)
	at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
	at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946)
	at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337)
	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:833)
)
          -&amp;gt; exception.type: Str(io.netty.channel.AbstractChannel.AnnotatedConnectException)&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Any idea?&lt;/P&gt;</description>
    <pubDate>Sat, 29 Oct 2022 17:33:23 GMT</pubDate>
    <dc:creator>Björn_Wenzel</dc:creator>
    <dc:date>2022-10-29T17:33:23Z</dc:date>
    <item>
      <title>OpenTelemetry business transactions only show HTTP Post</title>
      <link>https://community.splunk.com/t5/Splunk-AppDynamics/OpenTelemetry-business-transactions-only-show-HTTP-Post/m-p/727914#M5996</link>
      <description>&lt;P&gt;For 3 Spring Boot applications (2 classic servlet and one spring cloud gateway in front) I have enabled OTEL and see the first metrics arriving successfully in my Controller.&lt;/P&gt;&lt;P&gt;Due to whatever reasons it seems that the Business Transactions only show that the app is NodeJS &amp;amp; the name of the Transaction is HTTP Post. I don't see the different routes that are available via the gateway &amp;amp; routed to the 2 classic spring boot applications.&lt;/P&gt;&lt;P&gt;For a short test I also reconfigured the collector to log every request instead of forwarding it to the controller, please see attached details about the request:&lt;/P&gt;&lt;PRE class="lia-code-sample language-markup"&gt;&lt;CODE&gt;Resource attributes:
     -&amp;gt; appdynamics.controller.account: Str(acme)
     -&amp;gt; appdynamics.controller.host: Str(acme.saas.appdynamics.com)
     -&amp;gt; appdynamics.controller.port: Int(443)
     -&amp;gt; service.name: Str(gateway)
     -&amp;gt; service.namespace: Str(acme-namespace)
     -&amp;gt; telemetry.sdk.language: Str(java)
     -&amp;gt; telemetry.sdk.name: Str(opentelemetry)
     -&amp;gt; telemetry.sdk.version: Str(1.16.0)
ScopeSpans #0
ScopeSpans SchemaURL:
InstrumentationScope org.springframework.cloud.sleuth
Span #0
    Trace ID       : 5fea943a828ccd2fff3072992d4e5ab6
    Parent ID      :
    ID             : 5a8b847d55a33279
    Name           : HTTP GET
    Kind           : SPAN_KIND_SERVER
    Start time     : 2022-10-29 17:19:45.595667 +0000 UTC
    End time       : 2022-10-29 17:19:45.640038791 +0000 UTC
    Status code    : STATUS_CODE_ERROR
    Status message :
Attributes:
     -&amp;gt; http.host: Str(localhost:8881)
     -&amp;gt; http.method: Str(GET)
     -&amp;gt; http.path: Str(/api/acme/endpoint)
     -&amp;gt; http.route: Str(/api/acme/endpoint)
     -&amp;gt; http.scheme: Str(http)
     -&amp;gt; http.status_code: Int(500)
     -&amp;gt; http.target: Str(/api/acme/endpoint)
     -&amp;gt; http.user_agent: Str(curl/7.79.1)
     -&amp;gt; net.host.name: Str(localhost)
     -&amp;gt; net.transport: Str(http)
Events:
SpanEvent #0
     -&amp;gt; Name: exception
     -&amp;gt; Timestamp: 2022-10-29 17:19:45.637675125 +0000 UTC
     -&amp;gt; DroppedAttributesCount: 0
     -&amp;gt; Attributes::
          -&amp;gt; exception.message: Str(Connection refused: localhost/[0:0:0:0:0:0:0:1]:8884)
          -&amp;gt; exception.stacktrace: Str(io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/[0:0:0:0:0:0:0:1]:8884
	Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below:
Error has been observed at the following site(s):
	*__checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authorization.AuthorizationWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authorization.ExceptionTranslationWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authentication.logout.LogoutWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.savedrequest.ServerRequestCacheWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.context.SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authentication.AuthenticationWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.context.ReactorContextWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.header.HttpHeaderWriterWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.config.web.server.ServerHttpSecurity$ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
Original Stack Trace:
Caused by: java.net.ConnectException: Connection refused
	at java.base/sun.nio.ch.Net.pollConnect(Native Method)
	at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
	at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946)
	at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337)
	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:833)
)
          -&amp;gt; exception.type: Str(io.netty.channel.AbstractChannel.AnnotatedConnectException)&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Any idea?&lt;/P&gt;</description>
      <pubDate>Sat, 29 Oct 2022 17:33:23 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-AppDynamics/OpenTelemetry-business-transactions-only-show-HTTP-Post/m-p/727914#M5996</guid>
      <dc:creator>Björn_Wenzel</dc:creator>
      <dc:date>2022-10-29T17:33:23Z</dc:date>
    </item>
    <item>
      <title>Re: OpenTelemetry business transactions only show HTTP Post</title>
      <link>https://community.splunk.com/t5/Splunk-AppDynamics/OpenTelemetry-business-transactions-only-show-HTTP-Post/m-p/727915#M5997</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;DIV class="group w-full text-gray-800 dark:text-gray-100 border-b border-black/10 dark:border-gray-900/50 bg-gray-50 dark:bg-[#444654]"&gt;
&lt;DIV class="flex p-4 gap-4 text-base md:gap-6 md:max-w-2xl lg:max-w-xl xl:max-w-3xl md:py-6 lg:px-0 m-auto"&gt;
&lt;DIV class="relative flex w-[calc(100%-50px)] flex-col gap-1 md:gap-3 lg:w-[calc(100%-115px)]"&gt;
&lt;DIV class="flex flex-grow flex-col gap-3"&gt;
&lt;DIV class="min-h-[20px] flex flex-col items-start gap-4 whitespace-pre-wrap break-words"&gt;
&lt;DIV class="markdown prose w-full break-words dark:prose-invert light"&gt;
&lt;P&gt;It seems that the Business Transactions in the AppDynamics Controller are not able to differentiate between the different routes that are available via the gateway and routed to the 2 classic Spring Boot applications. This is likely because the routes are not being properly instrumented with OTEL.&lt;/P&gt;
&lt;P&gt;To fix this issue, you should make sure that all the necessary libraries are being instrumented with OTEL and that the necessary spans are being created for each route. You may also need to check the configuration of the OTEL collector to ensure that it is properly forwarding all the data to the AppDynamics Controller.&lt;/P&gt;
&lt;P&gt;Looking at the log you provided, it seems that there was an error connecting to a service running on port 8884. This could be related to the issue you are experiencing with the Business Transactions not being properly identified. You may need to investigate this error further and resolve it before the Business Transactions can be properly instrumented.&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Satbir Singh&lt;/P&gt;</description>
      <pubDate>Fri, 12 May 2023 17:09:25 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-AppDynamics/OpenTelemetry-business-transactions-only-show-HTTP-Post/m-p/727915#M5997</guid>
      <dc:creator>Satbir_Singh</dc:creator>
      <dc:date>2023-05-12T17:09:25Z</dc:date>
    </item>
  </channel>
</rss>

