add graphql query to traces

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10868
GitOrigin-RevId: 0d59478586183d98e38d45d3c928f75a3f25e970
This commit is contained in:
paritosh-08 2024-06-14 00:01:27 +05:30 committed by hasura-bot
parent 0f245de566
commit 2eb4a26268
3 changed files with 8 additions and 4 deletions

View File

@ -1229,9 +1229,9 @@ This sets transaction isolation.
| **Default** | `read-committed` |
| **Supported in** | Deprecated in versions > `v2.0.0` |
### Trace SQL Queries
### Trace SQL and GraphQL Queries
Add SQL queries to the OTLP traces.
Add SQL and GraphQL queries to the OTLP traces.
| | |
| ------------------- | ---------------------------------------- |

View File

@ -95,7 +95,7 @@ import Hasura.Server.Prometheus
recordGraphqlOperationMetric,
)
import Hasura.Server.Telemetry.Counters qualified as Telem
import Hasura.Server.Types (HeaderPrecedence, ModelInfoLogState (..), MonadGetPolicies (..), ReadOnlyMode (..), RemoteSchemaResponsePriority (..), RequestId (..), TraceQueryStatus)
import Hasura.Server.Types (HeaderPrecedence, ModelInfoLogState (..), MonadGetPolicies (..), ReadOnlyMode (..), RemoteSchemaResponsePriority (..), RequestId (..), TraceQueryStatus (TraceQueryEnabled))
import Hasura.Services
import Hasura.Session (SessionVariable, SessionVariableValue, SessionVariables, UserInfo (..), filterSessionVariables)
import Hasura.Tracing (MonadTrace, attachMetadata)
@ -360,6 +360,8 @@ runGQ env sqlGenCtx sc enableAL readOnlyMode remoteSchemaResponsePriority header
for_ maybeOperationName $ \nm ->
-- https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/instrumentation/graphql/
attachMetadata [("graphql.operation.name", G.unName nm)]
when (traceQueryStatus == TraceQueryEnabled)
$ attachMetadata [("graphql.query", _unGQLQueryText (_grQuery reqUnparsed))]
(parameterizedQueryHash, execPlan, modelInfoList) <-
E.getResolvedExecPlan
env

View File

@ -105,7 +105,7 @@ import Hasura.Server.Prometheus
recordGraphqlOperationMetric,
)
import Hasura.Server.Telemetry.Counters qualified as Telem
import Hasura.Server.Types (GranularPrometheusMetricsState (..), HeaderPrecedence, ModelInfoLogState (..), MonadGetPolicies (..), RemoteSchemaResponsePriority, RequestId, TraceQueryStatus, getRequestId)
import Hasura.Server.Types (GranularPrometheusMetricsState (..), HeaderPrecedence, ModelInfoLogState (..), MonadGetPolicies (..), RemoteSchemaResponsePriority, RequestId, TraceQueryStatus (TraceQueryEnabled), getRequestId)
import Hasura.Services.Network
import Hasura.Session
import Hasura.Tracing qualified as Tracing
@ -504,6 +504,8 @@ onStart enabledLogTypes agentLicenseKey serverEnv wsConn shouldCaptureVariables
for_ maybeOperationName $ \nm ->
-- https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/instrumentation/graphql/
Tracing.attachMetadata [("graphql.operation.name", unName nm)]
when (traceQueryStatus == TraceQueryEnabled)
$ Tracing.attachMetadata [("graphql.query", _unGQLQueryText (_grQuery q))]
execPlanE <-
runExceptT
$ E.getResolvedExecPlan