Skip to content

Instantly share code, notes, and snippets.

@magicmark
Created April 6, 2023 18:44
Show Gist options
  • Save magicmark/8c2e83eaa59cb8671ef7ce71b2b9db2f to your computer and use it in GitHub Desktop.
Save magicmark/8c2e83eaa59cb8671ef7ce71b2b9db2f to your computer and use it in GitHub Desktop.
https://github.com/DanielMSchmidt/apollo-opentracing/pull/574
This patch contains the diff in the above PR - to let apollo-opentracing support @apollo/server v4
----------
diff --git a/node_modules/apollo-opentracing/dist/context.d.ts b/node_modules/apollo-opentracing/dist/context.d.ts
index 2835f6b..defa9ac 100644
--- a/node_modules/apollo-opentracing/dist/context.d.ts
+++ b/node_modules/apollo-opentracing/dist/context.d.ts
@@ -1,13 +1,10 @@
import { Span } from "opentracing";
import { GraphQLResolveInfo, ResponsePath } from "graphql";
-import { GraphQLRequestContext } from "apollo-server-plugin-base";
-export declare function buildPath(path: ResponsePath | undefined): string;
-export interface SpanContext extends Object {
- _spans: Map<string, Span>;
+import { ContextForApolloOpenTracing, WithRequiredSpanContext } from './index';
+export interface SpanContext {
getSpanByPath(info: ResponsePath): Span | undefined;
addSpan(span: Span, info: GraphQLResolveInfo): void;
- requestSpan?: Span;
}
-export declare function requestIsInstanceContextRequest<CTX extends SpanContext>(request: GraphQLRequestContext<CTX | Object>): request is GraphQLRequestContext<CTX>;
-export declare function addContextHelpers(obj: any): SpanContext;
+export declare function buildPath(path: ResponsePath | undefined): string;
+export declare function addContextHelpers<Context extends ContextForApolloOpenTracing>(contextValue: Context): WithRequiredSpanContext<Context>;
//# sourceMappingURL=context.d.ts.map
\ No newline at end of file
diff --git a/node_modules/apollo-opentracing/dist/context.d.ts.map b/node_modules/apollo-opentracing/dist/context.d.ts.map
index 3d6a18a..436a886 100644
--- a/node_modules/apollo-opentracing/dist/context.d.ts.map
+++ b/node_modules/apollo-opentracing/dist/context.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,UAYvD;AAED,MAAM,WAAW,WAAY,SAAQ,MAAM;IACzC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1B,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAEpD,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAQD,wBAAgB,+BAA+B,CAAC,GAAG,SAAS,WAAW,EACrE,OAAO,EAAE,qBAAqB,CAAC,GAAG,GAAG,MAAM,CAAC,GAC3C,OAAO,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAEvC;AAGD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,CAevD"}
\ No newline at end of file
+{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAkC,MAAM,SAAS,CAAC;AAM/G,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACrD;AAMD,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,UAYvD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,2BAA2B,EAC3E,YAAY,EAAE,OAAO,GACpB,uBAAuB,CAAC,OAAO,CAAC,CAiBlC"}
\ No newline at end of file
diff --git a/node_modules/apollo-opentracing/dist/context.js b/node_modules/apollo-opentracing/dist/context.js
index 57f56fd..04c8a33 100644
--- a/node_modules/apollo-opentracing/dist/context.js
+++ b/node_modules/apollo-opentracing/dist/context.js
@@ -1,6 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-exports.addContextHelpers = exports.requestIsInstanceContextRequest = exports.buildPath = void 0;
+exports.addContextHelpers = exports.buildPath = void 0;
+const index_1 = require("./index");
function isArrayPath(path) {
return typeof path.key === "number";
}
@@ -19,25 +20,21 @@ function buildPath(path) {
return segments.reverse().join(".");
}
exports.buildPath = buildPath;
-function isSpanContext(obj) {
- return (obj.getSpanByPath instanceof Function && obj.addSpan instanceof Function);
-}
-function requestIsInstanceContextRequest(request) {
- return isSpanContext(request.context);
-}
-exports.requestIsInstanceContextRequest = requestIsInstanceContextRequest;
-function addContextHelpers(obj) {
- if (isSpanContext(obj)) {
- return obj;
+function addContextHelpers(contextValue) {
+ if ((0, index_1.hasSpanContext)(contextValue)) {
+ return contextValue;
}
- obj._spans = new Map();
- obj.getSpanByPath = function (path) {
- return this._spans.get(buildPath(isArrayPath(path) ? path.prev : path));
- };
- obj.addSpan = function (span, info) {
- this._spans.set(buildPath(info.path), span);
+ const spans = new Map();
+ const spanContext = {
+ getSpanByPath: (path) => {
+ return spans.get(buildPath(isArrayPath(path) ? path.prev : path));
+ },
+ addSpan: (span, info) => {
+ spans.set(buildPath(info.path), span);
+ },
};
- return obj;
+ (0, index_1.addSpanContext)(contextValue, spanContext);
+ return contextValue;
}
exports.addContextHelpers = addContextHelpers;
//# sourceMappingURL=context.js.map
\ No newline at end of file
diff --git a/node_modules/apollo-opentracing/dist/context.js.map b/node_modules/apollo-opentracing/dist/context.js.map
index bda53fb..ed522ca 100644
--- a/node_modules/apollo-opentracing/dist/context.js.map
+++ b/node_modules/apollo-opentracing/dist/context.js.map
@@ -1 +1 @@
-{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAGA,SAAS,WAAW,CAAC,IAAkB;IACrC,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC;AACtC,CAAC;AAED,SAAgB,SAAS,CAAC,IAA8B;IACtD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,OAAO,OAAO,IAAI,IAAI,EAAE;QACtB,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;SACnC;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC5B;QACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;KACxB;IACD,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAZD,8BAYC;AAUD,SAAS,aAAa,CAAC,GAAQ;IAC7B,OAAO,CACL,GAAG,CAAC,aAAa,YAAY,QAAQ,IAAI,GAAG,CAAC,OAAO,YAAY,QAAQ,CACzE,CAAC;AACJ,CAAC;AAED,SAAgB,+BAA+B,CAC7C,OAA4C;IAE5C,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAJD,0EAIC;AAGD,SAAgB,iBAAiB,CAAC,GAAQ;IACxC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,CAAC;KACZ;IAED,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,EAAgB,CAAC;IACrC,GAAG,CAAC,aAAa,GAAG,UAAU,IAAkB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC;IAEF,GAAG,CAAC,OAAO,GAAG,UAAU,IAAU,EAAE,IAAwB;QAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAfD,8CAeC"}
\ No newline at end of file
+{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAEA,mCAA+G;AAW/G,SAAS,WAAW,CAAC,IAAkB;IACrC,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC;AACtC,CAAC;AAED,SAAgB,SAAS,CAAC,IAA8B;IACtD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,OAAO,OAAO,IAAI,IAAI,EAAE;QACtB,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;SACnC;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC5B;QACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;KACxB;IACD,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAZD,8BAYC;AAED,SAAgB,iBAAiB,CAC/B,YAAqB;IAErB,IAAI,IAAA,sBAAc,EAAC,YAAY,CAAC,EAAE;QAChC,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IACtC,MAAM,WAAW,GAAgB;QAC/B,aAAa,EAAE,CAAC,IAAkB,EAAoB,EAAE;YACtD,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,EAAE,CAAC,IAAU,EAAE,IAAwB,EAAQ,EAAE;YACtD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;KACF,CAAC;IAEF,IAAA,sBAAc,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1C,OAAO,YAAY,CAAC;AACtB,CAAC;AAnBD,8CAmBC"}
\ No newline at end of file
diff --git a/node_modules/apollo-opentracing/dist/index.d.ts b/node_modules/apollo-opentracing/dist/index.d.ts
index ea2275d..ffef37a 100644
--- a/node_modules/apollo-opentracing/dist/index.d.ts
+++ b/node_modules/apollo-opentracing/dist/index.d.ts
@@ -1,39 +1,32 @@
-import { Request } from "apollo-server-env";
-import { ApolloServerPlugin, GraphQLRequestContext, GraphQLRequestContextDidEncounterErrors } from "apollo-server-plugin-base";
-import { DocumentNode, GraphQLResolveInfo } from "graphql";
+import { ApolloServerPlugin, BaseContext, GraphQLRequestContext, GraphQLRequestContextDidEncounterErrors } from "@apollo/server";
+import { GraphQLResolveInfo } from "graphql";
import { Span, Tracer } from "opentracing";
import { addContextHelpers, SpanContext } from "./context";
export { SpanContext, addContextHelpers };
-export interface InitOptions<TContext> {
+declare const spanContextSymbol: unique symbol;
+export interface ContextForApolloOpenTracing extends BaseContext {
+ [spanContextSymbol]?: SpanContext;
+ requestSpan?: Span;
+}
+export type WithRequiredSpanContext<T> = T & {
+ [spanContextSymbol]: SpanContext;
+};
+export declare function hasSpanContext<Context extends object>(contextValue: Context): contextValue is WithRequiredSpanContext<Context>;
+export declare function addSpanContext<Context extends ContextForApolloOpenTracing>(contextValue: Context, spanContext: SpanContext): asserts contextValue is WithRequiredSpanContext<Context>;
+export interface InitOptions<TContext extends BaseContext> {
server?: Tracer;
local?: Tracer;
onFieldResolveFinish?: (error: Error | null, result: any, span: Span) => void;
onFieldResolve?: (source: any, args: {
[argName: string]: any;
- }, context: SpanContext, info: GraphQLResolveInfo) => void;
+ }, context: TContext, info: GraphQLResolveInfo) => void;
shouldTraceRequest?: (info: GraphQLRequestContext<TContext>) => boolean;
shouldTraceFieldResolver?: (source: any, args: {
[argName: string]: any;
- }, context: SpanContext, info: GraphQLResolveInfo) => boolean;
+ }, context: TContext, info: GraphQLResolveInfo) => boolean;
onRequestResolve?: (span: Span, info: GraphQLRequestContext<TContext>) => void;
createCustomSpanName?: (name: string, info: GraphQLResolveInfo) => string;
onRequestError?: (rootSpan: Span, info: GraphQLRequestContextDidEncounterErrors<TContext>) => void;
}
-export interface ExtendedGraphQLResolveInfo extends GraphQLResolveInfo {
- span?: Span;
-}
-export interface RequestStart<TContext> {
- request: Pick<Request, "url" | "method" | "headers">;
- queryString?: string;
- parsedQuery?: DocumentNode;
- operationName?: string;
- variables?: {
- [key: string]: any;
- };
- persistedQueryHit?: boolean;
- persistedQueryRegister?: boolean;
- context: TContext;
- requestContext: GraphQLRequestContext<TContext>;
-}
-export default function OpentracingPlugin<InstanceContext extends SpanContext>({ server, local, onFieldResolveFinish, onFieldResolve, shouldTraceRequest, shouldTraceFieldResolver, onRequestResolve, onRequestError, createCustomSpanName, }: InitOptions<InstanceContext>): ApolloServerPlugin<InstanceContext>;
+export default function OpentracingPlugin<InstanceContext extends ContextForApolloOpenTracing>({ server, local, onFieldResolveFinish, onFieldResolve, shouldTraceRequest, shouldTraceFieldResolver, onRequestResolve, onRequestError, createCustomSpanName, }: InitOptions<InstanceContext>): ApolloServerPlugin<InstanceContext>;
//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/node_modules/apollo-opentracing/dist/index.d.ts.map b/node_modules/apollo-opentracing/dist/index.d.ts.map
index 3322f71..52b2987 100644
--- a/node_modules/apollo-opentracing/dist/index.d.ts.map
+++ b/node_modules/apollo-opentracing/dist/index.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EAIrB,uCAAuC,EACxC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAuB,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,WAAW,EAEZ,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAK1C,MAAM,WAAW,WAAW,CAAC,QAAQ;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC9E,cAAc,CAAC,EAAE,CACf,MAAM,EAAE,GAAG,EACX,IAAI,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAChC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,kBAAkB,KACrB,IAAI,CAAC;IACV,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC;IACxE,wBAAwB,CAAC,EAAE,CACzB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAChC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,kBAAkB,KACrB,OAAO,CAAC;IACb,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,KAClC,IAAI,CAAC;IACV,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC1E,cAAc,CAAC,EAAE,CACf,QAAQ,EAAE,IAAI,EACd,IAAI,EAAE,uCAAuC,CAAC,QAAQ,CAAC,KACpD,IAAI,CAAC;CACX;AAED,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AACD,MAAM,WAAW,YAAY,CAAC,QAAQ;IACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,EAAE,QAAQ,CAAC;IAClB,cAAc,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;CACjD;AAqCD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,eAAe,SAAS,WAAW,EAAE,EAC7E,MAAM,EACN,KAAK,EACL,oBAAoC,EACpC,cAA8B,EAC9B,kBAA+B,EAC/B,wBAAqC,EACrC,gBAAgC,EAChC,cAA8B,EAC9B,oBAAwC,GACzC,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAAC,eAAe,CAAC,CA4GpE"}
\ No newline at end of file
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,WAAW,EAEX,qBAAqB,EAErB,uCAAuC,EAExC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAuB,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAG1C,QAAA,MAAM,iBAAiB,EAAE,OAAO,MAE/B,CAAC;AAKF,MAAM,WAAW,2BAA4B,SAAQ,WAAW;IAE9D,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC;IAElC,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAKD,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG;IAC3C,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC;CAClC,CAAC;AAKF,wBAAgB,cAAc,CAAC,OAAO,SAAS,MAAM,EACnD,YAAY,EAAE,OAAO,GACpB,YAAY,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAElD;AAMD,wBAAgB,cAAc,CAAC,OAAO,SAAS,2BAA2B,EACxE,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,YAAY,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAE1D;AAKD,MAAM,WAAW,WAAW,CAAC,QAAQ,SAAS,WAAW;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC9E,cAAc,CAAC,EAAE,CACf,MAAM,EAAE,GAAG,EACX,IAAI,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAChC,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,kBAAkB,KACrB,IAAI,CAAC;IACV,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC;IACxE,wBAAwB,CAAC,EAAE,CACzB,MAAM,EAAE,GAAG,EACX,IAAI,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAChC,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,kBAAkB,KACrB,OAAO,CAAC;IACb,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,KAClC,IAAI,CAAC;IACV,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC1E,cAAc,CAAC,EAAE,CACf,QAAQ,EAAE,IAAI,EACd,IAAI,EAAE,uCAAuC,CAAC,QAAQ,CAAC,KACpD,IAAI,CAAC;CACX;AAqCD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,eAAe,SAAS,2BAA2B,EAAE,EAC7F,MAAM,EACN,KAAK,EACL,oBAAoC,EACpC,cAA8B,EAC9B,kBAA+B,EAC/B,wBAAqC,EACrC,gBAAgC,EAChC,cAA8B,EAC9B,oBAAwC,GACzC,EAAE,WAAW,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAAC,eAAe,CAAC,CA6GpE"}
\ No newline at end of file
diff --git a/node_modules/apollo-opentracing/dist/index.js b/node_modules/apollo-opentracing/dist/index.js
index 1cecb32..2fa3ba4 100644
--- a/node_modules/apollo-opentracing/dist/index.js
+++ b/node_modules/apollo-opentracing/dist/index.js
@@ -9,10 +9,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
Object.defineProperty(exports, "__esModule", { value: true });
-exports.addContextHelpers = void 0;
+exports.addSpanContext = exports.hasSpanContext = exports.addContextHelpers = void 0;
const opentracing_1 = require("opentracing");
const context_1 = require("./context");
Object.defineProperty(exports, "addContextHelpers", { enumerable: true, get: function () { return context_1.addContextHelpers; } });
+const spanContextSymbol = Symbol.for("apolloOpenTracingSpanContext");
+function hasSpanContext(contextValue) {
+ return spanContextSymbol in contextValue;
+}
+exports.hasSpanContext = hasSpanContext;
+function addSpanContext(contextValue, spanContext) {
+ contextValue[spanContextSymbol] = spanContext;
+}
+exports.addSpanContext = addSpanContext;
const alwaysTrue = () => true;
const emptyFunction = () => { };
function getFieldName(info) {
@@ -52,11 +61,7 @@ function OpentracingPlugin({ server, local, onFieldResolveFinish = emptyFunction
requestDidStart(infos) {
var _a;
return __awaiter(this, void 0, void 0, function* () {
- (0, context_1.addContextHelpers)(infos.context);
- if (!(0, context_1.requestIsInstanceContextRequest)(infos)) {
- console.warn("Context in request passed to apollo-opentracing#requestDidStart is not a SpanContext, aborting tracing");
- return;
- }
+ (0, context_1.addContextHelpers)(infos.contextValue);
if (!shouldTraceRequest(infos)) {
return;
}
@@ -64,7 +69,7 @@ function OpentracingPlugin({ server, local, onFieldResolveFinish = emptyFunction
const externalSpan = headers
? serverTracer.extract(opentracing_1.FORMAT_HTTP_HEADERS, headers)
: undefined;
- const rootSpan = infos.context.requestSpan ||
+ const rootSpan = infos.contextValue.requestSpan ||
serverTracer.startSpan(infos.operationName || "request", {
childOf: externalSpan ? externalSpan : undefined,
});
@@ -79,25 +84,29 @@ function OpentracingPlugin({ server, local, onFieldResolveFinish = emptyFunction
executionDidStart() {
return __awaiter(this, void 0, void 0, function* () {
return {
- willResolveField({ source, args, context, info, }) {
+ willResolveField({ source, args, contextValue, info, }) {
+ if (!hasSpanContext(contextValue)) {
+ console.warn("Context in request passed to apollo-opentracing#willResolveField is not a SpanContext, aborting tracing");
+ return;
+ }
if (!requestSpan ||
- !shouldTraceFieldResolver(source, args, context, info) ||
+ !shouldTraceFieldResolver(source, args, contextValue, info) ||
(info.path &&
info.path.prev &&
- !context.getSpanByPath(info.path.prev))) {
+ !contextValue[spanContextSymbol].getSpanByPath(info.path.prev))) {
return;
}
- (0, context_1.addContextHelpers)(context);
+ (0, context_1.addContextHelpers)(contextValue);
const name = createCustomSpanName(getFieldName(info), info);
const parentSpan = info.path && info.path.prev
- ? context.getSpanByPath(info.path.prev)
+ ? contextValue[spanContextSymbol].getSpanByPath(info.path.prev)
: requestSpan;
const span = localTracer.startSpan(name, {
childOf: parentSpan || undefined,
});
- context.addSpan(span, info);
+ contextValue[spanContextSymbol].addSpan(span, info);
info.span = span;
- onFieldResolve(source, args, context, info);
+ onFieldResolve(source, args, contextValue, info);
return (error, result) => {
onFieldResolveFinish(error, result, span);
span.finish();
diff --git a/node_modules/apollo-opentracing/dist/index.js.map b/node_modules/apollo-opentracing/dist/index.js.map
index d971c38..d0b1ac7 100644
--- a/node_modules/apollo-opentracing/dist/index.js.map
+++ b/node_modules/apollo-opentracing/dist/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment