appdynamics 22.11.0 → 23.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
- "version": "22.11.0.0",
2
+ "version": "23.3.0.0",
3
3
  "sha": "",
4
4
  "nodeVersion": "",
5
- "buildName": "8997",
5
+ "buildName": "9118",
6
6
  "compatibilityVersion": "4.4.1.0"
7
7
  }
@@ -96,12 +96,13 @@ HttpEntryProbe.prototype.__createRequestHandler = function (callback, isHTTPs) {
96
96
 
97
97
  var threadId = transaction.threadId;
98
98
  self.agent.context.run(() => {
99
-
99
+
100
100
  var oldThreadId = self.agent.thread.current();
101
101
  self.agent.thread.resume(threadId);
102
102
 
103
103
  try {
104
- return invokeOriginal(callback, this, arguments, self.ot_api, span, otContext, req, res);
104
+ let threadProxyWrappedCb = self.agent.proxy.wrapWithThreadProxyIfEnabled(callback);
105
+ return invokeOriginal(threadProxyWrappedCb, this, arguments, self.ot_api, span, otContext, req, res);
105
106
  } catch (e) {
106
107
  HttpCommon.finalizeTransaction(e, profiler, time, transaction, req, res, span);
107
108
  transaction = null;
@@ -138,7 +138,11 @@ MysqlProbe.prototype.attach = function(obj, name) {
138
138
  proxy.after(obj, createCmd, function(obj, args, ret) {
139
139
  if (createCmd === 'createPool') {
140
140
  proxy.around(ret, 'getConnection', function(obj, args, locals) {
141
- locals.methodHasCb = proxy.callback(args, -1, function(obj, args) {
141
+ if (!args) return;
142
+ var cbIndex = args.length -1;
143
+ if (!(typeof args[cbIndex] === 'function')) return;
144
+ args[cbIndex] = self.agent.context.bind(args[cbIndex]);
145
+ var callback = self.agent.context.bind(function(obj, args) {
142
146
  if (args[0]) return;
143
147
  if (args[1]) {
144
148
  mysqlConnection = args[1];
@@ -146,6 +150,7 @@ MysqlProbe.prototype.attach = function(obj, name) {
146
150
  prepareExitCall(config, mysqlConnection, self.agent);
147
151
  }
148
152
  });
153
+ locals.methodHasCb = proxy.callback(args, -1, callback);
149
154
  }, function(obj, args, ret, locals) {
150
155
  if (locals.methodHasCb) return;
151
156
  if (!ret || !ret.__appdynamicsIsPromiseResult__) return;
@@ -25,12 +25,24 @@ SocketioProbe.prototype.attach = function(obj) {
25
25
  self.agent.on('destroy', function() {
26
26
  if(obj.__appdynamicsProbeAttached__) {
27
27
  delete obj.__appdynamicsProbeAttached__;
28
- proxy.release(obj.prototype.listen);
29
- proxy.release(obj.prototype.attach);
28
+ var socketIoObj = obj.prototype || obj.Server.prototype;
29
+ if(socketIoObj) {
30
+ proxy.release(socketIoObj.listen);
31
+ proxy.release(socketIoObj.attach);
32
+ }
33
+
30
34
  if (socketIOServer) {
31
- Object.keys(socketIOServer.nsps).forEach(function(nameSpace) {
32
- delete socketIOServer.nsps[nameSpace].__appdynamicsProbeAttached__;
33
- });
35
+ var nsps = socketIOServer.nsps || socketIOServer._nsps;
36
+ if(nsps instanceof Map) {
37
+ nsps.forEach(function(value, key) {
38
+ var namespace = nsps.get(key);
39
+ delete namespace.__appdynamicsProbeAttached__;
40
+ });
41
+ } else {
42
+ Object.keys(nsps).forEach(function(nameSpace) {
43
+ delete nsps[nameSpace].__appdynamicsProbeAttached__;
44
+ });
45
+ }
34
46
  }
35
47
  }
36
48
  });
@@ -58,7 +70,8 @@ SocketioProbe.prototype.attach = function(obj) {
58
70
  var sentSizeMetric = metricsManager.createMetric(metricsManager.SOCKETIO_SENT_MESSAGES_SIZE);
59
71
  var receivedSizeMetric = metricsManager.createMetric(metricsManager.SOCKETIO_RECEIVED_MESSAGES_SIZE);
60
72
 
61
- proxy.after(obj.prototype, ['listen','attach'], function(obj, args, ret) {
73
+ var socketIoObj = obj.prototype || obj.Server.prototype;
74
+ proxy.after(socketIoObj, ['listen','attach'], function(obj, args, ret) {
62
75
  if(!ret.sockets) return;
63
76
  socketIOServer = ret;
64
77
 
@@ -72,11 +85,21 @@ SocketioProbe.prototype.attach = function(obj) {
72
85
  ret.__appdynamicsProbeAttached__ = true;
73
86
  });
74
87
 
75
- Object.keys(ret.nsps).forEach(function(nameSpace) {
76
- if (ret.nsps[nameSpace].__appdynamicsProbeAttached__) return;
77
- attachProbeToNameSpace(ret.nsps[nameSpace]);
78
- ret.nsps[nameSpace].__appdynamicsProbeAttached__ = true;
79
- });
88
+ var nsps = ret.nsps || ret._nsps;
89
+ if(nsps instanceof Map) {
90
+ ret._nsps.forEach(function(value, key) {
91
+ var namespace = ret._nsps.get(key);
92
+ if (namespace.__appdynamicsProbeAttached__) return;
93
+ attachProbeToNameSpace(namespace);
94
+ namespace.__appdynamicsProbeAttached__ = true;
95
+ });
96
+ } else {
97
+ Object.keys(ret.nsps).forEach(function(nameSpace) {
98
+ if (ret.nsps[nameSpace].__appdynamicsProbeAttached__) return;
99
+ attachProbeToNameSpace(ret.nsps[nameSpace]);
100
+ ret.nsps[nameSpace].__appdynamicsProbeAttached__ = true;
101
+ });
102
+ }
80
103
 
81
104
  function attachProbeToNameSpace(nameSpaceObj) {
82
105
  proxy.before(nameSpaceObj, ['on', 'addListener'], function(obj, args) {
@@ -1,4 +1,5 @@
1
1
  var path = require('path');
2
+ const fs = require('fs');
2
3
 
3
4
  const MAX_ITEMS_PER_GROUP = 1024;
4
5
 
@@ -22,7 +23,15 @@ LibraryMetadata.prototype.getMetadata = function() {
22
23
  LibraryMetadata.prototype._getJson = function()
23
24
  {
24
25
  var rootPath = require('path').resolve('./');
25
- return require(path.join(rootPath, './package-lock.json'));
26
+ if(fs.existsSync(path.join(rootPath, './package-lock.json'))) {
27
+ return require(path.join(rootPath, './package-lock.json'));
28
+ } else if(fs.existsSync(path.join(rootPath, './yarn.lock'))) {
29
+ const lockfile = require('@yarnpkg/lockfile');
30
+ let file = fs.readFileSync('./yarn.lock', 'utf8');
31
+ let json = lockfile.parse(file);
32
+ let dependencies = { dependencies: json.object };
33
+ return dependencies;
34
+ }
26
35
  };
27
36
 
28
37
  LibraryMetadata.prototype._getMetadata = function() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appdynamics",
3
- "version": "22.11.0",
3
+ "version": "23.3.0",
4
4
  "description": "Performance Profiler and Monitor",
5
5
  "author": "AppDynamics, Inc.",
6
6
  "homepage": "https://www.appdynamics.com",
@@ -41,17 +41,17 @@
41
41
  "@opentelemetry/resources": "~1.0.1",
42
42
  "@opentelemetry/sdk-trace-base": "~1.0.1",
43
43
  "@opentelemetry/semantic-conventions": "~1.0.1",
44
+ "@yarnpkg/lockfile": "^1.1.0",
44
45
  "cls-hooked": "4.2.2",
45
46
  "https-proxy-agent": "^5.0.0",
46
47
  "uuid": "^8.3.2",
47
48
  "y18n": "^5.0.8",
48
- "appdynamics-libagent-napi": "https://cdn.appdynamics.com/packages/nodejs/22.11.0.0/appdynamics-libagent-napi-node.tgz",
49
- "appdynamics-native": "https://cdn.appdynamics.com/packages/nodejs/22.11.0.0/appdynamics-native-node.tgz",
50
- "appdynamics-protobuf": "https://cdn.appdynamics.com/packages/nodejs/22.11.0.0/appdynamics-protobuf-node.tgz"
49
+ "appdynamics-libagent-napi": "https://cdn.appdynamics.com/packages/nodejs/23.3.0.0/appdynamics-libagent-napi-node.tgz",
50
+ "appdynamics-native": "https://cdn.appdynamics.com/packages/nodejs/23.3.0.0/appdynamics-native-node.tgz",
51
+ "appdynamics-protobuf": "https://cdn.appdynamics.com/packages/nodejs/23.3.0.0/appdynamics-protobuf-node.tgz"
51
52
  },
52
53
  "engines": {
53
54
  "node": ">=12 <=v18.*"
54
55
  },
55
- "engine-strict": true,
56
- "bundleDependencies": []
56
+ "engine-strict": true
57
57
  }
package/packageBck.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appdynamics",
3
- "version": "22.11.0",
3
+ "version": "23.3.0",
4
4
  "description": "Performance Profiler and Monitor",
5
5
  "author": "AppDynamics, Inc.",
6
6
  "homepage": "https://www.appdynamics.com",
@@ -41,17 +41,17 @@
41
41
  "@opentelemetry/resources": "~1.0.1",
42
42
  "@opentelemetry/sdk-trace-base": "~1.0.1",
43
43
  "@opentelemetry/semantic-conventions": "~1.0.1",
44
+ "@yarnpkg/lockfile": "^1.1.0",
44
45
  "cls-hooked": "4.2.2",
45
46
  "https-proxy-agent": "^5.0.0",
46
47
  "uuid": "^8.3.2",
47
48
  "y18n": "^5.0.8",
48
- "appdynamics-libagent-napi": "https://cdn.appdynamics.com/packages/nodejs/22.11.0.0/appdynamics-libagent-napi-node.tgz",
49
- "appdynamics-native": "https://cdn.appdynamics.com/packages/nodejs/22.11.0.0/appdynamics-native-node.tgz",
50
- "appdynamics-protobuf": "https://cdn.appdynamics.com/packages/nodejs/22.11.0.0/appdynamics-protobuf-node.tgz"
49
+ "appdynamics-libagent-napi": "https://cdn.appdynamics.com/packages/nodejs/23.3.0.0/appdynamics-libagent-napi-node.tgz",
50
+ "appdynamics-native": "https://cdn.appdynamics.com/packages/nodejs/23.3.0.0/appdynamics-native-node.tgz",
51
+ "appdynamics-protobuf": "https://cdn.appdynamics.com/packages/nodejs/23.3.0.0/appdynamics-protobuf-node.tgz"
51
52
  },
52
53
  "engines": {
53
54
  "node": ">=12 <=v18.*"
54
55
  },
55
- "engine-strict": true,
56
- "bundleDependencies": []
56
+ "engine-strict": true
57
57
  }