Node v12.
1) Node SDK
Basic Registration
should register a tracer provider if a span processor is provided:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/root/project/packages/opentelemetry-sdk-node/test/sdk.test.ts)
This test is flaky because the plugin loading is taking too long. Even on my local machine, the test frequently takes longer than 1000ms. In a CI environment with limited resources, the 2000ms limit is exceeded often. This is not a problem in the other tests because the node tracer provider isn't loaded for each test.
I think the plugin system needs a drastic overhaul. Managing a list of plugins to autoload is cumbersome, the fact that a single plugin cannot instrument two modules can be a pain (as is the case with http/https and grpc/grpc-js, and would be similar with mysql/mysql2 if we supported mysql2), and plugin configuration is awkward.
Flaky test fixed in #1398
Most helpful comment
This test is flaky because the plugin loading is taking too long. Even on my local machine, the test frequently takes longer than 1000ms. In a CI environment with limited resources, the 2000ms limit is exceeded often. This is not a problem in the other tests because the node tracer provider isn't loaded for each test.
I think the plugin system needs a drastic overhaul. Managing a list of plugins to autoload is cumbersome, the fact that a single plugin cannot instrument two modules can be a pain (as is the case with http/https and grpc/grpc-js, and would be similar with mysql/mysql2 if we supported mysql2), and plugin configuration is awkward.