Value parameters
- clientName
-
Note: engineproxy always sets client_name, client_version, and client_address to "none". apollo-engine-reporting allows for them to be set by the user.
- durationNs
-
High precision duration of the trace; may not equal end_time-start_time (eg, if your machine's clock changed during the trace). required
- endTime
-
Wallclock time when the trace ended. required
- forbiddenOperation
-
Was this operation forbidden due to lack of safelisting?
- fullQueryCacheHit
-
Was this response served from a full query response cache? (In that case the node tree will have no resolvers.)
- legacySignatureNeedsResigning
-
Older agents (eg the Go engineproxy) relied to some degree on the Engine backend to run their own semi-compatible implementation of a specific variant of query signatures. The backend does not do this for new agents (which set the above 'signature' field). It used to still "re-sign" signatures from engineproxy, but we've now simplified the backend to no longer do this. Deprecated and ignored in FullTracesReports.
- persistedQueryHit
-
Was this query specified successfully as a persisted query hash?
- persistedQueryRegister
-
Did this query contain both a full query string and a persisted query hash? (This typically means that a previous request was rejected as an unknown persisted query.)
- queryPlan
-
If this Trace was created by a gateway, this is the query plan, including sub-Traces for federated services. Note that the 'root' tree on the top-level Trace won't contain any resolvers (though it could contain errors that occurred in the gateway itself).
- registeredOperation
-
Was this operation registered and a part of the safelist?
- root
-
A tree containing information about all resolvers run directly by this service, including errors.
- signature
-
In addition to details.raw_query, we include a "signature" of the query, which can be normalized: for example, you may want to discard aliases, drop unused operations and fragments, sort fields, etc. The most important thing here is that the signature match the signature in StatsReports. In StatsReports signatures show up as the key in the per_query map (with the operation name prepended). The signature should be a valid GraphQL query. All traces must have a signature; if this Trace is in a FullTracesReport that signature is in the key of traces_per_query rather than in this field. Engineproxy provides the signature in legacy_signature_needs_resigning instead.
- startTime
-
Wallclock time when the trace began. required
- unexecutedOperationBody
-
Optional: when GraphQL parsing or validation against the GraphQL schema fails, these fields can include reference to the operation being sent for users to dig into the set of operations that are failing validation.