Skip to content
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

Automated user events #3205

Merged
merged 57 commits into from
Jun 29, 2023
Merged

Automated user events #3205

merged 57 commits into from
Jun 29, 2023

Conversation

hoolioh
Copy link
Contributor

@hoolioh hoolioh commented Jun 1, 2023

What does this PR do?

This PR add passport-local and passport-http instrumentation in order to set the appropriate events tags in the request. This is achieved by creating a new channel and publishing the information obtained during the authentication process.

Additional notes

This PR add hooks for passport-http and passport-local libraries. Specifically we are instrumenting the constructors in order to get the results from the verified callback which is called by the authenticate method in Passport. Files involved:

  • packages/datadog-instrumentations/src/passport-http.js
  • packages/datadog-instrumentations/src/passport-local.js
  • packages/datadog-instrumentations/test/passport-http.spec.js
  • packages/datadog-instrumentations/test/passport-local.spec.js

* Config variables.
* Track event modifications.
* Passport verify channel handler.
@github-actions
Copy link

github-actions bot commented Jun 1, 2023

Overall package size

Self size: 4.72 MB
Deduped: 61.18 MB
No deduping: 61.22 MB

Dependency sizes

name version self size total size
@datadog/pprof 2.2.3 14.25 MB 15.13 MB
@datadog/native-iast-taint-tracking 1.5.0 14.86 MB 14.86 MB
@datadog/native-appsec 3.2.0 13.38 MB 13.39 MB
protobufjs 7.1.2 2.76 MB 6.55 MB
@datadog/native-iast-rewriter 2.0.1 2.09 MB 2.1 MB
@opentelemetry/core 1.14.0 872.87 kB 1.47 MB
@datadog/native-metrics 2.0.0 898.77 kB 1.3 MB
@opentelemetry/api 1.4.1 780.32 kB 780.32 kB
opentracing 0.14.7 194.81 kB 194.81 kB
semver 7.5.3 93.39 kB 123.79 kB
@datadog/sketches-js 2.1.0 109.9 kB 109.9 kB
lodash.sortby 4.7.0 75.76 kB 75.76 kB
lru-cache 7.14.0 74.95 kB 74.95 kB
ipaddr.js 2.0.1 59.52 kB 59.52 kB
ignore 5.2.0 48.87 kB 48.87 kB
import-in-the-middle 1.3.5 34.34 kB 38.81 kB
istanbul-lib-coverage 3.2.0 29.34 kB 29.34 kB
retry 0.10.1 27.44 kB 27.44 kB
lodash.uniq 4.5.0 25.01 kB 25.01 kB
limiter 1.1.5 23.17 kB 23.17 kB
lodash.kebabcase 4.1.1 17.75 kB 17.75 kB
lodash.pick 4.4.0 16.33 kB 16.33 kB
node-abort-controller 3.0.1 14.33 kB 14.33 kB
crypto-randomuuid 1.0.0 11.18 kB 11.18 kB
diagnostics_channel 1.1.0 7.07 kB 7.07 kB
path-to-regexp 0.1.7 6.78 kB 6.78 kB
koalas 1.0.2 6.47 kB 6.47 kB
methods 1.1.2 5.29 kB 5.29 kB
module-details-from-path 1.0.3 4.47 kB 4.47 kB

🤖 This report was automatically generated by heaviest-objects-in-the-universe

@codecov
Copy link

codecov bot commented Jun 1, 2023

Codecov Report

Merging #3205 (866d626) into master (d845c56) will increase coverage by 0.12%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #3205      +/-   ##
==========================================
+ Coverage   85.88%   86.00%   +0.12%     
==========================================
  Files         199      200       +1     
  Lines        7692     7760      +68     
  Branches       33       33              
==========================================
+ Hits         6606     6674      +68     
  Misses       1086     1086              
Impacted Files Coverage Δ
packages/dd-trace/src/appsec/channels.js 100.00% <ø> (ø)
packages/dd-trace/src/appsec/index.js 100.00% <100.00%> (ø)
packages/dd-trace/src/appsec/passport.js 100.00% <100.00%> (ø)
packages/dd-trace/src/appsec/sdk/track_event.js 100.00% <100.00%> (ø)
packages/dd-trace/src/config.js 99.05% <100.00%> (+<0.01%) ⬆️

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@pr-commenter
Copy link

pr-commenter bot commented Jun 1, 2023

Benchmarks

Comparing candidate commit 866d626 in PR branch julio/automated-user-events-local with baseline commit d845c56 in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 469 metrics, 23 unstable metrics.

@hoolioh hoolioh marked this pull request as ready for review June 1, 2023 14:51
@hoolioh hoolioh requested review from a team as code owners June 1, 2023 14:51
rochdev
rochdev previously approved these changes Jun 1, 2023
@hoolioh hoolioh force-pushed the julio/automated-user-events-local branch from f3676a3 to 1595f8b Compare June 5, 2023 08:49
Copy link
Collaborator

@uurien uurien left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should update test.ts and index.d.ts files to add configuration options.

@hoolioh hoolioh force-pushed the julio/automated-user-events-local branch from ea3ddd2 to f7338c8 Compare June 6, 2023 07:43
@hoolioh hoolioh requested a review from uurien June 6, 2023 07:53
index.d.ts Outdated Show resolved Hide resolved
@hoolioh hoolioh force-pushed the julio/automated-user-events-local branch from 79044b3 to 4eed545 Compare June 28, 2023 16:41
@hoolioh hoolioh merged commit d6ce94f into master Jun 29, 2023
tlhunter pushed a commit that referenced this pull request Jun 29, 2023
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
tlhunter pushed a commit that referenced this pull request Jun 29, 2023
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
tlhunter pushed a commit that referenced this pull request Jun 29, 2023
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
tlhunter pushed a commit that referenced this pull request Jun 29, 2023
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
tlhunter pushed a commit that referenced this pull request Jun 29, 2023
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
This was referenced Jun 29, 2023
tlhunter pushed a commit that referenced this pull request Jun 30, 2023
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
tlhunter pushed a commit that referenced this pull request Jun 30, 2023
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
tlhunter pushed a commit that referenced this pull request Jun 30, 2023
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
tlhunter pushed a commit that referenced this pull request Jun 30, 2023
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
tlhunter pushed a commit that referenced this pull request Jun 30, 2023
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
tlhunter pushed a commit that referenced this pull request Jun 30, 2023
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
@tlhunter tlhunter deleted the julio/automated-user-events-local branch January 19, 2024 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants