@apollo/gateway 2.5.7 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/executeQueryPlan.d.ts +2 -1
- package/dist/executeQueryPlan.d.ts.map +1 -1
- package/dist/executeQueryPlan.js +14 -9
- package/dist/executeQueryPlan.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -6
- package/dist/index.js.map +1 -1
- package/dist/utilities/opentelemetry.d.ts +22 -0
- package/dist/utilities/opentelemetry.d.ts.map +1 -1
- package/dist/utilities/opentelemetry.js +51 -1
- package/dist/utilities/opentelemetry.js.map +1 -1
- package/package.json +5 -5
- package/src/config.ts +2 -0
- package/src/executeQueryPlan.ts +16 -2
- package/src/index.ts +26 -6
- package/src/utilities/opentelemetry.ts +108 -0
package/dist/config.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { OperationContext } from './operationContext';
|
|
|
8
8
|
import { ServiceMap } from './executeQueryPlan';
|
|
9
9
|
import { ServiceDefinition } from "@apollo/federation-internals";
|
|
10
10
|
import { Fetcher } from '@apollo/utils.fetcher';
|
|
11
|
+
import { OpenTelemetryConfig } from './utilities/opentelemetry';
|
|
11
12
|
export type ServiceEndpointDefinition = Pick<ServiceDefinition, 'name' | 'url'>;
|
|
12
13
|
export type Experimental_DidResolveQueryPlanCallback = ({ queryPlan, serviceMap, operationContext, requestContext, }: {
|
|
13
14
|
readonly queryPlan: QueryPlan;
|
|
@@ -70,6 +71,7 @@ interface GatewayConfigBase {
|
|
|
70
71
|
fetcher?: Fetcher;
|
|
71
72
|
serviceHealthCheck?: boolean;
|
|
72
73
|
queryPlannerConfig?: QueryPlannerConfig;
|
|
74
|
+
telemetry?: OpenTelemetryConfig;
|
|
73
75
|
validateSupergraph?: boolean;
|
|
74
76
|
}
|
|
75
77
|
export interface ServiceListGatewayConfig extends GatewayConfigBase {
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAUA,6DAA+D;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAUA,6DAA+D;AA0E/D,SAAgB,qBAAqB,CACnC,MAAyB;IAEzB,OAAO,eAAe,IAAI,MAAM,CAAC;AACnC,CAAC;AAJD,sDAIC;AAED,SAAgB,yBAAyB,CACvC,MAAyB;IAEzB,OAAO,aAAa,IAAI,MAAM,CAAC;AACjC,CAAC;AAJD,8DAIC;AAsHD,SAAgB,2CAA2C,CACzD,MAAqB;IAErB,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAChF,CAAC;AAJD,kGAIC;AAyED,SAAgB,aAAa,CAC3B,MAAqB;IAErB,OAAO,kBAAkB,IAAI,MAAM,CAAC;AACtC,CAAC;AAJD,sCAIC;AAGD,SAAgB,mBAAmB,CACjC,MAAqB;IAErB,OAAO,aAAa,IAAI,MAAM,CAAC;AACjC,CAAC;AAJD,kDAIC;AAED,SAAgB,2BAA2B,CACzC,MAAqB;IAErB,OAAO,eAAe,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAJD,kEAIC;AAED,SAAgB,yBAAyB,CACvC,MAAqB;IAErB,OAAO,CACL,eAAe,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,CACxE,CAAC;AACJ,CAAC;AAND,8DAMC;AAED,SAAgB,yBAAyB,CACvC,MAAqB;IAErB,OAAO,CACL,eAAe,IAAI,MAAM;QACzB,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QACxC,YAAY,IAAI,MAAM,CAAC,aAAa,CACrC,CAAC;AACJ,CAAC;AARD,8DAQC;AAID,SAAgB,uBAAuB,CACrC,MAAqB;IAErB,OAAO,CACL,2CAA2C,CAAC,MAAM,CAAC;QACnD,uCAAuC,IAAI,MAAM;QACjD,kCAAkC,IAAI,MAAM;QAE5C,mBAAmB,CAAC,MAAM,CAAC,CAC5B,CAAC;AACJ,CAAC;AAVD,0DAUC;AAGD,SAAgB,eAAe,CAC7B,MAAqB;IAErB,OAAO,CACL,8BAA8B,IAAI,MAAM;QACxC,iBAAiB,IAAI,MAAM;QAC3B,0BAA0B,IAAI,MAAM;QACpC,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,YAAY,4CAAuB,CAAC;QAC9F,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;YACrB,CAAC,2BAA2B,CAAC,MAAM,CAAC;YACpC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CACpC,CAAC;AACJ,CAAC;AAZD,0CAYC;AAGD,SAAgB,cAAc,CAC5B,MAAqB;IAErB,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAJD,wCAIC"}
|
|
@@ -2,13 +2,14 @@ import { GraphQLFieldResolver, GraphQLSchema } from 'graphql';
|
|
|
2
2
|
import { GraphQLDataSource } from './datasources/types';
|
|
3
3
|
import { OperationContext } from './operationContext';
|
|
4
4
|
import { QueryPlan, ResponsePath } from '@apollo/query-planner';
|
|
5
|
+
import { OpenTelemetryConfig } from "./utilities/opentelemetry";
|
|
5
6
|
import { Schema } from '@apollo/federation-internals';
|
|
6
7
|
import { GatewayGraphQLRequestContext, GatewayExecutionResult } from '@apollo/server-gateway-interface';
|
|
7
8
|
export type ServiceMap = {
|
|
8
9
|
[serviceName: string]: GraphQLDataSource;
|
|
9
10
|
};
|
|
10
11
|
type ResultMap = Record<string, any>;
|
|
11
|
-
export declare function executeQueryPlan(queryPlan: QueryPlan, serviceMap: ServiceMap, requestContext: GatewayGraphQLRequestContext, operationContext: OperationContext, supergraphSchema: GraphQLSchema, apiSchema: Schema): Promise<GatewayExecutionResult>;
|
|
12
|
+
export declare function executeQueryPlan(queryPlan: QueryPlan, serviceMap: ServiceMap, requestContext: GatewayGraphQLRequestContext, operationContext: OperationContext, supergraphSchema: GraphQLSchema, apiSchema: Schema, telemetryConfig?: OpenTelemetryConfig): Promise<GatewayExecutionResult>;
|
|
12
13
|
export declare function generateHydratedPaths(parent: ResponsePath, path: ResponsePath, data: ResultMap | null, result: ResponsePath[]): void;
|
|
13
14
|
export declare const defaultFieldResolverWithAliasSupport: GraphQLFieldResolver<any, any>;
|
|
14
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeQueryPlan.d.ts","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,oBAAoB,EAEpB,aAAa,EASd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAgC,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAGL,SAAS,EACT,YAAY,EAKb,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"executeQueryPlan.d.ts","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,oBAAoB,EAEpB,aAAa,EASd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAgC,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAGL,SAAS,EACT,YAAY,EAKb,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,mBAAmB,EAAoD,MAAM,2BAA2B,CAAC;AAClH,OAAO,EAAmF,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACvI,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAIxG,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAC1C,CAAC;AAEF,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAsFrC,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,4BAA4B,EAC5C,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,aAAa,EAC/B,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,mBAAmB,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAgKjC;AAyaD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,SAAS,GAAG,IAAI,EACtB,MAAM,EAAE,YAAY,EAAE,QAmCvB;AAuID,eAAO,MAAM,oCAAoC,EAAE,oBAAoB,CACrE,GAAG,EACH,GAAG,CAYJ,CAAC"}
|
package/dist/executeQueryPlan.js
CHANGED
|
@@ -54,7 +54,7 @@ function executeIntrospection(schema, introspectionSelection, variableDefinition
|
|
|
54
54
|
(0, federation_internals_1.assert)(data, () => `Introspection query for ${JSON.stringify(introspectionSelection)} should not have failed`);
|
|
55
55
|
return data[(_b = (_a = introspectionSelection.alias) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : introspectionSelection.name.value];
|
|
56
56
|
}
|
|
57
|
-
async function executeQueryPlan(queryPlan, serviceMap, requestContext, operationContext, supergraphSchema, apiSchema) {
|
|
57
|
+
async function executeQueryPlan(queryPlan, serviceMap, requestContext, operationContext, supergraphSchema, apiSchema, telemetryConfig) {
|
|
58
58
|
const logger = requestContext.logger || console;
|
|
59
59
|
return opentelemetry_1.tracer.startActiveSpan(opentelemetry_1.OpenTelemetrySpanNames.EXECUTE, async (span) => {
|
|
60
60
|
var _a;
|
|
@@ -97,7 +97,7 @@ async function executeQueryPlan(queryPlan, serviceMap, requestContext, operation
|
|
|
97
97
|
path: [],
|
|
98
98
|
data: unfilteredData,
|
|
99
99
|
fullResult: unfilteredData,
|
|
100
|
-
}, captureTraces);
|
|
100
|
+
}, captureTraces, telemetryConfig);
|
|
101
101
|
if (captureTraces) {
|
|
102
102
|
requestContext.metrics.queryPlanTrace = traceNode;
|
|
103
103
|
}
|
|
@@ -114,11 +114,13 @@ async function executeQueryPlan(queryPlan, serviceMap, requestContext, operation
|
|
|
114
114
|
introspectionHandling: (f) => executeIntrospection(operationContext.schema, f.expandFragments().toSelectionNode(), operationContext.operation.variableDefinitions, variables),
|
|
115
115
|
}));
|
|
116
116
|
if (errors.length === 0 && postProcessingErrors.length > 0) {
|
|
117
|
+
(0, opentelemetry_1.recordExceptions)(span, postProcessingErrors, telemetryConfig);
|
|
117
118
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
118
119
|
return { extensions: { "valueCompletion": postProcessingErrors }, data };
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
122
|
catch (error) {
|
|
123
|
+
(0, opentelemetry_1.recordExceptions)(span, [error], telemetryConfig);
|
|
122
124
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
123
125
|
if (error instanceof graphql_1.GraphQLError) {
|
|
124
126
|
return { errors: [error] };
|
|
@@ -145,11 +147,13 @@ async function executeQueryPlan(queryPlan, serviceMap, requestContext, operation
|
|
|
145
147
|
return errors.length === 0 ? { data } : { errors, data };
|
|
146
148
|
});
|
|
147
149
|
if (result.errors) {
|
|
150
|
+
(0, opentelemetry_1.recordExceptions)(span, result.errors, telemetryConfig);
|
|
148
151
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
149
152
|
}
|
|
150
153
|
return result;
|
|
151
154
|
}
|
|
152
155
|
catch (err) {
|
|
156
|
+
(0, opentelemetry_1.recordExceptions)(span, [err], telemetryConfig);
|
|
153
157
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
154
158
|
throw err;
|
|
155
159
|
}
|
|
@@ -159,7 +163,7 @@ async function executeQueryPlan(queryPlan, serviceMap, requestContext, operation
|
|
|
159
163
|
});
|
|
160
164
|
}
|
|
161
165
|
exports.executeQueryPlan = executeQueryPlan;
|
|
162
|
-
async function executeNode(context, node, currentCursor, captureTraces) {
|
|
166
|
+
async function executeNode(context, node, currentCursor, captureTraces, telemetryConfig) {
|
|
163
167
|
if (!currentCursor) {
|
|
164
168
|
return new usage_reporting_protobuf_1.Trace.QueryPlanNode();
|
|
165
169
|
}
|
|
@@ -167,13 +171,13 @@ async function executeNode(context, node, currentCursor, captureTraces) {
|
|
|
167
171
|
case 'Sequence': {
|
|
168
172
|
const traceNode = new usage_reporting_protobuf_1.Trace.QueryPlanNode.SequenceNode();
|
|
169
173
|
for (const childNode of node.nodes) {
|
|
170
|
-
const childTraceNode = await executeNode(context, childNode, currentCursor, captureTraces);
|
|
174
|
+
const childTraceNode = await executeNode(context, childNode, currentCursor, captureTraces, telemetryConfig);
|
|
171
175
|
traceNode.nodes.push(childTraceNode);
|
|
172
176
|
}
|
|
173
177
|
return new usage_reporting_protobuf_1.Trace.QueryPlanNode({ sequence: traceNode });
|
|
174
178
|
}
|
|
175
179
|
case 'Parallel': {
|
|
176
|
-
const childTraceNodes = await Promise.all(node.nodes.map(async (childNode) => executeNode(context, childNode, currentCursor, captureTraces)));
|
|
180
|
+
const childTraceNodes = await Promise.all(node.nodes.map(async (childNode) => executeNode(context, childNode, currentCursor, captureTraces, telemetryConfig)));
|
|
177
181
|
return new usage_reporting_protobuf_1.Trace.QueryPlanNode({
|
|
178
182
|
parallel: new usage_reporting_protobuf_1.Trace.QueryPlanNode.ParallelNode({
|
|
179
183
|
nodes: childTraceNodes,
|
|
@@ -184,7 +188,7 @@ async function executeNode(context, node, currentCursor, captureTraces) {
|
|
|
184
188
|
return new usage_reporting_protobuf_1.Trace.QueryPlanNode({
|
|
185
189
|
flatten: new usage_reporting_protobuf_1.Trace.QueryPlanNode.FlattenNode({
|
|
186
190
|
responsePath: node.path.map(id => new usage_reporting_protobuf_1.Trace.QueryPlanNode.ResponsePathElement(typeof id === 'string' ? { fieldName: id } : { index: id })),
|
|
187
|
-
node: await executeNode(context, node.node, moveIntoCursor(currentCursor, node.path), captureTraces),
|
|
191
|
+
node: await executeNode(context, node.node, moveIntoCursor(currentCursor, node.path), captureTraces, telemetryConfig),
|
|
188
192
|
}),
|
|
189
193
|
});
|
|
190
194
|
}
|
|
@@ -193,7 +197,7 @@ async function executeNode(context, node, currentCursor, captureTraces) {
|
|
|
193
197
|
serviceName: node.serviceName,
|
|
194
198
|
});
|
|
195
199
|
try {
|
|
196
|
-
await executeFetch(context, node, currentCursor, captureTraces ? traceNode : null);
|
|
200
|
+
await executeFetch(context, node, currentCursor, captureTraces ? traceNode : null, telemetryConfig);
|
|
197
201
|
}
|
|
198
202
|
catch (error) {
|
|
199
203
|
context.errors.push(error);
|
|
@@ -205,7 +209,7 @@ async function executeNode(context, node, currentCursor, captureTraces) {
|
|
|
205
209
|
const pickedBranch = condition ? node.ifClause : node.elseClause;
|
|
206
210
|
let branchTraceNode = undefined;
|
|
207
211
|
if (pickedBranch) {
|
|
208
|
-
branchTraceNode = await executeNode(context, pickedBranch, currentCursor, captureTraces);
|
|
212
|
+
branchTraceNode = await executeNode(context, pickedBranch, currentCursor, captureTraces, telemetryConfig);
|
|
209
213
|
}
|
|
210
214
|
return new usage_reporting_protobuf_1.Trace.QueryPlanNode({
|
|
211
215
|
condition: new usage_reporting_protobuf_1.Trace.QueryPlanNode.ConditionNode({
|
|
@@ -220,7 +224,7 @@ async function executeNode(context, node, currentCursor, captureTraces) {
|
|
|
220
224
|
}
|
|
221
225
|
}
|
|
222
226
|
}
|
|
223
|
-
async function executeFetch(context, fetch, currentCursor, traceNode) {
|
|
227
|
+
async function executeFetch(context, fetch, currentCursor, traceNode, telemetryConfig) {
|
|
224
228
|
const logger = context.requestContext.logger || console;
|
|
225
229
|
const service = context.serviceMap[fetch.serviceName];
|
|
226
230
|
return opentelemetry_1.tracer.startActiveSpan(opentelemetry_1.OpenTelemetrySpanNames.FETCH, { attributes: { service: fetch.serviceName } }, async (span) => {
|
|
@@ -298,6 +302,7 @@ async function executeFetch(context, fetch, currentCursor, traceNode) {
|
|
|
298
302
|
}
|
|
299
303
|
}
|
|
300
304
|
catch (err) {
|
|
305
|
+
(0, opentelemetry_1.recordExceptions)(span, [err], telemetryConfig);
|
|
301
306
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
302
307
|
throw err;
|
|
303
308
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeQueryPlan.js","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executeQueryPlan.js","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EAEd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,qBAAqB,EAAoB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,gBAAgB,EAChB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EAElB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,YAAY,EAGb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,uCAAuC,EACvC,wCAAwC,EACxC,wCAAwC,EACxC,8BAA8B,EAC9B,eAAe,EACf,aAAa,EAQb,iBAAiB,EAClB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -47,10 +47,7 @@ class ApolloGateway {
|
|
|
47
47
|
this.warnedStates = Object.create(null);
|
|
48
48
|
this.toDispose = [];
|
|
49
49
|
this.executor = async (requestContext) => {
|
|
50
|
-
|
|
51
|
-
? { operationName: requestContext.operationName }
|
|
52
|
-
: {};
|
|
53
|
-
return opentelemetry_1.tracer.startActiveSpan(opentelemetry_1.OpenTelemetrySpanNames.REQUEST, { attributes: spanAttributes }, async (span) => {
|
|
50
|
+
return opentelemetry_1.tracer.startActiveSpan(opentelemetry_1.OpenTelemetrySpanNames.REQUEST, { attributes: (0, opentelemetry_1.requestContextSpanAttributes)(requestContext, this.config.telemetry) }, async (span) => {
|
|
54
51
|
try {
|
|
55
52
|
const { request, document, queryHash } = requestContext;
|
|
56
53
|
const queryPlanStoreKey = request.operationName ?
|
|
@@ -61,19 +58,28 @@ class ApolloGateway {
|
|
|
61
58
|
operationDocument: document,
|
|
62
59
|
operationName: request.operationName,
|
|
63
60
|
});
|
|
61
|
+
span.setAttributes((0, opentelemetry_1.operationContextSpanAttributes)(operationContext));
|
|
64
62
|
const validationErrors = this.validateIncomingRequest(requestContext, operationContext);
|
|
65
63
|
if (validationErrors.length > 0) {
|
|
64
|
+
(0, opentelemetry_1.recordExceptions)(span, validationErrors, this.config.telemetry);
|
|
66
65
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
67
66
|
return { errors: validationErrors };
|
|
68
67
|
}
|
|
69
68
|
let queryPlan = await this.queryPlanStore.get(queryPlanStoreKey);
|
|
70
69
|
if (!queryPlan) {
|
|
71
|
-
queryPlan = opentelemetry_1.tracer.startActiveSpan(opentelemetry_1.OpenTelemetrySpanNames.PLAN,
|
|
70
|
+
queryPlan = opentelemetry_1.tracer.startActiveSpan(opentelemetry_1.OpenTelemetrySpanNames.PLAN, requestContext.operationName
|
|
71
|
+
? {
|
|
72
|
+
attributes: {
|
|
73
|
+
[opentelemetry_1.OpenTelemetryAttributeNames.GRAPHQL_OPERATION_NAME]: requestContext.operationName,
|
|
74
|
+
},
|
|
75
|
+
}
|
|
76
|
+
: {}, (span) => {
|
|
72
77
|
try {
|
|
73
78
|
const operation = (0, federation_internals_1.operationFromDocument)(this.apiSchema, document, { operationName: request.operationName });
|
|
74
79
|
return this.queryPlanner.buildQueryPlan(operation);
|
|
75
80
|
}
|
|
76
81
|
catch (err) {
|
|
82
|
+
(0, opentelemetry_1.recordExceptions)(span, [err], this.config.telemetry);
|
|
77
83
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
78
84
|
throw err;
|
|
79
85
|
}
|
|
@@ -100,7 +106,7 @@ class ApolloGateway {
|
|
|
100
106
|
operationContext,
|
|
101
107
|
});
|
|
102
108
|
}
|
|
103
|
-
const response = await (0, executeQueryPlan_1.executeQueryPlan)(queryPlan, serviceMap, requestContext, operationContext, this.supergraphSchema, this.apiSchema);
|
|
109
|
+
const response = await (0, executeQueryPlan_1.executeQueryPlan)(queryPlan, serviceMap, requestContext, operationContext, this.supergraphSchema, this.apiSchema, this.config.telemetry);
|
|
104
110
|
const shouldShowQueryPlan = this.config.__exposeQueryPlanExperimental &&
|
|
105
111
|
request.http &&
|
|
106
112
|
request.http.headers &&
|
|
@@ -127,11 +133,13 @@ class ApolloGateway {
|
|
|
127
133
|
};
|
|
128
134
|
}
|
|
129
135
|
if (response.errors) {
|
|
136
|
+
(0, opentelemetry_1.recordExceptions)(span, response.errors, this.config.telemetry);
|
|
130
137
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
131
138
|
}
|
|
132
139
|
return response;
|
|
133
140
|
}
|
|
134
141
|
catch (err) {
|
|
142
|
+
(0, opentelemetry_1.recordExceptions)(span, [err], this.config.telemetry);
|
|
135
143
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
136
144
|
throw err;
|
|
137
145
|
}
|
|
@@ -525,11 +533,13 @@ class ApolloGateway {
|
|
|
525
533
|
return [];
|
|
526
534
|
const { errors } = (0, values_1.getVariableValues)(operationContext.schema, variableDefinitions, requestContext.request.variables || {});
|
|
527
535
|
if (errors) {
|
|
536
|
+
(0, opentelemetry_1.recordExceptions)(span, errors, this.config.telemetry);
|
|
528
537
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
529
538
|
}
|
|
530
539
|
return errors || [];
|
|
531
540
|
}
|
|
532
541
|
catch (err) {
|
|
542
|
+
(0, opentelemetry_1.recordExceptions)(span, [err], this.config.telemetry);
|
|
533
543
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
534
544
|
throw err;
|
|
535
545
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import type { Attributes, Exception, Span } from '@opentelemetry/api';
|
|
2
|
+
import type { GatewayGraphQLRequestContext } from '@apollo/server-gateway-interface';
|
|
3
|
+
import { OperationContext } from '../operationContext';
|
|
4
|
+
export type OpenTelemetryConfig = {
|
|
5
|
+
includeDocument?: boolean;
|
|
6
|
+
recordExceptions?: boolean | number;
|
|
7
|
+
};
|
|
1
8
|
export declare enum OpenTelemetrySpanNames {
|
|
2
9
|
REQUEST = "gateway.request",
|
|
3
10
|
PLAN = "gateway.plan",
|
|
@@ -6,5 +13,20 @@ export declare enum OpenTelemetrySpanNames {
|
|
|
6
13
|
EXECUTE = "gateway.execute",
|
|
7
14
|
VALIDATE = "gateway.validate"
|
|
8
15
|
}
|
|
16
|
+
export declare enum OpenTelemetryAttributeNames {
|
|
17
|
+
GRAPHQL_DOCUMENT = "graphql.document",
|
|
18
|
+
GRAPHQL_OPERATION_NAME = "graphql.operation.name",
|
|
19
|
+
GRAPHQL_OPERATION_NAME_DEPRECATED = "operationName",
|
|
20
|
+
GRAPHQL_OPERATION_TYPE = "graphql.operation.type"
|
|
21
|
+
}
|
|
9
22
|
export declare const tracer: import("@opentelemetry/api").Tracer;
|
|
23
|
+
export interface SpanAttributes extends Attributes {
|
|
24
|
+
[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_NAME_DEPRECATED]?: string;
|
|
25
|
+
[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_NAME]?: string;
|
|
26
|
+
[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_TYPE]?: string;
|
|
27
|
+
[OpenTelemetryAttributeNames.GRAPHQL_DOCUMENT]?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function requestContextSpanAttributes(requestContext: GatewayGraphQLRequestContext, config: OpenTelemetryConfig | undefined): SpanAttributes;
|
|
30
|
+
export declare function operationContextSpanAttributes(operationContext: OperationContext): SpanAttributes;
|
|
31
|
+
export declare function recordExceptions(span: Span, exceptions: readonly Exception[], config: OpenTelemetryConfig | undefined): void;
|
|
10
32
|
//# sourceMappingURL=opentelemetry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAOhC,eAAe,CAAC,EAAE,OAAO,CAAC;IAa1B,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACrC,CAAA;AAED,oBAAY,sBAAsB;IAChC,OAAO,oBAAoB;IAC3B,IAAI,iBAAiB;IACrB,KAAK,kBAAkB;IACvB,eAAe,2BAA2B;IAC1C,OAAO,oBAAoB;IAC3B,QAAQ,qBAAqB;CAC9B;AAOD,oBAAY,2BAA2B;IACrC,gBAAgB,qBAAqB;IACrC,sBAAsB,2BAA2B;IACjD,iCAAiC,kBAAkB;IACnD,sBAAsB,2BAA2B;CAClD;AAGD,eAAO,MAAM,MAAM,qCAAsD,CAAC;AAE1E,MAAM,WAAW,cAAe,SAAQ,UAAU;IAIhD,CAAC,2BAA2B,CAAC,iCAAiC,CAAC,CAAC,EAAE,MAAM,CAAC;IACzE,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9D,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9D,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC;CACzD;AAED,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,4BAA4B,EAC5C,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACtC,cAAc,CAgBhB;AAED,wBAAgB,8BAA8B,CAC5C,gBAAgB,EAAE,gBAAgB,GACjC,cAAc,CAShB;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,MAAM,EAAE,mBAAmB,GAAG,SAAS,QAqBxC"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.tracer = exports.OpenTelemetrySpanNames = void 0;
|
|
6
|
+
exports.recordExceptions = exports.operationContextSpanAttributes = exports.requestContextSpanAttributes = exports.tracer = exports.OpenTelemetryAttributeNames = exports.OpenTelemetrySpanNames = void 0;
|
|
7
7
|
const api_1 = __importDefault(require("@opentelemetry/api"));
|
|
8
8
|
var OpenTelemetrySpanNames;
|
|
9
9
|
(function (OpenTelemetrySpanNames) {
|
|
@@ -14,6 +14,56 @@ var OpenTelemetrySpanNames;
|
|
|
14
14
|
OpenTelemetrySpanNames["EXECUTE"] = "gateway.execute";
|
|
15
15
|
OpenTelemetrySpanNames["VALIDATE"] = "gateway.validate";
|
|
16
16
|
})(OpenTelemetrySpanNames || (exports.OpenTelemetrySpanNames = OpenTelemetrySpanNames = {}));
|
|
17
|
+
var OpenTelemetryAttributeNames;
|
|
18
|
+
(function (OpenTelemetryAttributeNames) {
|
|
19
|
+
OpenTelemetryAttributeNames["GRAPHQL_DOCUMENT"] = "graphql.document";
|
|
20
|
+
OpenTelemetryAttributeNames["GRAPHQL_OPERATION_NAME"] = "graphql.operation.name";
|
|
21
|
+
OpenTelemetryAttributeNames["GRAPHQL_OPERATION_NAME_DEPRECATED"] = "operationName";
|
|
22
|
+
OpenTelemetryAttributeNames["GRAPHQL_OPERATION_TYPE"] = "graphql.operation.type";
|
|
23
|
+
})(OpenTelemetryAttributeNames || (exports.OpenTelemetryAttributeNames = OpenTelemetryAttributeNames = {}));
|
|
17
24
|
const { name, version } = require('../../package.json');
|
|
18
25
|
exports.tracer = api_1.default.trace.getTracer(`${name}/${version}`);
|
|
26
|
+
function requestContextSpanAttributes(requestContext, config) {
|
|
27
|
+
const spanAttributes = {};
|
|
28
|
+
if (requestContext.operationName) {
|
|
29
|
+
spanAttributes[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_NAME_DEPRECATED] = requestContext.operationName;
|
|
30
|
+
spanAttributes[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_NAME] =
|
|
31
|
+
requestContext.operationName;
|
|
32
|
+
}
|
|
33
|
+
if ((config === null || config === void 0 ? void 0 : config.includeDocument) && requestContext.source) {
|
|
34
|
+
spanAttributes[OpenTelemetryAttributeNames.GRAPHQL_DOCUMENT] =
|
|
35
|
+
requestContext.source;
|
|
36
|
+
}
|
|
37
|
+
return spanAttributes;
|
|
38
|
+
}
|
|
39
|
+
exports.requestContextSpanAttributes = requestContextSpanAttributes;
|
|
40
|
+
function operationContextSpanAttributes(operationContext) {
|
|
41
|
+
const spanAttributes = {};
|
|
42
|
+
if (operationContext.operation.operation) {
|
|
43
|
+
spanAttributes[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_TYPE] =
|
|
44
|
+
operationContext.operation.operation;
|
|
45
|
+
}
|
|
46
|
+
return spanAttributes;
|
|
47
|
+
}
|
|
48
|
+
exports.operationContextSpanAttributes = operationContextSpanAttributes;
|
|
49
|
+
function recordExceptions(span, exceptions, config) {
|
|
50
|
+
const recordExceptions = config === null || config === void 0 ? void 0 : config.recordExceptions;
|
|
51
|
+
if (recordExceptions === undefined || recordExceptions === false) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
let exceptionsToRecord;
|
|
55
|
+
if (recordExceptions === true) {
|
|
56
|
+
exceptionsToRecord = exceptions;
|
|
57
|
+
}
|
|
58
|
+
else if (recordExceptions <= 0) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
exceptionsToRecord = exceptions.slice(0, recordExceptions);
|
|
63
|
+
}
|
|
64
|
+
for (const exception of exceptionsToRecord) {
|
|
65
|
+
span.recordException(exception);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.recordExceptions = recordExceptions;
|
|
19
69
|
//# sourceMappingURL=opentelemetry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opentelemetry.js","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA+C;
|
|
1
|
+
{"version":3,"file":"opentelemetry.js","sourceRoot":"","sources":["../../src/utilities/opentelemetry.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA+C;AA4B/C,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,qDAA2B,CAAA;IAC3B,+CAAqB,CAAA;IACrB,iDAAuB,CAAA;IACvB,oEAA0C,CAAA;IAC1C,qDAA2B,CAAA;IAC3B,uDAA6B,CAAA;AAC/B,CAAC,EAPW,sBAAsB,sCAAtB,sBAAsB,QAOjC;AAOD,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,oEAAqC,CAAA;IACrC,gFAAiD,CAAA;IACjD,kFAAmD,CAAA;IACnD,gFAAiD,CAAA;AACnD,CAAC,EALW,2BAA2B,2CAA3B,2BAA2B,QAKtC;AAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC3C,QAAA,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;AAY1E,SAAgB,4BAA4B,CAC1C,cAA4C,EAC5C,MAAuC;IAEvC,MAAM,cAAc,GAAmB,EAAE,CAAC;IAE1C,IAAI,cAAc,CAAC,aAAa,EAAE;QAChC,cAAc,CACZ,2BAA2B,CAAC,iCAAiC,CAC9D,GAAG,cAAc,CAAC,aAAa,CAAC;QACjC,cAAc,CAAC,2BAA2B,CAAC,sBAAsB,CAAC;YAChE,cAAc,CAAC,aAAa,CAAC;KAChC;IACD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,KAAI,cAAc,CAAC,MAAM,EAAE;QACpD,cAAc,CAAC,2BAA2B,CAAC,gBAAgB,CAAC;YAC1D,cAAc,CAAC,MAAM,CAAC;KACzB;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAnBD,oEAmBC;AAED,SAAgB,8BAA8B,CAC5C,gBAAkC;IAElC,MAAM,cAAc,GAAmB,EAAE,CAAC;IAE1C,IAAI,gBAAgB,CAAC,SAAS,CAAC,SAAS,EAAE;QACxC,cAAc,CAAC,2BAA2B,CAAC,sBAAsB,CAAC;YAChE,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC;KACxC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAXD,wEAWC;AAED,SAAgB,gBAAgB,CAC9B,IAAU,EACV,UAAgC,EAChC,MAAuC;IAEvC,MAAM,gBAAgB,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC;IAElD,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,KAAK,EAAE;QAChE,OAAO;KACR;IAED,IAAI,kBAAkB,CAAC;IAEvB,IAAI,gBAAgB,KAAK,IAAI,EAAE;QAC7B,kBAAkB,GAAG,UAAU,CAAC;KACjC;SAAM,IAAI,gBAAgB,IAAI,CAAC,EAAE;QAChC,OAAO;KACR;SAAM;QACL,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;KAC3D;IAED,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE;QAC1C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;KACjC;AACH,CAAC;AAxBD,4CAwBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apollo/gateway",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Apollo Gateway",
|
|
5
5
|
"author": "Apollo <packages@apollographql.com>",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
"engines": {
|
|
21
21
|
"node": ">=14.15.0"
|
|
22
22
|
},
|
|
23
|
-
"license": "
|
|
23
|
+
"license": "Elastic-2.0",
|
|
24
24
|
"publishConfig": {
|
|
25
25
|
"access": "public"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@apollo/composition": "2.
|
|
29
|
-
"@apollo/federation-internals": "2.
|
|
30
|
-
"@apollo/query-planner": "2.
|
|
28
|
+
"@apollo/composition": "2.6.0",
|
|
29
|
+
"@apollo/federation-internals": "2.6.0",
|
|
30
|
+
"@apollo/query-planner": "2.6.0",
|
|
31
31
|
"@apollo/server-gateway-interface": "^1.1.0",
|
|
32
32
|
"@apollo/usage-reporting-protobuf": "^4.1.0",
|
|
33
33
|
"@apollo/utils.createhash": "^2.0.0",
|
package/src/config.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { ServiceMap } from './executeQueryPlan';
|
|
|
9
9
|
import { ServiceDefinition } from "@apollo/federation-internals";
|
|
10
10
|
import { Fetcher } from '@apollo/utils.fetcher';
|
|
11
11
|
import { UplinkSupergraphManager } from './supergraphManagers';
|
|
12
|
+
import { OpenTelemetryConfig } from './utilities/opentelemetry';
|
|
12
13
|
|
|
13
14
|
export type ServiceEndpointDefinition = Pick<ServiceDefinition, 'name' | 'url'>;
|
|
14
15
|
|
|
@@ -129,6 +130,7 @@ interface GatewayConfigBase {
|
|
|
129
130
|
serviceHealthCheck?: boolean;
|
|
130
131
|
|
|
131
132
|
queryPlannerConfig?: QueryPlannerConfig;
|
|
133
|
+
telemetry?: OpenTelemetryConfig;
|
|
132
134
|
|
|
133
135
|
/**
|
|
134
136
|
* Whether to validate the supergraphs received from either the static configuration or the
|
package/src/executeQueryPlan.ts
CHANGED
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
import { deepMerge } from './utilities/deepMerge';
|
|
32
32
|
import { isNotNullOrUndefined } from './utilities/array';
|
|
33
33
|
import { SpanStatusCode } from "@opentelemetry/api";
|
|
34
|
-
import { OpenTelemetrySpanNames, tracer } from "./utilities/opentelemetry";
|
|
34
|
+
import { OpenTelemetryConfig, OpenTelemetrySpanNames, recordExceptions, tracer } from "./utilities/opentelemetry";
|
|
35
35
|
import { assert, defaultRootName, errorCodeDef, ERRORS, Operation, operationFromDocument, Schema } from '@apollo/federation-internals';
|
|
36
36
|
import { GatewayGraphQLRequestContext, GatewayExecutionResult } from '@apollo/server-gateway-interface';
|
|
37
37
|
import { computeResponse } from './resultShaping';
|
|
@@ -134,6 +134,7 @@ export async function executeQueryPlan(
|
|
|
134
134
|
operationContext: OperationContext,
|
|
135
135
|
supergraphSchema: GraphQLSchema,
|
|
136
136
|
apiSchema: Schema,
|
|
137
|
+
telemetryConfig?: OpenTelemetryConfig
|
|
137
138
|
): Promise<GatewayExecutionResult> {
|
|
138
139
|
|
|
139
140
|
const logger = requestContext.logger || console;
|
|
@@ -201,6 +202,7 @@ export async function executeQueryPlan(
|
|
|
201
202
|
fullResult: unfilteredData,
|
|
202
203
|
},
|
|
203
204
|
captureTraces,
|
|
205
|
+
telemetryConfig
|
|
204
206
|
);
|
|
205
207
|
if (captureTraces) {
|
|
206
208
|
requestContext.metrics!.queryPlanTrace = traceNode;
|
|
@@ -239,10 +241,12 @@ export async function executeQueryPlan(
|
|
|
239
241
|
// Note that this behavior is also what the router does (and in fact, the exact name of the `extensions` we use,
|
|
240
242
|
// "valueCompletion", comes from the router and we use it for alignment.
|
|
241
243
|
if (errors.length === 0 && postProcessingErrors.length > 0) {
|
|
244
|
+
recordExceptions(span, postProcessingErrors, telemetryConfig);
|
|
242
245
|
span.setStatus({ code:SpanStatusCode.ERROR });
|
|
243
246
|
return { extensions: { "valueCompletion": postProcessingErrors }, data };
|
|
244
247
|
}
|
|
245
248
|
} catch (error) {
|
|
249
|
+
recordExceptions(span, [error], telemetryConfig);
|
|
246
250
|
span.setStatus({ code:SpanStatusCode.ERROR });
|
|
247
251
|
if (error instanceof GraphQLError) {
|
|
248
252
|
return { errors: [error] };
|
|
@@ -277,11 +281,13 @@ export async function executeQueryPlan(
|
|
|
277
281
|
});
|
|
278
282
|
|
|
279
283
|
if(result.errors) {
|
|
284
|
+
recordExceptions(span, result.errors, telemetryConfig);
|
|
280
285
|
span.setStatus({ code:SpanStatusCode.ERROR });
|
|
281
286
|
}
|
|
282
287
|
return result;
|
|
283
288
|
}
|
|
284
289
|
catch (err) {
|
|
290
|
+
recordExceptions(span, [err], telemetryConfig)
|
|
285
291
|
span.setStatus({ code:SpanStatusCode.ERROR });
|
|
286
292
|
throw err;
|
|
287
293
|
}
|
|
@@ -300,6 +306,7 @@ async function executeNode(
|
|
|
300
306
|
node: PlanNode,
|
|
301
307
|
currentCursor: ResultCursor | undefined,
|
|
302
308
|
captureTraces: boolean,
|
|
309
|
+
telemetryConfig?: OpenTelemetryConfig
|
|
303
310
|
): Promise<Trace.QueryPlanNode> {
|
|
304
311
|
if (!currentCursor) {
|
|
305
312
|
// XXX I don't understand `results` threading well enough to understand when this happens
|
|
@@ -320,6 +327,7 @@ async function executeNode(
|
|
|
320
327
|
childNode,
|
|
321
328
|
currentCursor,
|
|
322
329
|
captureTraces,
|
|
330
|
+
telemetryConfig
|
|
323
331
|
);
|
|
324
332
|
traceNode.nodes.push(childTraceNode!);
|
|
325
333
|
}
|
|
@@ -333,6 +341,7 @@ async function executeNode(
|
|
|
333
341
|
childNode,
|
|
334
342
|
currentCursor,
|
|
335
343
|
captureTraces,
|
|
344
|
+
telemetryConfig
|
|
336
345
|
),
|
|
337
346
|
),
|
|
338
347
|
);
|
|
@@ -356,6 +365,7 @@ async function executeNode(
|
|
|
356
365
|
node.node,
|
|
357
366
|
moveIntoCursor(currentCursor, node.path),
|
|
358
367
|
captureTraces,
|
|
368
|
+
telemetryConfig
|
|
359
369
|
),
|
|
360
370
|
}),
|
|
361
371
|
});
|
|
@@ -371,6 +381,7 @@ async function executeNode(
|
|
|
371
381
|
node,
|
|
372
382
|
currentCursor,
|
|
373
383
|
captureTraces ? traceNode : null,
|
|
384
|
+
telemetryConfig
|
|
374
385
|
);
|
|
375
386
|
} catch (error) {
|
|
376
387
|
context.errors.push(error);
|
|
@@ -386,7 +397,8 @@ async function executeNode(
|
|
|
386
397
|
context,
|
|
387
398
|
pickedBranch,
|
|
388
399
|
currentCursor,
|
|
389
|
-
captureTraces
|
|
400
|
+
captureTraces,
|
|
401
|
+
telemetryConfig
|
|
390
402
|
);
|
|
391
403
|
}
|
|
392
404
|
|
|
@@ -409,6 +421,7 @@ async function executeFetch(
|
|
|
409
421
|
fetch: FetchNode,
|
|
410
422
|
currentCursor: ResultCursor,
|
|
411
423
|
traceNode: Trace.QueryPlanNode.FetchNode | null,
|
|
424
|
+
telemetryConfig?: OpenTelemetryConfig
|
|
412
425
|
): Promise<void> {
|
|
413
426
|
|
|
414
427
|
const logger = context.requestContext.logger || console;
|
|
@@ -519,6 +532,7 @@ async function executeFetch(
|
|
|
519
532
|
}
|
|
520
533
|
}
|
|
521
534
|
catch (err) {
|
|
535
|
+
recordExceptions(span, [err], telemetryConfig)
|
|
522
536
|
span.setStatus({ code:SpanStatusCode.ERROR });
|
|
523
537
|
throw err;
|
|
524
538
|
}
|
package/src/index.ts
CHANGED
|
@@ -41,7 +41,14 @@ import {
|
|
|
41
41
|
SupergraphManager,
|
|
42
42
|
} from './config';
|
|
43
43
|
import { SpanStatusCode } from '@opentelemetry/api';
|
|
44
|
-
import {
|
|
44
|
+
import {
|
|
45
|
+
OpenTelemetrySpanNames,
|
|
46
|
+
tracer,
|
|
47
|
+
requestContextSpanAttributes,
|
|
48
|
+
operationContextSpanAttributes,
|
|
49
|
+
recordExceptions,
|
|
50
|
+
OpenTelemetryAttributeNames
|
|
51
|
+
} from './utilities/opentelemetry';
|
|
45
52
|
import { addExtensions } from './schema-helper/addExtensions';
|
|
46
53
|
import {
|
|
47
54
|
IntrospectAndCompose,
|
|
@@ -745,13 +752,9 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
745
752
|
public executor = async (
|
|
746
753
|
requestContext: GatewayGraphQLRequestContext,
|
|
747
754
|
): Promise<GatewayExecutionResult> => {
|
|
748
|
-
const spanAttributes = requestContext.operationName
|
|
749
|
-
? { operationName: requestContext.operationName }
|
|
750
|
-
: {};
|
|
751
|
-
|
|
752
755
|
return tracer.startActiveSpan(
|
|
753
756
|
OpenTelemetrySpanNames.REQUEST,
|
|
754
|
-
{ attributes:
|
|
757
|
+
{ attributes: requestContextSpanAttributes(requestContext, this.config.telemetry) },
|
|
755
758
|
async (span) => {
|
|
756
759
|
try {
|
|
757
760
|
const { request, document, queryHash } = requestContext;
|
|
@@ -764,6 +767,8 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
764
767
|
operationName: request.operationName,
|
|
765
768
|
});
|
|
766
769
|
|
|
770
|
+
span.setAttributes(operationContextSpanAttributes(operationContext));
|
|
771
|
+
|
|
767
772
|
// No need to build a query plan if we know the request is invalid beforehand
|
|
768
773
|
// In the future, this should be controlled by the requestPipeline
|
|
769
774
|
const validationErrors = this.validateIncomingRequest(
|
|
@@ -772,6 +777,7 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
772
777
|
);
|
|
773
778
|
|
|
774
779
|
if (validationErrors.length > 0) {
|
|
780
|
+
recordExceptions(span, validationErrors, this.config.telemetry);
|
|
775
781
|
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
776
782
|
return { errors: validationErrors };
|
|
777
783
|
}
|
|
@@ -780,6 +786,14 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
780
786
|
if (!queryPlan) {
|
|
781
787
|
queryPlan = tracer.startActiveSpan(
|
|
782
788
|
OpenTelemetrySpanNames.PLAN,
|
|
789
|
+
requestContext.operationName
|
|
790
|
+
? {
|
|
791
|
+
attributes: {
|
|
792
|
+
[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_NAME]:
|
|
793
|
+
requestContext.operationName,
|
|
794
|
+
},
|
|
795
|
+
}
|
|
796
|
+
: {},
|
|
783
797
|
(span) => {
|
|
784
798
|
try {
|
|
785
799
|
const operation = operationFromDocument(
|
|
@@ -790,6 +804,7 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
790
804
|
// TODO(#631): Can we be sure the query planner has been initialized here?
|
|
791
805
|
return this.queryPlanner!.buildQueryPlan(operation);
|
|
792
806
|
} catch (err) {
|
|
807
|
+
recordExceptions(span, [err], this.config.telemetry);
|
|
793
808
|
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
794
809
|
throw err;
|
|
795
810
|
} finally {
|
|
@@ -831,6 +846,7 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
831
846
|
operationContext,
|
|
832
847
|
this.supergraphSchema!,
|
|
833
848
|
this.apiSchema!,
|
|
849
|
+
this.config.telemetry
|
|
834
850
|
);
|
|
835
851
|
|
|
836
852
|
const shouldShowQueryPlan =
|
|
@@ -882,10 +898,12 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
882
898
|
};
|
|
883
899
|
}
|
|
884
900
|
if (response.errors) {
|
|
901
|
+
recordExceptions(span, response.errors, this.config.telemetry);
|
|
885
902
|
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
886
903
|
}
|
|
887
904
|
return response;
|
|
888
905
|
} catch (err) {
|
|
906
|
+
recordExceptions(span, [err], this.config.telemetry);
|
|
889
907
|
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
890
908
|
throw err;
|
|
891
909
|
} finally {
|
|
@@ -914,10 +932,12 @@ export class ApolloGateway implements GatewayInterface {
|
|
|
914
932
|
);
|
|
915
933
|
|
|
916
934
|
if (errors) {
|
|
935
|
+
recordExceptions(span, errors, this.config.telemetry);
|
|
917
936
|
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
918
937
|
}
|
|
919
938
|
return errors || [];
|
|
920
939
|
} catch (err) {
|
|
940
|
+
recordExceptions(span, [err], this.config.telemetry);
|
|
921
941
|
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
922
942
|
throw err;
|
|
923
943
|
} finally {
|
|
@@ -1,4 +1,30 @@
|
|
|
1
1
|
import opentelemetry from '@opentelemetry/api';
|
|
2
|
+
import type { Attributes, Exception, Span } from '@opentelemetry/api';
|
|
3
|
+
import type { GatewayGraphQLRequestContext } from '@apollo/server-gateway-interface';
|
|
4
|
+
import { OperationContext } from '../operationContext';
|
|
5
|
+
|
|
6
|
+
export type OpenTelemetryConfig = {
|
|
7
|
+
/**
|
|
8
|
+
* Whether to include the `graphql.document` attribute in the `gateway.request` OpenTelemetry spans.
|
|
9
|
+
* When set to `true`, the attribute will contain the entire GraphQL document for the current request.
|
|
10
|
+
*
|
|
11
|
+
* Defaults to `false`, meaning that the GraphQL document will not be added as a span attribute.
|
|
12
|
+
*/
|
|
13
|
+
includeDocument?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Whether to record the GraphQL and internal errors that take place while processing a request as
|
|
16
|
+
* exception events in the OpenTelemetry spans in which they occur.
|
|
17
|
+
*
|
|
18
|
+
* When a number is given as a value, it represents the maximum number of exceptions that will be
|
|
19
|
+
* reported in each OpenTelemetry span.
|
|
20
|
+
*
|
|
21
|
+
* Regardless of the value of this setting, the span status code will be set to `ERROR` when a GraphQL
|
|
22
|
+
* or internal error occurs.
|
|
23
|
+
*
|
|
24
|
+
* Defaults to `false`, meaning that no exceptions will be reported in any spans.
|
|
25
|
+
*/
|
|
26
|
+
recordExceptions?: boolean | number;
|
|
27
|
+
}
|
|
2
28
|
|
|
3
29
|
export enum OpenTelemetrySpanNames {
|
|
4
30
|
REQUEST = 'gateway.request',
|
|
@@ -9,5 +35,87 @@ export enum OpenTelemetrySpanNames {
|
|
|
9
35
|
VALIDATE = 'gateway.validate',
|
|
10
36
|
}
|
|
11
37
|
|
|
38
|
+
/*
|
|
39
|
+
When adding any more, please refer to:
|
|
40
|
+
https://opentelemetry.io/docs/specs/otel/common/attribute-naming/
|
|
41
|
+
https://opentelemetry.io/docs/specs/otel/trace/semantic_conventions/instrumentation/graphql/
|
|
42
|
+
*/
|
|
43
|
+
export enum OpenTelemetryAttributeNames {
|
|
44
|
+
GRAPHQL_DOCUMENT = 'graphql.document',
|
|
45
|
+
GRAPHQL_OPERATION_NAME = 'graphql.operation.name',
|
|
46
|
+
GRAPHQL_OPERATION_NAME_DEPRECATED = 'operationName', // deprecated in favor of GRAPHQL_OPERATION_NAME
|
|
47
|
+
GRAPHQL_OPERATION_TYPE = 'graphql.operation.type',
|
|
48
|
+
}
|
|
49
|
+
|
|
12
50
|
const { name, version } = require('../../package.json');
|
|
13
51
|
export const tracer = opentelemetry.trace.getTracer(`${name}/${version}`);
|
|
52
|
+
|
|
53
|
+
export interface SpanAttributes extends Attributes {
|
|
54
|
+
/**
|
|
55
|
+
* @deprecated in favor of `graphql.operation.name`
|
|
56
|
+
*/
|
|
57
|
+
[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_NAME_DEPRECATED]?: string;
|
|
58
|
+
[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_NAME]?: string;
|
|
59
|
+
[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_TYPE]?: string;
|
|
60
|
+
[OpenTelemetryAttributeNames.GRAPHQL_DOCUMENT]?: string;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function requestContextSpanAttributes(
|
|
64
|
+
requestContext: GatewayGraphQLRequestContext,
|
|
65
|
+
config: OpenTelemetryConfig | undefined
|
|
66
|
+
): SpanAttributes {
|
|
67
|
+
const spanAttributes: SpanAttributes = {};
|
|
68
|
+
|
|
69
|
+
if (requestContext.operationName) {
|
|
70
|
+
spanAttributes[
|
|
71
|
+
OpenTelemetryAttributeNames.GRAPHQL_OPERATION_NAME_DEPRECATED
|
|
72
|
+
] = requestContext.operationName;
|
|
73
|
+
spanAttributes[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_NAME] =
|
|
74
|
+
requestContext.operationName;
|
|
75
|
+
}
|
|
76
|
+
if (config?.includeDocument && requestContext.source) {
|
|
77
|
+
spanAttributes[OpenTelemetryAttributeNames.GRAPHQL_DOCUMENT] =
|
|
78
|
+
requestContext.source;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return spanAttributes;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function operationContextSpanAttributes(
|
|
85
|
+
operationContext: OperationContext
|
|
86
|
+
): SpanAttributes {
|
|
87
|
+
const spanAttributes: SpanAttributes = {};
|
|
88
|
+
|
|
89
|
+
if (operationContext.operation.operation) {
|
|
90
|
+
spanAttributes[OpenTelemetryAttributeNames.GRAPHQL_OPERATION_TYPE] =
|
|
91
|
+
operationContext.operation.operation;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return spanAttributes;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export function recordExceptions(
|
|
98
|
+
span: Span,
|
|
99
|
+
exceptions: readonly Exception[],
|
|
100
|
+
config: OpenTelemetryConfig | undefined
|
|
101
|
+
) {
|
|
102
|
+
const recordExceptions = config?.recordExceptions;
|
|
103
|
+
|
|
104
|
+
if (recordExceptions === undefined || recordExceptions === false) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
let exceptionsToRecord;
|
|
109
|
+
|
|
110
|
+
if (recordExceptions === true) {
|
|
111
|
+
exceptionsToRecord = exceptions;
|
|
112
|
+
} else if (recordExceptions <= 0) {
|
|
113
|
+
return;
|
|
114
|
+
} else {
|
|
115
|
+
exceptionsToRecord = exceptions.slice(0, recordExceptions)
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
for (const exception of exceptionsToRecord) {
|
|
119
|
+
span.recordException(exception);
|
|
120
|
+
}
|
|
121
|
+
}
|