package Report

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message ContextualizedQueryLatencyStats

reports.proto:384

message ContextualizedStats

reports.proto:487

Used in: TracesAndStats

message ContextualizedTypeStats

reports.proto:389

message FieldStat

reports.proto:394

Used in: TypeStat

message PathErrorStats

reports.proto:326

Used in: QueryLatencyStats

message QueryLatencyStats

reports.proto:332

Used in: ContextualizedQueryLatencyStats, ContextualizedStats

message QueryMetadata

reports.proto:497

Used in: TracesAndStats

message ReferencedFieldsForType

reports.proto:435

Used in: TracesAndStats

message Report

reports.proto:450

This is the top-level message used by Apollo Server, Apollo Router, and other libraries to report usage information to Apollo. This message consists of traces and stats for operations. By default, each individual operation execution should be either represented as a trace or within stats, but not both. However if the "traces_pre_aggregated" field is set to true, all operations should be included in stats and anything specified as a trace is not added in to the aggregate stats. For performance reasons, we recommend that traces are sampled so that only somewhere around 1% of operation executions are sent as traces. Additionally, buffering operations up until a large size has been reached (say, 4MB) or 5-10 seconds has passed is appropriate. This message used to be known as FullTracesReport, but got renamed since it isn't just for traces anymore.

Used in: Agent.ReporterRequest

message Report.OperationCountByType

reports.proto:451

Used in: Report

message ReportHeader

reports.proto:303

The `service` value embedded within the header key is not guaranteed to contain an actual service, and, in most cases, the service information is trusted to come from upstream processing. If the service _is_ specified in this header, then it is checked to match the context that is reporting it. Otherwise, the service information is deduced from the token context of the reporter and then sent along via other mechanisms (in Kafka, the `ReportKafkaKey). The other information (hostname, agent_version, etc.) is sent by the Apollo Engine Reporting agent, but we do not currently save that information to any of our persistent storage.

Used in: Report

message StatsContext

reports.proto:376

The context around a block of stats and traces indicating from which client the operation was executed and its operation type. Operation type and subtype are only used by Apollo Router.

Used in: ContextualizedQueryLatencyStats, ContextualizedStats, ContextualizedTypeStats

message Trace

reports.proto:11

Used in: Trace.QueryPlanNode.FetchNode, TracesAndStats

message Trace.CachePolicy

reports.proto:12

Used in: Trace, Node

enum Trace.CachePolicy.Scope

reports.proto:13

Used in: CachePolicy

message Trace.Details

reports.proto:23

Used in: Trace

message Trace.Error

reports.proto:37

Used in: Node

message Trace.HTTP

reports.proto:44

Used in: Trace

enum Trace.HTTP.Method

reports.proto:49

Used in: HTTP

message Trace.HTTP.Values

reports.proto:45

Used in: HTTP

message Trace.Location

reports.proto:72

Used in: Error

message Trace.Node

reports.proto:82

We store information on each resolver execution as a Node on a tree. The structure of the tree corresponds to the structure of the GraphQL response; it does not indicate the order in which resolvers were invoked. Note that nodes representing indexes (and the root node) don't contain all Node fields (eg types and times).

Used in: Trace

message Trace.QueryPlanNode

reports.proto:120

represents a node in the query plan, under which there is a trace tree for that service fetch. In particular, each fetch node represents a call to an implementing service, and calls to implementing services may not be unique. See https://github.com/apollographql/federation/blob/main/query-planner-js/src/QueryPlan.ts for more information and details.

Used in: Trace, QueryPlanNode.ConditionNode, QueryPlanNode.DeferNodePrimary, QueryPlanNode.DeferredNode, QueryPlanNode.FlattenNode, QueryPlanNode.ParallelNode, QueryPlanNode.SequenceNode

message Trace.QueryPlanNode.ConditionNode

reports.proto:165

Used in: QueryPlanNode

message Trace.QueryPlanNode.DeferNode

reports.proto:160

A `DeferNode` corresponds to one or more @defer at the same level of "nestedness" in the planned query.

Used in: QueryPlanNode

message Trace.QueryPlanNode.DeferNodePrimary

reports.proto:171

Used in: DeferNode

message Trace.QueryPlanNode.DeferredNode

reports.proto:174

Used in: DeferNode

message Trace.QueryPlanNode.DeferredNodeDepends

reports.proto:180

Used in: DeferredNode

message Trace.QueryPlanNode.FetchNode

reports.proto:130

This represents a node to send an operation to an implementing service

Used in: QueryPlanNode

message Trace.QueryPlanNode.FlattenNode

reports.proto:154

This node represents a way to reach into the response path and attach related entities. XXX Flatten is really not the right name and this node may be renamed in the query planner.

Used in: QueryPlanNode

message Trace.QueryPlanNode.ParallelNode

reports.proto:126

This represents a set of nodes to be executed in parallel by the Router/Gateway executor

Used in: QueryPlanNode

message Trace.QueryPlanNode.ResponsePathElement

reports.proto:185

Used in: DeferredNode, FlattenNode

message Trace.QueryPlanNode.SequenceNode

reports.proto:122

This represents a set of nodes to be executed sequentially by the Router/Gateway executor

Used in: QueryPlanNode

message TracesAndStats

reports.proto:511

A sequence of traces and stats. If Report.traces_pre_aggregated (at the top level of the report) is false, an individual operation should either be described as a trace or as part of stats, but not both. If that flag is true, then all operations are described as stats and some are also described as traces.

Used in: Report

message TypeStat

reports.proto:429

Used in: ContextualizedStats, ContextualizedTypeStats