-
Notifications
You must be signed in to change notification settings - Fork 978
Closed
Labels
Description
Description
We are importing @opentelemetry/exporter-trace-otlp-http in our setup code. Everything was working fine till v0.52.1, but the following error is coming after updating to v0.53.0. The error is coming when we are starting the node server.
Error message
Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/app/node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/node/OTLPTraceExporter' imported from /app/server/index.mjs
at finalizeResolution (node:internal/modules/esm/resolve:265:11)
at moduleResolve (node:internal/modules/esm/resolve:933:10)
at defaultResolve (node:internal/modules/esm/resolve:1157:11)
at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:390:12)
at ModuleLoader.resolve (node:internal/modules/esm/loader:359:25)
at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:234:38)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:87:39)
at link (node:internal/modules/esm/module_job:86:36) {
code: 'ERR_MODULE_NOT_FOUND',
url: 'file:///app/node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/node/OTLPTraceExporter'
}
Additional Details
- This is a Nuxt app monorepo, setup with Nx and pnpm.
- On version 0.52.1, after the build,
@opentelemetry/exporter-trace-otlp-httpwas present in the package.json of the build dir.output. And was also imported in theindex.mjsfile. After the update, it is not present in the above places, and instead, its code is inline in the server chunkindex.mjs. - This error is coming for version 0.55.0 as well.
OpenTelemetry Setup Code
// src/server/plugins/tracing.ts
import { Resource } from '@opentelemetry/resources';
import { SEMRESATTRS_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { registerInstrumentations } from '@opentelemetry/instrumentation';
import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
import type {
HttpRequestCustomAttributeFunction,
IgnoreIncomingRequestFunction
} from '@opentelemetry/instrumentation-http';
import type { Span } from '@opentelemetry/api';
import type { ClientRequest, IncomingMessage } from 'http';
export default defineNitroPlugin(() => {
const {
traceExporterEndpoint,
apiKey,
appName,
appEnv,
otelExporterThresholds
} = getOpentelemetryConfig();
// Configure the OTLP exporter
const exporterConfig: ExporterConfig = {
url: traceExporterEndpoint,
headers: {
'api-key': apiKey
},
concurrencyLimit: otelExporterThresholds.concurrencyLimit
};
// Initialize OTEL trace exporter
const exporter = new OTLPTraceExporter(exporterConfig);
// Create a NodeTracerProvider instance
const provider = new NodeTracerProvider({
resource: new Resource({
[SEMRESATTRS_SERVICE_NAME]: `${appName}-${appEnv}-server`
})
});
provider.addSpanProcessor(
new BatchSpanProcessor(exporter, {
maxExportBatchSize: otelExporterThresholds.maxExportBatchSize,
scheduledDelayMillis: otelExporterThresholds.scheduledDelayMillis,
exportTimeoutMillis: otelExporterThresholds.exportTimeoutMillis,
maxQueueSize: otelExporterThresholds.maxQueueSize
})
);
// Register the provider with OpenTelemetry
provider.register();package.json
{
"name": "...",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"preinstall": "npx only-allow pnpm",
"docs": "typedoc"
},
"private": true,
"dependencies": {
"@opentelemetry/api": "1.9.0",
"@opentelemetry/exporter-trace-otlp-http": "0.53.0",
"@opentelemetry/instrumentation": "0.53.0",
"@opentelemetry/instrumentation-http": "0.53.0",
"@opentelemetry/resources": "1.28.0",
"@opentelemetry/sdk-trace-base": "1.28.0",
"@opentelemetry/sdk-trace-node": "1.28.0",
"@opentelemetry/sdk-trace-web": "1.28.0",
"@opentelemetry/semantic-conventions": "1.28.0"
}
}Relevant log output
No response
Operating System and Version
No response
Runtime and Version
- Operating System: Linux
- Node Version: v20.12.0
- Nuxt Version: 3.13.2
- Package Manager: [email protected]
- Nx: v20.0.5
asadcompro11, sahilmcompro, marcrusch and EkkoLee98