Original issue report
opentracing doesn't seem to like dd-trace's Tracer.
For example:
import tracer from "dd-trace";
import * as opentracing from "opentracing";
tracer.init();
opentracing.initGlobalTracer(tracer);
Throws the following compile error for me:
TSError: ⨯ Unable to compile TypeScript:
src/handlers/tracing/open-tracing.ts(39,32): error TS2345: Argument of type 'import("/Users/me/project/node_modules/dd-trace/docs/index").Tracer' is not assignable to parameter of type 'import("/Users/me/project/node_modules/opentracing/lib/tracer").Tracer'.
Types of property 'startSpan' are incompatible.
Type '(name: string, options?: import("/Users/me/project/node_modules/dd-trace/node_modules/opentracing/lib/tracer").SpanOptions | undefined) => import("/Users/me/project/node_modules/dd-trace/docs/index").Span' is not assignable to type '(name: string, options?: import("/Users/me/project/node_modules/opentracing/lib/tracer").SpanOptions | undefined) => import("/Users/me/project/node_modules/opentracing/lib/span").Span'.
Types of parameters 'options' and 'options' are incompatible.
Type 'import("/Users/me/project/node_modules/opentracing/lib/tracer").SpanOptions | undefined' is not assignable to type 'import("/Users/me/project/node_modules/dd-trace/node_modules/opentracing/lib/tracer").SpanOptions | undefined'.
Type 'import("/Users/me/project/node_modules/opentracing/lib/tracer").SpanOptions' is not assignable to type 'import("/Users/me/project/node_modules/dd-trace/node_modules/opentracing/lib/tracer").SpanOptions'.
Types of property 'references' are incompatible.
Type 'import("/Users/me/project/node_modules/opentracing/lib/reference").default[] | undefined' is not assignable to type 'import("/Users/me/project/node_modules/dd-trace/node_modules/opentracing/lib/reference").default[] | undefined'.
Type 'import("/Users/me/project/node_modules/opentracing/lib/reference").default[]' is not assignable to type 'import("/Users/me/project/node_modules/dd-trace/node_modules/opentracing/lib/reference").default[]'.
Type 'import("/Users/me/project/node_modules/opentracing/lib/reference").default' is not assignable to type 'import("/Users/me/project/node_modules/dd-trace/node_modules/opentracing/lib/reference").default'.
Property '_type' is protected but type 'Reference' is not a class derived from 'Reference'.
| dependency |
version |
| typescript |
3.3.3333 |
| opentracing |
0.14.3 |
| dd-trace |
0.9.2 |
Glad to see typescript getting some love from dd-trace 🙂
This is happening again to me after #69581, with the exact same error message :-(
Using
import { initGlobalTracer } from 'dd-trace/vendor/dist/opentracing';
instead of
import { initGlobalTracer } from 'opentracing';
solves the type error, but I'm confident that this is the wrong solution. Alternatively I can write
opentracing.initGlobalTracer(tracer as unknown as opentracing.OpenTracer);
but that's just as ugly.
1: concretely, it did work with dd-trace@5.80.0 and now fails after upgrading to dd-trace@5.87.0.
Originally posted by @ab-pm in #464
Original issue report
opentracingdoesn't seem to likedd-trace'sTracer.For example:
Throws the following compile error for me:
Glad to see typescript getting some love from
dd-trace🙂Originally posted by @ab-pm in #464