Skip to content

Commit

Permalink
Prepare support for Dynamic Instrumentation (#4492)
Browse files Browse the repository at this point in the history
Prepare the Node.js tracer to be used with the Dynamic Instrumentation product
(DI).

Probes are added as breakpoints using the V8 Inspector Protocol. The inspector
runs in a worker thread and will pause the main thread temporarily while
gathering the required information related to the probe (as of this commit no
information is gathered, but this is a required step once we start to gather
the local state snapshot).

DI features included in this commit:
- Support for line based log probes
- Support for loading probes via Remote Configuration
- Support for sending probe status to the debugger-backend
- Support for sending log data to debugger-backend

Please note, that with this commit it's still not possible to use DI with the
Node.js tracer as support for using the Node.js tracer with DI has not yet been
enabled in the Datadog UI.
  • Loading branch information
watson committed Sep 13, 2024
1 parent 7073ef3 commit ba53c01
Show file tree
Hide file tree
Showing 20 changed files with 1,241 additions and 12 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/debugger.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Debugger

on:
pull_request:
push:
branches: [master]
schedule:
- cron: '0 4 * * *'

concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true

jobs:
ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- uses: ./.github/actions/install
- uses: ./.github/actions/node/18
- run: yarn test:debugger:ci
- run: yarn test:integration:debugger
- uses: ./.github/actions/node/20
- run: yarn test:debugger:ci
- run: yarn test:integration:debugger
- uses: ./.github/actions/node/latest
- run: yarn test:debugger:ci
- run: yarn test:integration:debugger
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3
5 changes: 5 additions & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

/packages/dd-trace/src/appsec/ @DataDog/asm-js
/packages/dd-trace/test/appsec/ @DataDog/asm-js

/integration-tests/debugger/ @DataDog/dd-trace-js @DataDog/debugger
/packages/dd-trace/src/debugger/ @DataDog/dd-trace-js @DataDog/debugger
/packages/dd-trace/test/debugger/ @DataDog/dd-trace-js @DataDog/debugger

/packages/dd-trace/src/lambda/ @DataDog/serverless-aws
/packages/dd-trace/test/lambda/ @DataDog/serverless-aws

Expand Down
Loading

0 comments on commit ba53c01

Please sign in to comment.