whatap 0.5.16 → 0.5.17

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.
@@ -276,7 +276,9 @@ var ConfigDefault = {
276
276
  "prisma_read_func_name": str("prisma_read_func_name", "read"),
277
277
  "prisma_database_url_name": str("prisma_database_url_name", "DATABASE_URL"),
278
278
 
279
- "metering_tagcount_enabled": bool("metering_tagcount_enabled", false)
279
+ "metering_tagcount_enabled": bool("metering_tagcount_enabled", false),
280
+ "profile_redis_param_enabled": bool("profile_redis_param_enabled", false),
281
+
280
282
  };
281
283
 
282
284
  ConfigDefault._hook_method_ignore_prefix = ConfigDefault.hook_method_ignore_prefixes.split(',');
@@ -124,10 +124,12 @@ PgSqlObserver.prototype.inject = function (mod, moduleName) {
124
124
  dbc_step = null;
125
125
 
126
126
  var sql_step = new SqlStepX();
127
- sql_step.start_time = Date.now();
127
+ sql_step.start_time = ctx.getElapsedTime();
128
128
  ctx.profile.push(sql_step);
129
129
  ctx.footprint('PgSql Query Start');
130
130
 
131
+ ctx.vvv++;
132
+
131
133
  let sql = arguments[0];
132
134
  let psql = null;
133
135
  if (typeof sql === 'string' && sql.length > 0) {
@@ -176,7 +178,7 @@ PgSqlObserver.prototype.inject = function (mod, moduleName) {
176
178
  return result.then(res => {
177
179
  if(res.command && res.command === 'SELECT'){
178
180
  var result_step = new ResultSetStep();
179
- result_step.start_time = Date.now();
181
+ result_step.start_time = ctx.getElapsedTime();
180
182
  result_step.elapsed = 0;
181
183
  result_step.fetch = res.rowCount;
182
184
  result_step.sqlhash = psql.sql;
@@ -194,6 +196,16 @@ PgSqlObserver.prototype.inject = function (mod, moduleName) {
194
196
  return res;
195
197
  }).catch(err => {
196
198
  self._handleError(ctx, sql_step, err)
199
+ if (conf.trace_sql_error_stack && conf.trace_sql_error_depth) {
200
+ var traceDepth = conf.trace_sql_error_depth;
201
+
202
+ var errorStack = err.stack.split("\n");
203
+ if (errorStack.length > traceDepth) {
204
+ errorStack = errorStack.slice(0, traceDepth + 1);
205
+ }
206
+ ctx.error_message = errorStack.join("\n");
207
+ sql_step.error = ctx.error = StatError.addError('pgsql -' + err.code, err.message, ctx.service_hash, TextTypes.SQL, null);
208
+ }
197
209
  throw err;
198
210
  });
199
211
  } else {
@@ -219,7 +231,7 @@ PgSqlObserver.prototype.inject = function (mod, moduleName) {
219
231
  };
220
232
 
221
233
  PgSqlObserver.prototype._finishQuery = function (ctx, sql_step) {
222
- sql_step.elapsed = Date.now() - sql_step.start_time;
234
+ sql_step.elapsed = ctx.getElapsedTime() - sql_step.start_time;
223
235
  TraceSQL.isSlowSQL(ctx);
224
236
 
225
237
  MeterSql.add(sql_step.hash, sql_step.elapsed, false);
@@ -227,28 +239,7 @@ PgSqlObserver.prototype._finishQuery = function (ctx, sql_step) {
227
239
  };
228
240
 
229
241
  PgSqlObserver.prototype._handleError = function (ctx, sql_step, err) {
230
- sql_step.elapsed = Date.now() - sql_step.start_time;
231
-
232
- try {
233
- sql_step.error = StatError.addError("pgsql-" + (err.code || "unknown"), err.message, ctx.service_hash, TextTypes.SQL, sql_step.hash);
234
-
235
- if (ctx.error.isZero()) {
236
- ctx.error = sql_step.error;
237
- }
238
-
239
- if (conf.trace_sql_error_stack && conf.trace_sql_error_depth) {
240
- var traceDepth = conf.trace_sql_error_depth;
241
- var errorStack = err.stack.split("\n");
242
-
243
- if (errorStack.length > traceDepth) {
244
- errorStack = errorStack.slice(0, traceDepth + 1);
245
- }
246
- ctx.error_message = errorStack.join("\n");
247
- }
248
- } catch (e) {
249
- Logger.printError("WHATAP-309", "Error handling failed", e, false);
250
- }
251
-
242
+ sql_step.elapsed = ctx.getElapsedTime() - sql_step.start_time;
252
243
  TraceSQL.isSlowSQL(ctx);
253
244
 
254
245
  MeterSql.add(sql_step.hash, sql_step.elapsed, false);
@@ -330,7 +330,7 @@ PrismaObserver.prototype.hookUseMiddleware = function(prismaInstance) {
330
330
  };
331
331
 
332
332
  PrismaObserver.prototype._finishQuery = function(ctx, sql_step) {
333
- sql_step.elapsed = Date.now() - sql_step.start_time;
333
+ sql_step.elapsed = ctx.getElapsedTime() - sql_step.start_time;
334
334
  ctx.sql_time = (ctx.sql_time || 0) + sql_step.elapsed;
335
335
 
336
336
  TraceSQL.isSlowSQL(ctx);
@@ -342,7 +342,7 @@ PrismaObserver.prototype._finishQuery = function(ctx, sql_step) {
342
342
  };
343
343
 
344
344
  PrismaObserver.prototype._handleError = function(ctx, sql_step, err) {
345
- sql_step.elapsed = Date.now() - sql_step.start_time;
345
+ sql_step.elapsed = ctx.getElapsedTime()
346
346
  ctx.sql_time = (ctx.sql_time || 0) + sql_step.elapsed;
347
347
 
348
348
  TraceSQL.isSlowSQL(ctx);
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "whatap",
3
3
  "homepage": "http://www.whatap.io",
4
- "version": "0.5.16",
5
- "releaseDate": "20250414",
4
+ "version": "0.5.17",
5
+ "releaseDate": "20250416",
6
6
  "description": "Monitoring and Profiling Service",
7
7
  "main": "index.js",
8
8
  "scripts": {},