Comparing version 0.1.6 to 0.1.7
@@ -121,2 +121,70 @@ /** | ||
TraceContextManager.prototype.startTrace = function (title) { | ||
var ctx = this.start(); | ||
if(ctx == null) { | ||
return null; | ||
} | ||
ctx.service_hash = HashUtil.hashFromString(title); | ||
var DataTextAgent = require('../data/datatext-agent'), | ||
ResourceProfile = require('../util/resourceprofile'); | ||
DataTextAgent.SERVICE.add(ctx.service_hash, title); | ||
ctx.start_cpu = ResourceProfile.getCPUTime(); | ||
ctx.start_malloc = ResourceProfile.getUsedHeapSize(); | ||
return ctx; | ||
}; | ||
TraceContextManager.prototype.endTrace = function (ctx) { | ||
if(ctx == null) {return;} | ||
var ProfilePack = require('../pack/profile-pack'), | ||
WasService = require('../service/was-service'), | ||
DateUtil = require('../util/dateutil'), | ||
MeterService = require('../counter/meter/meter-service').MeterService, | ||
DataProfileAgent = require('../data/dataprofile-agent'), | ||
ResourceProfile = require('../util/resourceprofile'), | ||
SecurityMaster = require('../net/security-master'); | ||
var profile = new ProfilePack(); | ||
var service = new WasService(); | ||
profile.time = Long.fromValue(ctx.start_time); | ||
service.endTime = DateUtil.currentTime(); | ||
service.elapsed = ctx.getElapsedTime(); | ||
service.service = ctx.service_hash; | ||
service.cpuTime = ResourceProfile.getCPUTime().sub(ctx.start_cpu).toNumber(); | ||
service.malloc = ResourceProfile.getUsedHeapSize().sub(ctx.start_malloc).toNumber(); | ||
if(service.malloc < 0) { service.malloc = 0; } | ||
service.seq = ctx.profile_seq; | ||
service.sqlCount = ctx.sql_count; | ||
service.sqlTime = ctx.sql_time; | ||
service.sqlFetchCount = ctx.rs_count; | ||
service.sqlFetchTime = parseInt(ctx.rs_time); | ||
service.ipaddr = ctx.remoteIp; | ||
service.userid = ctx.userid; | ||
if (!ctx.error.isZero() /*long*/) { | ||
service.error = ctx.error; | ||
} else if (ctx.userTransaction > 0) { //TraceSQL에서 값이 증감됨. | ||
StatError.error[ctx.service_hash] = new Error().stack.split('\n'); | ||
var msgObj = { 'class': 'Message!?', 'msg': 'Message!?' }; | ||
ctx.service = StatError.addError({}, msgObj, ctx.service_hash, ctx.profile, 0, 0); | ||
} | ||
service.userAgent = ctx.userAgent; | ||
service.referer = ctx.referer; | ||
service.httpcCount = ctx.httpc_count; | ||
service.httpcTime = ctx.httpc_time; | ||
service.status = ctx.status; | ||
MeterService.add(service.service, service.elapsed, service.malloc, !service.error.isZero(), 0, service.sqlCount > 0); | ||
profile.oid = SecurityMaster.OID; | ||
profile.service = service; | ||
var self = this; | ||
setTimeout(function () { | ||
DataProfileAgent.sendProfile(ctx, profile, false); | ||
self.end(ctx._id); | ||
ctx = null; | ||
}, 5000); | ||
}; | ||
module.exports = new TraceContextManager(); |
{ | ||
"name": "whatap", | ||
"homepage": "http://www.whatap.io", | ||
"version": "0.1.6", | ||
"version": "0.1.7", | ||
"releaseDate": "20170518", | ||
@@ -6,0 +6,0 @@ "description": "Monitoring and Profiling Service", |
960359
14119