profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/dwinrick-lever/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Devon Winrick dwinrick-lever @lever.co

dwinrick-lever/dd-trace-js 0

JavaScript APM Tracer

dwinrick-lever/DefinitelyTyped 0

The repository for high quality TypeScript type definitions.

dwinrick-lever/sharedb 0

Realtime database backend based on Operational Transformation (OT)

dwinrick-lever/sharedb-mongo 0

MongoDB database adapter for ShareDB

lever/knox-mpu 0

Multi part upload for Amazon S3 using Knox

issue commentDataDog/dd-trace-js

MongoDB Plugin - Query Information Enhancement

I agree that being able to pass a function that would return the formatted version of the query would be best. A span hook would work but would result in creating the formatted query twice, which isn't great.

dwinrick-lever

comment created time in a month

issue openedDataDog/dd-trace-js

MongoDB Plugin - Query Information Enhancement

With the MongoDB plugin, as it is today, I get events like this for each query:

{"$or":"?","a":"?","b":"?","c":"?","d":"?","e":"?"}

What would be cool is an option to collect to get something like this:

{"$or":"object","a":"null","b":"boolean","c":"object","d":"boolean","e":"string"}

This would better help us take action on the reporting from DataDog to design our indexes.

I'd imagine this would be configurable to not break existing customers' reports.

This is a pretty straight forward change - if the DataDog team is up for it I'm happy to put together a PR.

created time in a month

pull request commentDataDog/dd-trace-js

Support for ShareDB (datadog-plugin-sharedb)

🥳 🥳 🥳 🥳 🥳 🥳

dwinrick-lever

comment created time in a month

pull request commentDataDog/dd-trace-js

remove internal services and replace analytics with measured

@rochdev So basically, this setting could also be called enableChildSpanStats? :)

rochdev

comment created time in a month

pull request commentDataDog/dd-trace-js

Support for ShareDB (datadog-plugin-sharedb)

@rochdev Ready for re-review.

dwinrick-lever

comment created time in a month

push eventdwinrick-lever/dd-trace-js

Devon Winrick

commit sha 4f643a649b8adf2da759b2dacc2133f1e17ec1f0

Updating sharedb test - resource.method replaced by sharedb.action

view details

push time in a month

push eventdwinrick-lever/dd-trace-js

Roch Devost

commit sha ae2cc0baa84bdd3b056d99bf5e0b67a8fb17676c

fix tests for pino 7 (#1532)

view details

Juan Antonio Fernández de Alba

commit sha 65b88cc665fe5186dbb9618466806056be051016

[ci-app] Fix Possible Missing `getVmContext` (#1539)

view details

Juan Antonio Fernández de Alba

commit sha a29e52e8cc8e14fa89a6dee163954379fb8679e7

[ci-app] Update CI App spec (#1542)

view details

Roch Devost

commit sha 623d62891ae04bdcd2af9570dd38456b513dd390

replace hdr with ddsketch as the runtime metrics histogram (#1545)

view details

Roch Devost

commit sha 0a1befc806751bd7ae48f2b8099ef3a56ad33449

fix missing error tags for hook exceptions (#1533)

view details

Roch Devost

commit sha c1937505856a5e91c16e2c14ca9ac857bcd4da60

add log benchmarks (#1528)

view details

Roch Devost

commit sha 2bec93cbf10ef59fc64184695bd833230b3bda36

fix next request error when rendering directly (#1538)

view details

Roch Devost

commit sha f68f74c58c9e506a1eb77afcaaca1a5a1279dabc

update version script to not conflict branch with tag (#1544)

view details

Roch Devost

commit sha 2c20e86be8c864ae2594e8d8f5b4ccb0bfe46e6b

fix fastify error when hooks have only a single parameter (#1552)

view details

Maxime David

commit sha 58f76fc795e4df7d1f3aa2ecf2ed755d736e81e1

Lazy-load the profiler (#1551) * lazy load the profiler

view details

Roch Devost

commit sha 9d2d267e91f76667befdb59886fbf64e9cfdb016

bump sketches-js to avoid security warning and add audit (#1553) * bump sketches-js to avoid security warning and add audit * bump sketches-js to avoid breaking on windows

view details

Juan Antonio Fernández de Alba

commit sha cc3952dbfc7d633b5eb0589cf3fa6fb96eb9708e

[ci-app] fix this.skip (#1550)

view details

Stephen Belanger

commit sha e745f2aee91851f4235b05f6572d5b28e977813f

Profiler tracking PR (#1422) * update profiler to default to pprof module (#1291) * add sirun benchmark for the profiler (#1318) * add profiler and profiling to keywords in package.json * Make profiler use normal enable option (#1437) * Remove DD_PROFILING_INTERVAL env var (#1454) * Do prebuilds on profiler branch * Fix profiler url config (#1460) * Prevent agent 502 errors (#1461) If a request to the agent starts within 55 seconds of the last ending the agent will reject with a 502 error. This bumps the reporting time up slightly and ensures the response is discarded to avoid that. * Expand profiler logging (#1511) * Make pprof required to satisfy check_licenses (#1513) It's probably better for it to be required while using a separate branch anyway. * Improve profiler logging and behaviour when profilers fail to start (#1515) * Prevent next failures on profiler branch (#1523) * Use forked pprof module with prebuilds (#1529) * Add additional profiler tests (#1530) This fixes what should be a rejection on the exporter failure test and adds a test for skipping submit when no profiles received. * Fix some missing code coverage (#1531) * Reduce delta of code changes from profiler branch to master (#1537) * Minor cleanup * Ensure fresh start time is used for each profiler capture (#1543) Co-authored-by: rochdev <roch.devost@datadoghq.com>

view details

Bryan English

commit sha 8852c1c9ccb73b9c2967406d5d1bfa4ef7d6b9a7

DRY up circleci config (#1505) * DRY up some of thee job lists * circleci node core matrix * circleci simplify most jobs with a command * circleci smaller sirun job definitions * circleci quick cleanup of prebuild jobs * circleci smarter base case for plugins * circle upstream tests simplification * circleci move upstream tests to their own section * circleci plugin tests across nodejs versions * typo * circleci fix 2 benchmark jobs * circleci benchmarks across nodejs versions * circleci properly parameterize all plugin and upstream builds * circleci only test couchbase on node 12 * benchmark temporarily only use latest nodejs version * circleci only test postgres on node 12 * review feedback * 2nd attempt at review feedback * more review feedback * fix paperplane support range * use bigger keys for https and http2 tests * only up to node 12 for grpc and hapi * fix typo * fix profiler merge problem * only do gc measurements when we have histogram

view details

Stephen Belanger

commit sha cb042ad2d3fb09dd25b4db0a58659082362de8e0

Add runtime-id tag to profiler (#1558)

view details

Christopher Agocs

commit sha 04250145f02cf032a4a987b794e0b250de1fc101

Update trace propagation format for aws-sdk direct invocations (#1506) * refactor requestInject (should be a noop). struggling to get docker-compose up to work on my laptop * Revert "refactor requestInject (should be a noop). struggling to get docker-compose up to work on my laptop" This reverts commit 41d289ca0d55ecc81a6af4187e13794e380efae6. * refactor requestInject (should be a noop) * sneakily add in a couple console.logs for circleci * sneakily add in a few more console.logs for circleci * console.log any caught error * getting closer... * request.params.clientContex -> ClientContext * remove console.logs * only set trace context in one place * inject trace context directly into clientContext.custom._datadog (without first instantiating) * initiailize clientContext.custom._datadog before injecting context * console.log the request to see if it already has a config * console.log the request to see if it already has a config * Document the new parameter * Attempt to add invokeWithLegacyContext config parameter * oops added a second . * Move the console.log so I can see the error that was gonna get caught * Pass config into requestInject * Remove setConfig() * Add tests for invokeWithLegacyContext = false * Remove extra console.log * Add tests for default config * Flip the default value of invokeWithLegacyContext * Remove invokeWithLegacyContext option

view details

Juan Antonio Fernández de Alba

commit sha 4b492e8c725ad840c5b81f7075a3ac4882e887d4

[ci-app] Calculate `ci.workspace_path` from `git` too (#1569)

view details

Juan Antonio Fernández de Alba

commit sha 6b79a39eb71f197e8ce2af28550feaad4d2b76be

[ci-app] Support Jasmine (#1466)

view details

Juan Antonio Fernández de Alba

commit sha 2c015e664a45565bec38c7b441ee28be3e2c5d9d

[ci-app] Allow User Defined Git Tags (#1567)

view details

Roch Devost

commit sha 0fc4331c7fb4af049b1bf62cf126f194de6547c3

fix missing origin allowed header for cors (#1570)

view details

push time in a month

pull request commentDataDog/dd-trace-js

remove internal services and replace analytics with measured

What does "measuring the span" mean in the context of users of DataDog? Sorry, I found this a bit confusing.

rochdev

comment created time in a month

issue closedshare/sharedb

Flaky Query Subscribe Test

I've found this test to periodically fail:

  • File: test/client/query-subscribe.js
  • Test: subscribed query gets simultaneous insert and remove after reconnecting

This has happened multiple times when contributing to https://github.com/share/sharedb-mongo, to the point where the PR build have to be re-ran 3, 4 times.

  1) db
       client query subscribe
         subscribed query gets simultaneous insert and remove after reconnecting:
     Error: Already closed (and Mocha's done() called multiple times)
      at wrapErrorData (node_modules/sharedb/lib/client/connection.js:263:13)
      at Connection.handleMessage (node_modules/sharedb/lib/client/connection.js:191:11)
      at StreamSocket.socket.onmessage (node_modules/sharedb/lib/client/connection.js:142:18)
      at /home/runner/work/sharedb-mongo/sharedb-mongo/node_modules/sharedb/lib/stream-socket.js:60:12
      at processTicksAndRejections (node:internal/process/task_queues:78:11)

I haven't gotten it to fail locally. :D :D

closed time in a month

dwinrick-lever

pull request commentDataDog/dd-trace-js

Support for ShareDB (datadog-plugin-sharedb)

@rochdev The reason the actions in the list are different than the middleware actions is that the actions I am listing are the enum values that the client sends the server for communication. However, these do not directly map to middleware actions.

The client may say "I want to bulk subscribe to these queries" and the backend may fire middleware actions like "beforeSnapshotLookup" (before query) etc. So basically, some of the middleware events are "lower level". You can do things like modify the queries sharedb makes in the middleware for access control, for example.

Maybe the middleware should just support an extension of all the client->server actions, but that decision predates me :)

dwinrick-lever

comment created time in 2 months

Pull request review commentDataDog/dd-trace-js

Support for ShareDB (datadog-plugin-sharedb)

+'use strict'++/**+ * @description The enum values in this map are not exposed from ShareDB, so the keys are hard-coded here.+ * The values were derived from: https://github.com/share/sharedb/blob/master/lib/client/connection.js#L196+ */+const READABLE_ACTION_NAMES = {+  hs: 'handshake',+  qf: 'query-fetch',+  qs: 'query-subscribe',+  qu: 'query-unsubscribe',+  bf: 'bulk-fetch',+  bs: 'bulk-subscribe',+  bu: 'bulk-unsubscribe',+  f: 'fetch',+  s: 'subscribe',+  u: 'unsubscribe',+  op: 'op',+  nf: 'snapshot-fetch',+  nt: 'snapshot-fetch-by-ts',+  p: 'presence-broadcast',+  pr: 'presence-request',+  ps: 'presence-subscribe',+  pu: 'presence-unsubscribe'+}++function getReadableActionName (action) {+  const actionName = READABLE_ACTION_NAMES[action]+  if (actionName === undefined) {+    return action+  }+  return actionName+}++function getReadableResourceName (readableActionName, collection, query) {+  if (collection) {+    readableActionName += ' ' + collection+  }+  if (query) {+    readableActionName += ' ' + JSON.stringify(sanitize(query))+  }+  return readableActionName+}++function sanitize (input) {+  const output = {}++  if (!isObject(input) || Buffer.isBuffer(input)) return '?'++  for (const key in input) {+    if (typeof input[key] === 'function') continue++    output[key] = sanitize(input[key])+  }++  return output+}++function isObject (val) {+  return typeof val === 'object' && val !== null && !(val instanceof Array)+}++function wrapCallback (config, tracer, request, span, done) {+  return tracer.scope().bind((err, res) => {+    if (err) {+      span.setTag('error', err)+    }++    if (config.hooks && config.hooks.reply) {+      config.hooks.reply(span, request, res)+    }++    span.finish()++    if (done) {+      done(err, res)+    }+  })+}++function createAgentWrapHandle (tracer, config) {+  return function wrapHandleMessage (origHandleMessageFn) { // called once+    return function handleMessageWithTrace (request, callback) { // called for each trigger+      const action = request.a++      const actionName = getReadableActionName(action)++      const scope = tracer.scope()+      const childOf = scope.active()+      const span = tracer.startSpan('sharedb.request', {+        childOf,+        tags: {+          'service.name': config.service || tracer._service,+          'span.kind': 'server',+          'resource.method': actionName,

I will test this change. I think it might have implications for reporting in datadog...

dwinrick-lever

comment created time in 2 months

PullRequestReviewEvent

pull request commentDataDog/dd-trace-js

Support for ShareDB (datadog-plugin-sharedb)

@rochdev Friendly reminder this is ready for re-review! :)

dwinrick-lever

comment created time in 2 months

pull request commentshare/sharedb

✅ Try to fix flaky query subscribe test

🥳

alecgibson

comment created time in 2 months

PullRequestReviewEvent
PullRequestReviewEvent

delete branch dwinrick-lever/sharedb-mongo

delete branch : task/query-context

delete time in 2 months

push eventdwinrick-lever/sharedb-mongo

push time in 2 months

issue openedshare/sharedb

Flaky Client Projections Test

I have seen this test fail, and then pass when ran again with CI (working on sharedb-mongo).

'client projections' -> 'subscribe query' -> 'query subscribe on projection will update based on fields not in projection'

Screen Shot 2021-07-29 at 11 24 47 AM

created time in 2 months

issue openedshare/sharedb

Flaky Query Subscribe Test

I've found this test to periodically fail:

  • File: test/client/query-subscribe.js
  • Test: subscribed query gets simultaneous insert and remove after reconnecting

This has happened multiple times when contributing to https://github.com/share/sharedb-mongo, to the point where the PR build have to be re-ran 3, 4 times.

  1) db
       client query subscribe
         subscribed query gets simultaneous insert and remove after reconnecting:
     Error: Already closed (and Mocha's done() called multiple times)
      at wrapErrorData (node_modules/sharedb/lib/client/connection.js:263:13)
      at Connection.handleMessage (node_modules/sharedb/lib/client/connection.js:191:11)
      at StreamSocket.socket.onmessage (node_modules/sharedb/lib/client/connection.js:142:18)
      at /home/runner/work/sharedb-mongo/sharedb-mongo/node_modules/sharedb/lib/stream-socket.js:60:12
      at processTicksAndRejections (node:internal/process/task_queues:78:11)

I haven't gotten it to fail locally. :D :D

created time in 2 months

push eventdwinrick-lever/sharedb-mongo

Devon Winrick

commit sha e7ee37d586d1b419795ed95c91958111a58d70f2

rerunning flaky test

view details

push time in 2 months

push eventdwinrick-lever/sharedb-mongo

Devon Winrick

commit sha d0acce8910f05164e8f7adbc4900a6e6287704a6

rerunning flaky test

view details

push time in 2 months

push eventdwinrick-lever/sharedb-mongo

Devon Winrick

commit sha 2feee1d08ffe3ba65e546ac1e8c31b6120255357

Move triggeredBy to request.

view details

push time in 2 months

Pull request review commentshare/sharedb-mongo

Pass isForSubmit = true to BeforeSnapshotLookup Middleware When Lookup is For Op Submit

 ShareDbMongo.prototype.commit = function(collectionName, id, op, snapshot, optio     self._writeSnapshot(request, id, snapshot, opId, function(err, succeeded) {       if (succeeded) return callback(err, succeeded);       // Cleanup unsuccessful op if snapshot write failed. This is not-      // neccessary for data correctness, but it gets rid of clutter+      // necessary for data correctness, but it gets rid of clutter       self._deleteOp(request.collectionName, opId, function(removeErr) {         callback(err || removeErr, succeeded);       });     });   }); }; -function createRequestForMiddleware(options, collectionName, op) {+function createRequestForMiddleware(options, collectionName, op, fields) {+  // When we're creating a request for submitting an op, let downstream middleware know.+  if (fields && fields.$submit === true) {+    if (!options) {+      options = {};+    }+    /**+     * TODO What if sharedb populated this?+     *  It looks like we would have the following values for 'trigger': submitRequest, queryEmit, fetch+     */+    options.triggeredBy = 'submitRequest';

agreed!

dwinrick-lever

comment created time in 2 months

PullRequestReviewEvent

push eventdwinrick-lever/dd-trace-js

Bryan English

commit sha e3766edae089944859941285d110425185ff32ec

add lint rule 'import/no-extraneous-dependencies' (#1449)

view details

Bryan English

commit sha 1d52054cfe6097854574b6c62b0f5ba6079523bc

fix error with masked internal modules (#1451)

view details

Roch Devost

commit sha 63dca718ba6a52de8588830ceade7e29e558bb09

remove internal services and replace analytics with measured (#1445)

view details

Bryan English

commit sha 09490879b38061108e6c27de5ef2de23c544ec47

Drop Node 8 and Node 10 support. (#1447) * drop node 8 and 10 in circleci config * set engines field to >=12 * remove checks, tests, etc., for node 8 and 10 * increase minimum supported couchbase version * increase minimum supported grpc version * support modules with exports field * temporary http2 test fix * upgrade mocha

view details

Roch Devost

commit sha 3ba9529863700871865510a8dc707efa1d5400cf

fix incorrect 3rd-party licenses and improve license validation (#1457)

view details

Juan Antonio Fernández de Alba

commit sha b28fc3b4f4ac1c0e4fca3f6017d0ac1dc741c094

[ci-app] Handle Uncaught Async Errors in Mocha (#1453)

view details

Simon D

commit sha 6301b18c15d1b4879bae96de418fd8ff50756529

bump .nvmrc to node 12 (#1458)

view details

Simon D

commit sha d45d696b2ba0dcf43bb53c0eac02736afbe1e5f6

Bump build targets to node >=12 (#1459) * Bump default build target to node >=12 * remove build targets for node <12

view details

Simon D

commit sha 007590e3cdb0c91d4a3c3f9dee544ba55e925b44

Appsec entrypoint (#1452) * add AppSec config entry * rename appsec options to beta * add appsec entrypoint * add unit test * move appsec inside dd-trace folder * add appsec config object in tests * add new alias for appsec config Co-authored-by: simon-id <simon.id@datadog.com>

view details

Roch Devost

commit sha f54fb3b4949079b4ad70484a4212d81e8c9a2418

add upstream tests for axios (#1469)

view details

Bryan English

commit sha f9bbb699bcb5a22d23629a725f06f53aa29f6f91

no checking out master when releasing (#1472)

view details

Bryan English

commit sha 5dadb94f07ab88ee32d36397889848e3efadb12c

use sha256 for prebuilds checksum (#1475)

view details

Bryan English

commit sha f8e2187757a669d17d6a9da2bd0dd28ed2d25f3a

enable prebuilds on release branches

view details

Roch Devost

commit sha 42293dcf37d4542237ef9a1e1b5c76b3e744f544

fix http client request timeout not tagged as error (#1482)

view details

Bryan English

commit sha 669258a69eb9308c0277db60bcc780a73b6e6c83

new benchmark goals (#1464)

view details

Bryan English

commit sha 0e1b13ece32c9f83fb1f7e7e3d3f4ad2aa1a23ef

subtract baselines in diffserver view (#1463)

view details

Roch Devost

commit sha 0e89f43a00583c1419b41dd88f6ba022fa6a680a

fix suffix incorrectly added to configured service name (#1485)

view details

Bryan English

commit sha 528baa5571fb2f97415290913bffe5ccb15be074

preinstall script to check version ranges (#1444) * preinstall script to check version ranges * simplify to just checking the version range

view details

Bryan English

commit sha f88275ce01a44e41eb5ee498d0c159adf777f5d1

respect --ignore-engines in scripts/preinstall.js (#1486)

view details

Bryan English

commit sha cdf280ae5a85f759d2c5f4ce8911a261873fdf34

respect --ignore-engines properly (#1487)

view details

push time in 2 months

push eventdwinrick-lever/dd-trace-js

Devon Winrick

commit sha 8ee40a8b5f2b187ace4837a5605d2427e245639a

Call reply hook before span.finish()

view details

push time in 2 months

push eventdwinrick-lever/dd-trace-js

Devon Winrick

commit sha f7fd77ff594fe8adf0571ddb9518c1ed3a9967cb

use span.setTag('error'

view details

push time in 2 months

push eventdwinrick-lever/dd-trace-js

Devon Winrick

commit sha 8f561a9acfd55acdb187273b3dcfbfe11820e172

Adding typescript test for sharedbOptions

view details

push time in 2 months

push eventdwinrick-lever/sharedb-mongo

Devon Winrick

commit sha 4d7d9a8c7fcaf4c430e7931fc24c406a3b7724ea

Adding sinon-chai and switching new tests to it.

view details

Devon Winrick

commit sha aa4ca028ed53930cae7d46c7fa889e13ce7f656d

Migrating other tests to sinon-chai

view details

push time in 2 months