hasura / hasura/graphql-engine

Hasura APM Integrations: Add Operation Name

Open
#9,264 1 comment 3 reactions 0 assignees View on GitHub
k/enhancement t/control-plane
Dominant language
TypeScript
Stars
32.1k
Forks
3k
PR merge metrics
PR metrics pending

Description

### Is your proposal related to a problem?

We first discovered in the Datadog APM integration that Hasura doesn't include operation ID or names, effectively grouping all traces under `v1/graphql`.

This makes tracing and finding correlated logs far more difficult than necessary. This also renders metrics useless as we have operations with widely varying response times and levels of criticality.

We were surprised given that in Hasura Cloud Monitoring, operation IDs and names are not provided with traces.

After communicating with Hasura support, they confirmed that all APM integration do not have Operation Name or ID in traces.

We're posting to share this feature request with the community and would especially appreciate any advice or workaround's fellow Hasura users have implemented!

See example Hasura Cloud Monitoring Operation screenshot vs Datadog Screenshot
image

![image](https://user-images.githubusercontent.com/19556612/205373485-9a93afdb-f59e-409c-9153-bde070a05073.png)

### Describe the solution you'd like

Operation Name and ID in metrics and traces.

### Describe alternatives you've considered

From Hasura support:
> Meanwhile, in the existing implementation, you can get the request_id for an operation from the logs and use that request_id in the APM to find its trace.

### Related Issues
https://github.com/hasura/graphql-engine/issues/7876

Contributor guide

Open the contributing guide

Research direction

Start by reading related issue #7876 and the existing APM integration implementation; this issue names no files or tests. Done means operation names and IDs appear in both metrics and traces, with the behavior validated by appropriate project tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql
Domain
api, observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.