I know your pain.. can you tell which technologies and libraries we use. We have a customer running graphql in java and using the expediagroup library.
We’ve managed to find a method that returns the operation name of the query.
It was on the com.expediagroup.graphql.client.types.GraphQLClientRequest class and the method was getOperationName.
Ince we’ve had it we changed thebrequest names based on the values.
once you do that you can also rename your requests based on either values.
On another note, We found out that at least in the expedia version, the network protocol used in the http commands was gql. Once replaced by http or https (as this is an open source packaged), Dynatrace supported this out of the box.
One last thing: in the link you’ve sent I’ve seen that it is using Apolo Server. I’ve seen posts that describe OpenTelemtry support for Apolo Server. This could alos be a viable solution as the OneAgent automatically can collect OpenTelemtry data.
I still don’t understand how to get values from the payload in the header there is only https://example.com:8443/graphql request but in the payload, there is information that I want to catch with dynatrace like this :
Could you guide me or share your experience regarding the Frontend side? How do I catch the values which are in payload for further manipulation?
Frontend application is written on AngularJS
There is no way to capture the payload from the client side without writing your own js code to capture the interesting data and then utilize the Dynatrace JS sdk to send it back. What I would try to look for is to find out where the paylaod is being constructed on the server side and then define a request attribute. On the application definition pages you could then create user action property to gather value from this request attribute.