Skip to content

Feature - OpenTelemetry Auto-Instrumentation / DuckDB Library Update #1708

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 11 commits into
base: dev
Choose a base branch
from
Prev Previous commit
Next Next commit
More native implementation of the OTel Node SDK
  • Loading branch information
Connell, Joseph committed May 26, 2025
commit 945efe485c9a48f303d27bc0a711c4aadb8b151d
8 changes: 0 additions & 8 deletions deploy/docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -78,11 +78,6 @@ WORKDIR /lowcoder/node-service/app/
RUN yarn --immutable
RUN yarn build

# --- ADDED: Install OpenTelemetry dependencies for Node.js service ---
RUN yarn add \
@opentelemetry/api \
@opentelemetry/auto-instrumentations-node

# Copy startup script
COPY deploy/docker/node-service/entrypoint.sh /lowcoder/node-service/entrypoint.sh
COPY deploy/docker/node-service/init.sh /lowcoder/node-service/init.sh
@@ -114,9 +109,6 @@ RUN apt-get update \

COPY --from=build-node-service /lowcoder/node-service /lowcoder/node-service

#Enable OpenTelemetry node agent
ENV NODE_OPTIONS="--require @opentelemetry/auto-instrumentations-node/register"

EXPOSE 6060
CMD [ "/bin/sh", "/lowcoder/node-service/entrypoint.sh" ]

3 changes: 3 additions & 0 deletions deploy/docker/node-service/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -6,6 +6,9 @@ export USER_ID=${LOWCODER_PUID:=9001}
export GROUP_ID=${LOWCODER_PGID:=9001}
export API_HOST="${LOWCODER_API_SERVICE_URL:=http://localhost:8080}"

#Require OpenTelemetry
export NODE_OPTIONS="-r /lowcoder/node-service/app/otel.config.js"

# Run init script
echo "Initializing node-service..."
/lowcoder/node-service/init.sh
19 changes: 19 additions & 0 deletions server/node-service/otel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const { NodeSDK } = require('@opentelemetry/sdk-node');
const { ConsoleSpanExporter } = require('@opentelemetry/sdk-trace-node');
const {
getNodeAutoInstrumentations,
} = require('@opentelemetry/auto-instrumentations-node');
const {
PeriodicExportingMetricReader,
ConsoleMetricExporter,
} = require('@opentelemetry/sdk-metrics');

const sdk = new NodeSDK({
traceExporter: new ConsoleSpanExporter(),
metricReader: new PeriodicExportingMetricReader({
exporter: new ConsoleMetricExporter(),
}),
instrumentations: [getNodeAutoInstrumentations()],
});

sdk.start();
Loading
Oops, something went wrong.