DataDog / dd-trace-java

Datadog APM client for Java
https://docs.datadoghq.com/tracing/languages/java
Apache License 2.0
556 stars 278 forks source link

Support for Akka-gRPC server #3107

Open lvitaly opened 2 years ago

lvitaly commented 2 years ago

For now, dd-trace supports akka-grpc server differently than grpc-java server. dd-trace displays akka-grpc request as a series of HTTP requests when grpc-java request handled correctly and displayed with two spans (grpc.server {{procedure name}} and grpc.message). So dd-trace doesn't display RPC to akka-grpc server, but displays HTTP request to akka-http server, on which akka-grpc is based.

Is there a way to fix it? Thanks.

Marcus-Rosti commented 2 years ago

So akka-grpc is supported, the issue is that akka-http streaming pools like Http().superPool() isn't which is essentially how akka-grpc streaming is implemented. you should see all of your unary (non grpc/protobuf streaming) calls appear in the dashboard. However, I wouldn't expect to see anything else.

Also, if you use backend=netty, you'll see the client requests, but if you use backend=akka-http, you won't for the same reason as ^^^

Marcus-Rosti commented 2 years ago

re: https://github.com/DataDog/dd-trace-java/issues/2502