The agent is currently registered under {{application2}} due to the following: ",
+ "1. The agent has moved from {{application1}} to {{application2}} ",
+ "2. A different agent with the same agent id has been registered to {{application2}}",
+ "For the former case, you should delete the mapping between {{application1}} and {{agentId}}. ",
+ "For the latter case, the agent id of the duplicate agent must be changed.
해당 agent는 {{application1}}이 아닌 {{application2}}에 포함되어 있습니다. ",
+ "원인은 다음 중 하나입니다.",
+ "1. 해당 agent가 {{application1}}에서 {{application2}}으로 이동한 경우 ",
+ "2.{{agentId}}의 agent가 {{application2}}에도 등록 된 경우",
+ "1의 경우 {{application1}}과 {{agentId}}간의 매핑 저보를 삭제해야 합니다 ",
+ "2의 경우 중복 등록 된 agent의 id를 변경해야 합니다.
diff --git a/web/src/main/webapp/lib/js/pinpoint.min.js b/web/src/main/webapp/lib/js/pinpoint.min.js
index e852b7f9cb70..d902d00aa822 100644
--- a/web/src/main/webapp/lib/js/pinpoint.min.js
+++ b/web/src/main/webapp/lib/js/pinpoint.min.js
@@ -1,10 +1,10 @@
/*! pinpoint - v1.5.2 - 2016-03-23*/
!function(){"use strict";angular.module("pinpointApp").filter("iconUrl",function(){return function(a){var b="/images/icons/";if(angular.isString(a)){switch(a){case"UNKNOWN_GROUP":b+="UNKNOWN.png";break;default:b+=a+".png"}return b}return""}})}(),function(){"use strict";angular.module("pinpointApp").filter("applicationNameToClassName",function(){return function(a){return a.replace(/[\.\^:]/gi,"_")}})}(),function(){"use strict";pinpointApp.factory("TimeSliderVoService",function(){return function(){this._nFrom=!1,this._nTo=!1,this._nInnerFrom=!1,this._nInnerTo=!1,this._nCount=!1,this._nTotal=!1,this.setFrom=function(a){if(a=parseInt(a,10),!angular.isNumber(a))throw new Error("timeSliderVoService:setFrom, It should be number. "+a);if(angular.isNumber(this._nTo)&&a>=this._nTo)throw"timeSliderVoService:setFrom, It should be smaller than To value.";return this._nFrom=a,this}.bind(this),this.getFrom=function(){return this._nFrom}.bind(this),this.setTo=function(a){if(a=parseInt(a,10),!angular.isNumber(a))throw new Error("timeSliderVoService:setTo It should be number. "+a);if(angular.isNumber(a)&&this._nFrom>=a)throw"timeSliderVoService:setTo, It should be bigger than From value.";return this._nTo=a,this}.bind(this),this.getTo=function(){return this._nTo}.bind(this),this.setInnerFrom=function(a){if(a=parseInt(a,10),!angular.isNumber(a))throw new Error("timeSliderVo:setInnerFrom It should be number. "+a);if(angular.isNumber(this._nInnerTo)&&a>=this._nInnerTo)throw"timeSliderVo:setInnerFrom, It should be smaller than InnerTo value.";return this._nInnerFrom=a,this}.bind(this),this.getInnerFrom=function(){return this._nInnerFrom}.bind(this),this.setInnerTo=function(a){if(a=parseInt(a,10),!angular.isNumber(a))throw new Error("timeSliderVoService:setInnerTo It should be number. "+a);if(angular.isNumber(this._nInnerFrom)&&this._nInnerFrom>=a)throw"timeSliderVoService:setInnerTo, It should be bigger than InnerFrom value.";return this._nInnerTo=a,this}.bind(this),this.getInnerTo=function(){return this._nInnerTo}.bind(this),this.setCount=function(a){if(a=parseInt(a,10),!angular.isNumber(a))throw new Error("timeSliderVoService:setCount It should be number. "+a);if(angular.isNumber(this._nTotal)&&a>this._nTotal)throw"timeSliderVoService:setCount, It should be smaller than Total value.";return this._nCount=a,this}.bind(this),this.addCount=function(a){if(a=parseInt(a,10),!angular.isNumber(a))throw new Error("timeSliderVoService:setCount It should be number. "+a);if(angular.isNumber(this._nTotal)&&a+this._nCount>this._nTotal)throw"timeSliderVoService:setCount, It should be smaller than Total value.";return this._nCount+=a,this}.bind(this),this.getCount=function(){return this._nCount}.bind(this),this.setTotal=function(a){if(a=parseInt(a,10),!angular.isNumber(a))throw new Error("timeSliderVoService:setTotal It should be number. "+a);if(angular.isNumber(this._nCount)&&this._nCount>a)throw"timeSliderVoService:setTotal, It should be bigger than Count value.";return this._nTotal=a,this}.bind(this),this.getTotal=function(){return this._nTotal}.bind(this),this.getReady=function(){return this._nFrom&&this._nTo&&this._nInnerFrom&&this._nInnerTo}.bind(this)}})}(),function(){"use strict";pinpointApp.factory("AlertsService",["$timeout",function(a){return function(b){this.$parent=b||null,this.setParent=function(a){return this.$parent=a,this}.bind(this),this.getParent=function(){return this.$parent}.bind(this),this.showError=function(b){a(function(){this.getElement(".error").show(),"string"==typeof b?this.getElement(".error .msg").text(b):(this.getElement(".error .msg").text(b.message),this.getElement(".error .method").text(b.request.method),this.getElement(".error .header").html(this._transTableFormat(b.request.heads)),this.getElement(".error .parameters").html(this._transTableFormat(b.request.parameters)),this.getElement(".error .url").text(b.request.url),this.getElement(".error .stacktrace").text(b.stacktrace))}.bind(this),300)}.bind(this),this.hideError=function(){a(function(){this.getElement(".error").hide()}.bind(this))}.bind(this),this.showWarning=function(b){a(function(){this.getElement(".warning").show(),this.getElement(".warning .msg").text(b)}.bind(this),300)}.bind(this),this.hideWarning=function(){a(function(){this.getElement(".warning").hide()}.bind(this))}.bind(this),this.showInfo=function(b){a(function(){this.getElement(".info").show(),this.getElement(".info .msg").html(b)}.bind(this),300)}.bind(this),this.hideInfo=function(){a(function(){this.getElement(".info").hide()}.bind(this))}.bind(this),this.getElement=function(a){return this.$parent?$(a,this.$parent):$(a)}.bind(this),this._transTableFormat=function(a){var b=["
"];for(var c in a)b.push("
"),b.push("
"+c+"
"+a[c]+"
"),b.push("
");return b.push("
"),b.join("")}}}])}(),function(){"use strict";pinpointApp.factory("ProgressBarService",["$timeout","$window","$location","UserLocalesService",function(a,b,c,d){var e=["ko","en"],f=5,g="__HIDE_LOADING_TIP";return function(h){this.$parent=h||null,this.nPercentage=0,this.bAutoIncrease=!0,this.nTimePromise=null,this.setParent=function(a){return this.$parent=a,this}.bind(this),this.getParent=function(){return this.$parent}.bind(this),this.startLoading=function(d){var e=!0;if(b.localStorage){var f=b.localStorage.getItem(g)||"-";e="-"===f?!0:!((new Date).valueOf()a?"0"+a:a+""}.bind(this),this._getLocale=function(){return-1==e.indexOf(d.userLocale)?d.defaultLocale:d.userLocale}.bind(this),this.hideBackground=function(){this.$parent&&$(".progress-back",this.$parent).hide()}.bind(this),this.hideTip=function(){this.$parent&&$(".progress-tip",this.$parent).hide()}.bind(this)}}])}(),function(){"use strict";pinpointApp.factory("NavbarVoService",["PreferenceService",function(a){return function(){var b=this;this._sApplication=!1,this._periodType="",this._nPeriod=!1,this._nQueryEndTime=!1,this._sFilter=!1,this._sAgentId=!1,this._nQueryPeriod=!1,this._nQueryStartTime=!1,this._sReadablePeriod=!1,this._sQueryEndDateTime=!1,this._nCalleeRange=a.getCallee(),this._nCallerRange=a.getCaller(),this._sHint=!1,this._sDateTimeFormat="YYYY-MM-DD-HH-mm-ss",this.setApplication=function(a){return angular.isString(a)&&a.indexOf("@")>0&&(b._sApplication=a),b},this.getApplication=function(){return b._sApplication},this.setPeriod=function(a){return angular.isNumber(a)&&a>0&&(b._nPeriod=a),b},this.getPeriod=function(){return b._nPeriod},this.setQueryEndTime=function(a){return angular.isNumber(a)&&a>0&&(b._nQueryEndTime=a),b},this.getQueryEndTime=function(){return b._nQueryEndTime},this.getQueryPeriod=function(){return b._nQueryPeriod},this.getApplicationName=function(){return b._sApplication.split("@")[0]},this.getServiceTypeName=function(){return b._sApplication.split("@")[1]},this.getCalleeRange=function(){return b._nCalleeRange},this.getCallerRange=function(){return b._nCallerRange},this.setCalleeRange=function(a){b._nCalleeRange=a},this.setCallerRange=function(a){b._nCallerRange=a},this.setQueryStartTime=function(a){return angular.isNumber(a)&&a>0&&(b._nQueryStartTime=a),b},this.getQueryStartTime=function(){return b._nQueryStartTime},this.getReady=function(){return b._sApplication&&b._nPeriod&&b._nQueryEndTime},this.setFilter=function(a){return angular.isString(a)&&(b._sFilter=a),b},this.getFilter=function(){return b._sFilter},this.getFilterAsJson=function(){return JSON.parse(b._sFilter)},this.setHint=function(a){return angular.isString(a)&&(b._sHint=a),b},this.getHint=function(){return b._sHint},this.setAgentId=function(a){return angular.isString(a)&&(b._sAgentId=a),b},this.getAgentId=function(){return b._sAgentId},this.setReadablePeriod=function(a){var c=/^(\d)+(s|m|h|d|w|M|y)$/,d=c.exec(a);if(d){b._sReadablePeriod=a;var e=parseInt(a,10);switch(d[2]){case"m":b.setPeriod(60*e);break;case"h":b.setPeriod(60*e*60);break;case"d":b.setPeriod(60*e*60*24);break;case"w":b.setPeriod(60*e*60*24*7);break;case"M":b.setPeriod(60*e*60*24*30);break;case"y":b.setPeriod(60*e*60*24*30*12);break;default:b.setPeriod(e)}}else"realtime"===a&&(b.setPeriodType("realtime"),b._sReadablePeriod="1m",b.setPeriod(300));return b},this.isRealtime=function(){return"realtime"===this._periodType},this.getReadablePeriod=function(){return b._sReadablePeriod},this.setQueryEndDateTime=function(a){var c=/^(19[7-9][0-9]|20\d{2})-(0[0-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])-(0[0-9]|1[0-9]|2[0-3])-([0-5][0-9])-([0-5][0-9])$/;return c.test(a)&&(b._sQueryEndDateTime=a,b.setQueryEndTime(b._parseQueryEndDateTimeToTimestamp(a))),b},this.getQueryEndDateTime=function(){return b._sQueryEndDateTime},this._parseQueryEndDateTimeToTimestamp=function(a){return moment(a,b._sDateTimeFormat).valueOf()},this.autoCalculateByQueryEndTimeAndPeriod=function(){return b._nQueryPeriod=1e3*b._nPeriod*60,b._nQueryStartTime=b._nQueryEndTime-b._nQueryPeriod,b},this.autoCalcultateByQueryStartTimeAndQueryEndTime=function(){return b._nQueryPeriod=b._nQueryEndTime-b._nQueryStartTime,b._nPeriod=b._nQueryPeriod/1e3/60,b._sReadablePeriod=b._nQueryPeriod/1e3/60+"m",b._sQueryEndDateTime=moment(b._nQueryEndTime).format(b._sDateTimeFormat),b},this.autoCalculateByQueryEndDateTimeAndReadablePeriod=function(){return b._nQueryPeriod=1e3*b._nPeriod,b._nQueryStartTime=b._nQueryEndTime-b._nQueryPeriod,b},this.getPartialURL=function(a,c){return(a?b.getApplication()+"/":"")+b.getReadablePeriod()+"/"+b.getQueryEndDateTime()+(c&&b.getFilter()?"/"+b.getFilter():"")},this.setPeriodType=function(a){this._periodType=a},this.getPeriodType=function(){return this._periodType}}}])}(),function(){"use strict";pinpointApp.constant("TransactionDaoServiceConfig",{transactionInfoUrl:"/transactionInfo.pinpoint"}),pinpointApp.service("TransactionDaoService",["TransactionDaoServiceConfig","$timeout","$window",function(a,b,c){b(function(){c.transactionData={}}),this.addData=function(a,b,d){c.transactionData[a]=b},this.getDataByName=function(a,b){angular.isFunction(b)&&b(opener.transactionData[a]||{})},this.getTransactionDetail=function(b,c,d){jQuery.ajax({type:"GET",url:a.transactionInfoUrl,cache:!1,dataType:"json",data:{traceId:b,focusTimestamp:c},success:function(a){angular.isFunction(d)&&d(null,a)},error:function(a,b,c){angular.isFunction(d)&&d("ERROR",{})}})}}])}(),function(){"use strict";pinpointApp.factory("locationService",["$location","$route","$rootScope",function(a,b,c){return a.skipReload=function(){var d=b.current,e=c.$on("$locationChangeSuccess",function(){b.current=d,e()});return a},a}])}(),function(){"use strict";pinpointApp.constant("serverMapDaoServiceConfig",{serverMapDataUrl:"/getServerMapData.pinpoint",filteredServerMapDataUrl:"/getFilteredServerMapDataMadeOfDotGroup.pinpoint",filtermapUrl:"/filtermap.pinpoint",lastTransactionListUrl:"/lastTransactionList.pinpoint",transactionListUrl:"/transactionList.pinpoint",FILTER_DELIMETER:"^",FILTER_ENTRY_DELIMETER:"|",FILTER_FETCH_LIMIT:5e3}),pinpointApp.service("ServerMapDaoService",["serverMapDaoServiceConfig","PreferenceService",function(a,b){var c=this;this.getServerMapData=function(b,c){var d={applicationName:b.applicationName,from:b.from,to:b.to,callerRange:b.callerRange,calleeRange:b.calleeRange};isNaN(parseInt(b.serviceTypeName))?d.serviceTypeName=b.serviceTypeName:d.serviceTypeCode=b.serviceTypeName,jQuery.ajax({type:"GET",url:a.serverMapDataUrl,cache:!1,dataType:"json",data:d,success:function(a){angular.isFunction(c)&&c(null,b,a)},error:function(a,d,e){angular.isFunction(c)&&c(e,b,{})}})},this.getFilteredServerMapData=function(b,c){var d={applicationName:b.applicationName,from:b.from,to:b.to,originTo:b.originTo,filter:b.filter,limit:a.FILTER_FETCH_LIMIT,callerRange:b.callerRange,calleeRange:b.calleeRange,v:3,xGroupUnit:987,yGroupUnit:57};isNaN(parseInt(b.serviceTypeName))?d.serviceTypeName=b.serviceTypeName:d.serviceTypeCode=b.serviceTypeName,b.hint&&(d.hint=b.hint),jQuery.ajax({type:"GET",url:a.filteredServerMapDataUrl,cache:!1,dataType:"json",data:d,success:function(a){angular.isFunction(c)&&c(null,b,a)},error:function(a,d,e){angular.isFunction(c)&&c(e,b,{})}})},this.mergeFilteredMapData=function(a,b){return 0===a.linkDataArray.length&&0===a.nodeDataArray.length?(a.linkDataArray=b.linkDataArray,a.nodeDataArray=b.nodeDataArray):(angular.forEach(b.nodeDataArray,function(b,c){var d=this.findExistingNodeKeyFromLastMapData(a,b);d>=0?a=this.mergeNodeData(a,d,b):a.nodeDataArray.push(b)},this),angular.forEach(b.linkDataArray,function(b,c){var d=this.findExistingLinkFromLastMapData(a,b);d>=0?a=this.mergeLinkData(a,d,b):a.linkDataArray.push(b)},this)),a},this.findExistingNodeKeyFromLastMapData=function(a,b){for(var c in a.nodeDataArray)if(a.nodeDataArray[c].applicationName===b.applicationName&&a.nodeDataArray[c].serviceTypeCode===b.serviceTypeCode)return c;return-1},this.findExistingLinkFromLastMapData=function(a,b){for(var c in a.linkDataArray)if(a.linkDataArray[c].from===b.from&&a.linkDataArray[c].to===b.to)return c;return-1},this.addFilterProperty=function(a,b){var c=this.parseFilterText(a,b);return angular.forEach(b.nodeDataArray,function(a){angular.isDefined(_.findWhere(c,{nodeKey:a.key}))?a.isFiltered=!0:a.isFiltered=!1}),angular.forEach(b.linkDataArray,function(a,b){angular.isDefined(_.findWhere(c,{fromKey:a.from,toKey:a.to}))?a.isFiltered=!0:a.isFiltered=!1},this),b},this.parseFilterText=function(a,b){var c=[];return angular.forEach(a,function(a){c.push({fromServiceType:a.fst,fromApplication:a.fa,fromKey:this.findNodeKeyByApplicationName(a.fa,b),toServiceType:a.tst,toApplication:a.ta,toKey:this.findNodeKeyByApplicationName(a.ta,b),nodeKey:""})},this),c},this.findNodeKeyByApplicationName=function(a,b){var c=_.findWhere(b.nodeDataArray,{applicationName:a});return angular.isDefined(c)?c.key:!1},this.mergeNodeData=function(a,b,c){if(angular.isUndefined(a.nodeDataArray[b]))return a.nodeDataArray[b]=c,a;var d,e,f=a.nodeDataArray[b];if(f.errorCount+=c.errorCount,f.slowCount+=c.slowCount,f.totalCount+=c.totalCount,c.hasAlert&&(f.hasAlert=c.hasAlert),angular.isDefined(c.histogram))if(angular.isDefined(f.histogram))for(d in c.histogram)angular.isDefined(f.histogram[d])?f.histogram[d]+=c.histogram[d]:f.histogram[d]=c.histogram[d];else f.histogram=c.histogram;if(angular.isDefined(c.agentHistogram))for(d in c.agentHistogram)if(angular.isDefined(f.agentHistogram[d]))for(e in c.agentHistogram[d])angular.isDefined(f.agentHistogram[d][e])?f.agentHistogram[d][e]+=c.agentHistogram[d][e]:f.agentHistogram[d][e]=c.agentHistogram[d][e];else f.agentHistogram[d]=c.agentHistogram[d];if(angular.isDefined(c.timeSeriesHistogram))for(d in c.timeSeriesHistogram)if(angular.isDefined(f.timeSeriesHistogram)){var g=[];a:for(e in c.timeSeriesHistogram[d].values){for(var h in f.timeSeriesHistogram[d].values)if(f.timeSeriesHistogram[d].values[h][0]===c.timeSeriesHistogram[d].values[e][0]){f.timeSeriesHistogram[d].values[h][1]+=c.timeSeriesHistogram[d].values[e][1];continue a}g.push(c.timeSeriesHistogram[d].values[e])}f.timeSeriesHistogram[d].values=g.concat(f.timeSeriesHistogram[d].values)}else f.timeSeriesHistogram=c.timeSeriesHistogram;if(angular.isDefined(c.agentTimeSeriesHistogram))for(d in c.agentTimeSeriesHistogram)if(angular.isDefined(f.agentTimeSeriesHistogram))if(angular.isDefined(f.agentTimeSeriesHistogram[d]))for(e in c.agentTimeSeriesHistogram[d])angular.isDefined(f.agentTimeSeriesHistogram[d][e])?f.agentTimeSeriesHistogram[d][e].values=c.agentTimeSeriesHistogram[d][e].values.concat(f.agentTimeSeriesHistogram[d][e].values):f.agentTimeSeriesHistogram[d][e]=c.agentTimeSeriesHistogram[d][e];else f.agentTimeSeriesHistogram[d]=c.agentTimeSeriesHistogram[d];else f.agentTimeSeriesHistogram=c.agentTimeSeriesHistogram;if(angular.isDefined(c.serverList))for(d in c.serverList)if(f.serverList[d])for(e in c.serverList[d].instanceList)if(f.serverList[d].instanceList[e])for(var i in c.serverList[d].instanceList[e].histogram)f.serverList[d].instanceList[e].histogram[i]?f.serverList[d].instanceList[e].histogram[i]+=c.serverList[d].instanceList[e].histogram[i]:f.serverList[d].instanceList[e].histogram[i]=c.serverList[d].instanceList[e].histogram[i];else f.serverList[d].instanceList[e]=c.serverList[d].instanceList[e];else f.serverList[d]=c.serverList[d];return a},this.mergeLinkData=function(a,b,c){if(angular.isUndefined(a.linkDataArray[b]))return a.linkDataArray[b]=c,a;var d,e,f=a.linkDataArray[b];if(f.errorCount+=c.errorCount,f.slowCount+=c.slowCount,f.totalCount+=c.totalCount,c.hasAlert&&(f.hasAlert=c.hasAlert),angular.isDefined(c.histogram))for(d in c.histogram)f.histogram[d]?f.histogram[d]+=c.histogram[d]:f.histogram[d]=c.histogram[d];if(angular.isDefined(c.timeSeriesHistogram))for(d in c.timeSeriesHistogram)if(angular.isDefined(f.timeSeriesHistogram)){var g=[];a:for(e in c.timeSeriesHistogram[d].values){for(var h in f.timeSeriesHistogram[d].values)if(f.timeSeriesHistogram[d].values[h][0]===c.timeSeriesHistogram[d].values[e][0]){f.timeSeriesHistogram[d].values[h][1]+=c.timeSeriesHistogram[d].values[e][1];continue a}g.push(c.timeSeriesHistogram[d].values[e])}f.timeSeriesHistogram[d].values=g.concat(f.timeSeriesHistogram[d].values)}else f.timeSeriesHistogram=c.timeSeriesHistogram;if(angular.isDefined(c.sourceHistogram))for(d in c.sourceHistogram)if(angular.isDefined(f.sourceHistogram[d]))for(e in c.sourceHistogram[d])f.sourceHistogram[d][e]?f.sourceHistogram[d][e]+=c.sourceHistogram[d][e]:f.sourceHistogram[d][e]=c.sourceHistogram[d][e];else f.sourceHistogram[d]=c.sourceHistogram[d];if(angular.isDefined(c.targetHistogram))for(d in c.targetHistogram)if(angular.isDefined(f.targetHistogram[d]))for(e in c.targetHistogram[d])f.targetHistogram[d][e]?f.targetHistogram[d][e]+=c.targetHistogram[d][e]:f.targetHistogram[d][e]=c.targetHistogram[d][e];else f.targetHistogram[d]=c.targetHistogram[d];return a},this.mergeTimeSeriesResponses=function(a,b){return angular.forEach(b.values,function(b,c){angular.isUndefined(a.timeSeriesResponses.values[c])?a.timeSeriesResponses.values[c]=b:a.timeSeriesResponses.values[c]=_.union(b,a.timeSeriesResponses.values[c])},this),a.timeSeriesResponses.time=_.union(b.time,a.timeSeriesResponses.time),a},this.mergeGroup=function(a,b){var c=this,d=a.nodeDataArray,e=a.linkDataArray,f=c._getInboundCountMap(d,e);return b.forEach(function(a){var b=a+"_GROUP",g=[],h=[],i={},j={};d.forEach(function(k,l){var m,n,o=b+"_"+k.key,p=0;e.forEach(function(b,c){b.from==k.key&&b.targetInfo.serviceType==a&&f[b.to]&&1==f[b.to].toCount&&p++}),2>p||(e.forEach(function(e,g){e.targetInfo.serviceType==a&&(f[e.to]&&f[e.to].toCount>1||e.from==k.key&&(m||(m=c._createNewNode(o,b)),n||(n=c._createNewLink(k.key,o)),c._addToSubNode(m,c._getNodeByApplicationName(d,e.targetInfo.applicationName,a),function(){}),c._mergeLinkData(n,e),n.unknownLinkGroup.push(e),i[e.to]=null,j[e.key]=null))}),m&&(m.unknownNodeGroup.sort(function(a,b){return b.totalCount-a.totalCount}),g.push(m)),n&&(n.unknownLinkGroup.sort(function(a,b){return b.totalCount-a.totalCount}),h.push(n)))}),c._addToOriginal(d,g),c._addToOriginal(e,h),c._removeByKey(d,i),c._removeByKey(e,j)}),a},this._addToOriginal=function(a,b){b.forEach(function(b){a.push(b)})},this._getInboundCountMap=function(a,b){var c={};return a.forEach(function(a){var d={toCount:0,fromCount:0,totalCallCount:0};b.forEach(function(b){b.to===a.key&&(d.toCount++,d.totalCallCount+=b.totalCount),b.from===a.key&&d.fromCount++}),c[a.key]=d}),c},this._selectMergeTarget=function(a,b){var c=[];return a.forEach(function(a,d){b[a.key].fromCount>0||b[a.key].toCount<2||c.push(a)}),c},this._getFromNodes=function(a,b){var c=[];return a.forEach(function(a){a.to===b&&c.push(a.from)}),c},this.mergeMultiLinkGroup=function(a,b){var c=this,d=a.nodeDataArray,e=a.linkDataArray,f=this._getInboundCountMap(d,e),g=this._selectMergeTarget(d,f),h={},i=[],j=[],k={},l={};return g.forEach(function(a,d){if(h[a.key]!==!0||-1!=b.indexOf(a.serviceType)){h[a.key]=!0;var f=a.serviceType+"_GROUP",m=null,n=null,o=f+"_"+a.key,p=c._getFromNodes(e,a.key);g.forEach(function(d,g){if(h[d.key]!==!0&&a.serviceType===d.serviceType&&-1!=b.indexOf(d.serviceType)){var i=c._getFromNodes(e,d.key);if(p.length===i.length){var j=0;for(j=0;j=c?1:d},this.parseMemoryChartDataForAmcharts=function(a,b){var c=[],d=b.charts.JVM_GC_OLD_TIME.points,e=b.charts.JVM_GC_OLD_COUNT.points;if(d.length!==e.length)throw new Error("assertion error","time.length != count.length");for(var f,g,h,i,j=0;j0&&Math.abs(p)>0,r=0>o&&0>p;q&&(r?(m=g,n=f):(m=g-i,n=f-h),i=g,h=f)}else h=f,i=g;m>0&&n>0&&(k[a.line[l].key+"Count"]=m,k[a.line[l].key+"Time"]=n)}else{var s=b.charts[a.line[l].id].points[j].maxVal;s>=0&&(k[a.line[l].key]=s)}c.push(k)}return c},this.parseCpuLoadChartDataForAmcharts=function(a,b){var c=b.charts.CPU_LOAD_JVM,d=b.charts.CPU_LOAD_SYSTEM;if(c||d){a.isAvailable=!0;var e=[],f=c.points,g=d.points;if(f.length!==g.length)throw new Error("assertion error","jvmCpuLoad.length != systemCpuLoad.length");for(var h=0;h=0&&(i.jvmCpuLoad=j),k>=0&&(i.systemCpuLoad=k),e.push(i)}return e}},this.parseTpsChartDataForAmcharts=function(a,b){var c=b.charts.TPS_SAMPLED_CONTINUATION.points,d=b.charts.TPS_SAMPLED_NEW.points,e=b.charts.TPS_UNSAMPLED_CONTINUATION.points,f=b.charts.TPS_UNSAMPLED_NEW.points,g=b.charts.TPS_TOTAL.points,h=g.length;if(h>0){a.isAvailable=!0;for(var i=[],j=-1,k=0;h>k;k++){var l={time:moment(c[k].timestamp).toString("YYYY-MM-dd HH:mm:ss")},m="number"==typeof c[k].avgVal?c[k].avgVal.toFixed(2):0,n="number"==typeof d[k].avgVal?d[k].avgVal.toFixed(2):0,o="number"==typeof e[k].avgVal?e[k].avgVal.toFixed(2):0,p="number"==typeof f[k].avgVal?f[k].avgVal.toFixed(2):0,q="number"==typeof g[k].avgVal?g[k].avgVal.toFixed(2):0;m!=j&&(l.sampledContinuationTps=m),n!=j&&(l.sampledNewTps=n),o!=j&&(l.unsampledContinuationTps=o),p!=j&&(l.unsampledNewTps=p),q!=j&&(l.totalTps=q),i.push(l)}return i}}}])}(),function(){"use strict";pinpointApp.factory("SidebarTitleVoService",[function(){return function(){var a=this;this._sImage=!1,this._sImageType=!1,this._sTitle=!1,this._sImage2=!1,this._sImageType2=!1,this._sTitle2=!1,this.setImageType=function(b){if(!angular.isString(b))throw"ImageType should be string in SidebarTitleVo";return a._sImageType=b,a._sImage=a._parseImageTypeToImageUrl(b),a},this._parseImageTypeToImageUrl=function(a){if(angular.isString(a)){var b="/images/icons/";switch(a){case"UNKNOWN_GROUP":b+="UNKNOWN.png";break;default:b+=a+".png"}return b}throw"ImageType should be string in SidebarTitleVo"},this.getImageType=function(){return a._sImageType},this.getImage=function(){return a._sImage},this.setTitle=function(b){if(!angular.isString(b))throw"Title should be string in SidebarTitleVo";return a._sTitle=b,a},this.getTitle=function(){return a._sTitle},this.setImageType2=function(b){if(!angular.isString(b))throw"ImageType2 should be string in SidebarTitleVo";return a._sImageType2=b,a._sImage2=a._parseImageTypeToImageUrl(b),a},this.getImageType2=function(){return a._sImageType2},this.getImage2=function(){return a._sImage2},this.setTitle2=function(b){if(!angular.isString(b))throw"Title2 should be string in SidebarTitleVo";return a._sTitle2=b,a},this.getTitle2=function(){return a._sTitle2}}}])}(),function(){"use strict";pinpointApp.factory("filteredMapUtilService",["filterConfig","ServerMapFilterVoService","$window",function(a,b,c){return{mergeFilters:function(a,b){var c=[];if(a.getFilter()){var d=JSON.parse(a.getFilter());if(angular.isArray(d)){c=d;var e=this.findFilterInNavbarVo(b.getFromApplication(),b.getFromServiceType(),b.getToApplication(),b.getToServiceType(),a);if(e)return c[e.index]=b.toJson(),c}}return c.push(b.toJson()),c},mergeHints:function(a,b){var c={},d=this.parseShortHintToLongHint(JSON.parse(a.getHint())),e=b.getHint();if(d)if(e){var f=_.keys(e)[0],g=e[f];c=angular.copy(d),angular.isDefined(c[f])?(c[f]=_.union(c[f],g),c[f]=this.uniqueHintValue(c[f])):c[f]=g}else c=d;else c=b.getHint();return c},uniqueHintValue:function(a){for(var b=0;b0&&(d=parseInt(b[c-1].label,10)),d},getFilteredMapUrlWithFilterVo:function(a,b,d){var e=this.mergeFilters(a,b),f=b.getMainApplication()+"@"+b.getMainServiceTypeName(),g="#/filteredMap/"+f+"/"+a.getReadablePeriod()+"/"+a.getQueryEndDateTime()+"/"+c.encodeURIComponent(JSON.stringify(e));if(a.getHint()||d.getHint()){var h=this.mergeHints(a,d),i=this.parseLongHintToShortHint(h);g+="/"+c.encodeURIComponent(JSON.stringify(i))}return g},findFilterInNavbarVo:function(a,b,c,d,e){var f=JSON.parse(e.getFilter()),g=!1;return"USER"===b&&(a="USER"),angular.isArray(f)&&angular.forEach(f,function(e,f){var h=new ServerMapFilterVo(e);a===h.getFromApplication()&&c===h.getToApplication()&&b===h.getFromServiceType()&&d===h.getToServiceType()&&(g={oServerMapFilterVoService:h,index:f})}),g},doFiltersHaveUnknownNode:function(a){for(var b in a)if("UNKNOWN"===a[b].tst)return!0;return!1}}}])}(),function(){"use strict";pinpointApp.constant("filterConfig",{FILTER_DELIMETER:"^",FILTER_ENTRY_DELIMETER:"|"})}(),function(){"use strict";pinpointApp.factory("ServerMapFilterVoService",[function(){return function(a){var b=this;this._sMainApplication=null,this._nMainServiceTypeCode=null,this._sMainServiceTypeName=null,this._sFromApplication=null,this._sFromServiceType=null,this._sFromAgentName=null,this._sToApplication=null,this._sToServiceType=null,this._sToAgentName=null,this._sResponseFrom=0,this._sResponseTo="max",this._bIncludeException=null,this._sRequestUrlPattern="",
-this.setMainApplication=function(a){if(!angular.isString(a))throw new Error("mainApplication should be string in ServerMapFilterVo. : ",a);return b._sMainApplication=a,b},this.getMainApplication=function(){return b._sMainApplication},this.setMainServiceTypeCode=function(a){if(!angular.isNumber(a))throw new Error("mainServiceTypeCode should be number in ServerMapFilterVo. : ",a);return b._nMainServiceTypeCode=a,b},this.setMainServiceTypeName=function(a){if(!angular.isString(a))throw new Error("mainServiceTypeName should be string in ServerMapFilterVo. : ",a);return b._sMainServiceTypeName=a,b},this.getMainServiceTypeCode=function(){return b._nMainServiceTypeCode},this.getMainServiceTypeName=function(){return b._sMainServiceTypeName},this.setFromApplication=function(a){if(!angular.isString(a))throw new Error("fromApplication should be string in ServerMapFilterVo. : ",a);return b._sFromApplication=a,b},this.getFromApplication=function(){return b._sFromApplication},this.setFromServiceType=function(a){if(!angular.isString(a))throw new Error("fromServiceType should be string in ServerMapFilterVo. : ",a);return b._sFromServiceType=a,b},this.getFromServiceType=function(){return b._sFromServiceType},this.setFromAgentName=function(a){if(!angular.isString(a))throw new Error("fromAgentName should be string in ServerMapFilterVo. : ",a);return b._sFromAgentName=a,b},this.getFromAgentName=function(){return b._sFromAgentName},this.setToApplication=function(a){if(!angular.isString(a))throw new Error("toApplication should be string in ServerMapFilterVo. : ",a);return b._sToApplication=a,b},this.getToApplication=function(){return b._sToApplication},this.setToServiceType=function(a){if(!angular.isString(a))throw new Error("toServiceType should be string in ServerMapFilterVo. : ",a);return b._sToServiceType=a,b},this.getToServiceType=function(){return b._sToServiceType},this.setToAgentName=function(a){if(!angular.isString(a))throw new Error("toAgentName should be string in ServerMapFilterVo. : ",a);return b._sToAgentName=a,b},this.getToAgentName=function(){return b._sToAgentName},this.setResponseFrom=function(a){if(angular.isString(a))b._sResponseFrom=parseInt(a,10);else{if(!angular.isNumber(a))throw new Error("responseFrom should be string in ServerMapFilterVo. : ",a);b._sResponseFrom=a}return b},this.getResponseFrom=function(){return b._sResponseFrom},this.setResponseTo=function(a){if("max"===a)b._sResponseTo="max";else{if(!angular.isNumber(a)&&!angular.isString(a))throw new Error("responseTo should be string in ServerMapFilterVo.");a=parseInt(a,10),a>=3e4?b._sResponseTo="max":b._sResponseTo=a}return b},this.getResponseTo=function(){return b._sResponseTo},this.setIncludeException=function(a){if(!angular.isDefined(a))throw new Error("includeException should be defined in ServerMapFilterVo.");return b._bIncludeException=a,b},this.getIncludeException=function(){return b._bIncludeException},this.setRequestUrlPattern=function(a){return angular.isString(a)&&(b._sRequestUrlPattern=a),b},this.getRequestUrlPattern=function(){return b._sRequestUrlPattern},this.toJson=function(){var a={fa:b._sFromApplication,fst:b._sFromServiceType,ta:b._sToApplication,tst:b._sToServiceType,ie:b._bIncludeException};return 0===b._sResponseFrom&&"max"===b._sResponseTo||(a.rf=b._sResponseFrom,a.rt=b._sResponseTo),b._sRequestUrlPattern&&(a.url=b._sRequestUrlPattern),b._sFromAgentName&&(a.fan=b._sFromAgentName),b._sToAgentName&&(a.tan=b._sToAgentName),a},a&&angular.isObject(a)&&(this.setFromApplication(a.fa).setFromServiceType(a.fst).setToApplication(a.ta).setToServiceType(a.tst).setIncludeException(a.ie),angular.isNumber(a.rf)&&a.rt&&this.setResponseFrom(a.rf).setResponseTo(a.rt),a.url&&this.setRequestUrlPattern(a.url),a.fan&&this.setFromAgentName(a.fan),a.tan&&this.setToAgentName(a.tan))}}])}(),function(a){"use strict";pinpointApp.constant("AlarmAjaxServiceConfig",{group:"/userGroup.pinpoint",groupMember:"/userGroup/member.pinpoint",pinpointUser:"/user.pinpoint",alarmRule:"/alarmRule.pinpoint",alarmRuleSet:"/alarmRule/checker.pinpoint"}),pinpointApp.service("AlarmAjaxService",["AlarmAjaxServiceConfig","$http",function(b,c){function d(a,b,d){c.post(a,b).then(function(a){d(a.data)},function(a){d(a)})}function e(a,b,d){c.put(a,b).then(function(a){d(a.data)},function(a){d(a)})}function f(b,c,d){a.ajax(b,{type:"DELETE",data:JSON.stringify(c),contentType:"application/json"}).done(function(a){d(a)}).fail(function(a){d(a)})}function g(a,b,d){var e="?";for(var f in b)e+=("?"==e?"":"&")+f+"="+b[f];c.get(a+e).then(function(a){d(a.data)},function(a){d(a)})}this.getUserGroupList=function(a,c){g(b.group,a,c)},this.createUserGroup=function(a,c){d(b.group,a,c)},this.updateUserGroup=function(a,c){e(b.group,a,c)},this.removeUserGroup=function(a,c){f(b.group,a,c)},this.addMemberInGroup=function(a,c){d(b.groupMember,a,c)},this.getGroupMemberListInGroup=function(a,c){g(b.groupMember,a,c)},this.removeMemberInGroup=function(a,c){f(b.groupMember,a,c)},this.getPinpointUserList=function(a,c){g(b.pinpointUser,a,c)},this.createPinpointUser=function(a,c){d(b.pinpointUser,a,c)},this.updatePinpointUser=function(a,c){e(b.pinpointUser,a,c)},this.removePinpointUser=function(a,c){f(b.pinpointUser,a,c)},this.getRuleList=function(a,c){g(b.alarmRule,a,c)},this.createRule=function(a,c){d(b.alarmRule,a,c)},this.updateRule=function(a,c){e(b.alarmRule,a,c)},this.removeRule=function(a,c){f(b.alarmRule,a,c)},this.getRuleSet=function(a,c){g(b.alarmRuleSet,a,c)}}])}(jQuery),function(a){"use strict";pinpointApp.constant("AlarmUtilServiceConfig",{hideClass:"hide-me",hasNotEditClass:"has-not-edit"}),pinpointApp.service("AlarmUtilService",["AlarmUtilServiceConfig","AlarmAjaxService",function(a,b){var c=this;this.show=function(b){b.removeClass(a.hideClass)},this.hide=function(){for(var b=0;b0&&(e-=1,i+m>l.offsetWidth+l.scrollLeft||i+j-ml.offsetHeight+l.scrollTop||f+k-m=2?c.substring(0,2):b,{userLocale:c,defaultLocale:b}}])}(),function(){"use strict";var a={configuration:{general:{warning:"(User configuration is stored in browser cache. Server-side storage will be supported in a future release.)",empty:"Favorite list empty"},alarmRules:{mainStyle:"",title:"Alarm Rule Type",desc:"The following types of alarm rules are supported by Pinpoint.",category:[{title:"[Type]",items:[{name:"SLOW COUNT",desc:"Sends an alarm when the number of slow requests sent by the application exceeds the configured threshold."},{name:"SLOW RATE",desc:"Sends an alarm when the percentage(%) of slow requests sent by the application exceeds the configured threshold."},{name:"ERROR COUNT",desc:"Sends an alarm when the number of failed requests sent by the application exceeds the configured threshold."},{name:"ERROR RATE",desc:"Sends an alarm when the percentage(%) of failed requests sent by the application exceeds the configured threshold."},{name:"TOTAL COUNT",desc:"Sends an alarm when the number of all requests sent by the application exceeds the configured threshold."},{name:"SLOW COUNT TO CALLEE",desc:"Sends an alarm when the number of slow responses returned by the application exceeds the configured threshold."},{name:"SLOW RATE TO CALLEE",desc:"Sends an alarm when the percentage(%) of slow responses returned by the application exceeds the configured threshold."},{name:"ERROR COUNT TO CALLEE",desc:"Sends an alarm when the number of failed responses returned by the application exceeds the configured threshold."},{name:"ERROR RATE TO CALLEE",desc:"Sends an alarm when the percentage(%) of failed responses returned by the application exceeds the configured threshold."},{name:"TOTAL COUNT TO CALLEE",desc:"Sends an alarm when the number of all remote calls sent to the application exceeds the configured threshold."},{name:"HEAP USAGE RATE",desc:"Sends an alarm when the application's heap usage(%) exceeds the configured threshold."},{name:"JVM CPU USAGE RATE",desc:"Sends an alarm when the application's CPU usage(%) exceeds the configured threshold."}]}]}},navbar:{searchPeriod:{guide:"Search duration may not be greater than {{day}} days."},applicationSelector:{mainStyle:"",title:"Application List",desc:"Shows the list of applications with Pinpoint installed.",category:[{title:"[Legend]",items:[{name:"Icon",desc:"Application Type"},{name:"Text",desc:"Application Name. The value set using -Dpinpoint.applicationName when launching Pinpoint agent."}]}]},depth:{mainStyle:"",title:' Inbound 와 Outbound',desc:"Search-depth of server map.",category:[{title:"[범례]",items:[{name:"Inbound",desc:"Number of depth to render for requests coming in to the selected node."},{name:"Outbound",desc:"Number of depth to render for requests going out from the selected node"}]}]},periodSelector:{mainStyle:"",title:"Period Selector",desc:"Selects the time period for querying data.",category:[{title:"[Usage]",items:[{name:"",desc:"Query for data traced during the most recent selected time-period. Auto-refresh is supported for 5m, 10m, 3h time-period."},{name:"",desc:"Query for data traced between the two selected times for a maximum of 48 hours."}]}]}},servermap:{"default":{mainStyle:"width:560px;",title:"Server Map",desc:"Displays a topological view of the distributed server map.",category:[{title:"[Node]",list:["Each node is a logical unit of application.","The value on the top-right corner represents the number of server instances assigned to that application. (Not shown when there is only one such instance)","An alarm icon is displayed on the top-left corner if an error/exception is detected in one of the server instances.","Clicking a node shows information on all incoming transactions on the right-hand side of the screen."]},{title:"[Arrow]",list:["Each arrow represents a transaction flow.","The number shows the transaction count and is displayed in red for transactions with error."," is shown when a filter is applied.","Clicking an arrow shows information on all transactions passing through the selected section on the right-hand side of the screen."]},{title:"[Applying Filter]",list:["Right-clicking on an arrow displays a filter menu.","'Filter' filters the server map to only show transactions that has passed through the selected section.","'Filter Wizard' allows additional filter configurations."]},{title:"[Chart Configuration]",list:["Right-clicking on an empty area displays a chart configuration menu.","Node Setting / Merge Unknown : Groups all agent-less applications into a single node.","Double-clicking on an empty resets the zoom level of the server map."]}]}},realtime:{"default":{mainStyle:"",title:"Realtime Active Thread Chart",desc:"Shows the Active Thread count of each agent in realtime.",category:[{title:"[Error Messages]",items:[{name:"UNSUPPORTED VERSION",desc:"Agent version too old. (Please upgrade the agent to 1.5.0+)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"CLUSTER OPTION NOTSET",desc:"Option disabled by agent. (Please set profiler.pinpoint.activethread to true in profiler.config)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"TIMEOUT",desc:"Agent connection timed out receiving active thread count. Please contact the administrator if problem persists.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"NOT FOUND",desc:"Agent not found. (If you get this message while the agent is running, please set profiler.tcpdatasender.command.accept.enable to true in profiler.config)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"CLUSTER CHANNEL CLOSED",desc:"Agent session expired.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"PINPOINT INTERNAL ERROR",desc:"Pinpoint internal error. Please contact the administrator.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"No Active Thread",desc:"The agent has no threads that are currently active.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"No Response",desc:"No response from Pinpoint Web. Please contact the administrator.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"}]}]}},scatter:{"default":{mainStyle:"",title:"Response Time Scatter Chart",desc:"",category:[{title:"[Legend]",items:[{name:"",desc:"Successful Transaction"},{name:"",desc:"Failed Transaction"},{name:"X-axis",desc:"Transaction Timestamp (hh:mm)"},{name:"Y-axis",desc:"Response Time (ms)"}]},{title:"[Usage]",image:"",items:[{name:"",desc:"Drag on the scatter chart to show detailed information on selected transactions."},{name:"",desc:"Set the min/max value of the Y-axis (Response Time)."},{name:"",desc:"Download the chart as an image file."},{name:"",desc:"Open the chart in a new window."}]}]}},nodeInfoDetails:{responseSummary:{mainStyle:"",title:"Response Summary Chart",desc:"",category:[{title:"[Legend]",items:[{name:"X-Axis",desc:"Response Time"},{name:"Y-Axis",desc:"Transaction Count"},{name:"1s",desc:"No. of Successful transactions (less than 1 second)"},{name:"3s",desc:"No. of Successful transactions (1 ~ 3 seconds)"},{name:"5s",desc:"No. of Successful transactions (3 ~ 5 seconds)"},{name:"Slow",desc:"No. of Successful transactions (greater than 5 seconds)"},{name:"Error",desc:"No. of Failed transactions regardless of response time"}]}]},load:{mainStyle:"",title:"Load Chart",desc:"",category:[{title:"[Legend]",items:[{name:"X-Axis",desc:"Transaction Timestamp (in minutes)"},{name:"Y-Axis",desc:"Transaction Count"},{name:"1s",desc:"No. of Successful transactions (less than 1 second)"},{name:"3s",desc:"No. of Successful transactions (1 ~ 3 seconds)"},{name:"5s",desc:"No. of Successful transactions (3 ~ 5 seconds)"},{name:"Slow",desc:"No. of Successful transactions (greater than 5 seconds)"},{name:"Error",desc:"No. of Failed transactions regardless of response time"}]},{title:"[Usage]",list:["Clicking on a legend item shows/hides all transactions within the selected group.","Dragging on the chart zooms in to the dragged area."]}]},nodeServers:{mainStyle:"width:400px;",title:"Server Information",desc:"List of physical servers and their server instances.",category:[{title:"[Legend]",items:[{name:"",desc:"Hostname of the physical server"},{name:"",desc:"AgentId of the Pinpoint agent installed on the server instance running on the physical server"}]},{title:"[Usage]",items:[{name:"",desc:"Open a new window with detailed information on the WAS with Pinpoint installed."},{name:"",desc:"Display statistics on transactions carried out by the server instance."},{name:"",desc:"Display statistics on transactions (with error) carried out by the server instance."}]}]},unknownList:{mainStyle:"",title:"UnknownList",desc:"From the chart's top-right icon",category:[{title:"[Usage]",items:[{name:"1st",desc:"Toggle between Response Summary Chart / Load Chart"},{name:"2nd",desc:"Show Node Details"}]}]},searchAndOrder:{mainStyle:"",title:"Search and Fliter",desc:"Filter by server name or total count.Clicking Name or Count sorts the list in ascending/descending order."}},linkInfoDetails:{responseSummary:{mainStyle:"",title:"Response Summary Chart",desc:"",category:[{title:"[Legend]",items:[{name:"X-Axis",desc:"Response Time"},{name:"Y-Axis",desc:"Transaction Count"},{name:"1s",desc:"No. of Successful transactions (less than 1 second)"},{name:"3s",desc:"No. of Successful transactions (1 ~ 3 seconds)"},{name:"5s",desc:"No. of Successful transactions (3 ~ 5 seconds)"},{name:"Slow",desc:"No. of Successful transactions (greater than 5 seconds)"},{name:"Error",desc:"No. of Failed transactions regardless of response time"}]},{title:"[Usage]",list:["Click on the bar to query for transactions within the selected response time."]}]},load:{mainStyle:"",title:"Load Chart",desc:"",category:[{title:"[Legend]",items:[{name:"X-Axis",desc:"Transaction Timestamp (in minutes)"},{name:"Y-Axis",desc:"Transaction Count"},{name:"1s",desc:"No. of Successful transactions (less than 1 second)"},{name:"3s",desc:"No. of Successful transactions (1 ~ 3 seconds)"},{name:"5s",desc:"No. of Successful transactions (3 ~ 5 seconds)"},{name:"Slow",desc:"No. of Successful transactions (greater than 5 seconds)"},{name:"Error",desc:"No. of Failed transactions regardless of response time"}]},{title:"[Usage]",list:["Clicking on a legend item shows/hides all transactions within the selected group.","Dragging on the chart zooms in to the dragged area."]}]},linkServers:{mainStyle:"width:350px;",title:"Server Information",desc:"List of physical servers and their server instances.",category:[{title:"[Legend]",items:[{name:"",desc:"Hostname of the physical server"},{name:"",desc:"AgentId of the Pinpoint agent installed on the server instance running on the physical server"}]},{title:"[Usage]",items:[{name:"",desc:"Open a new window with detailed information on the WAS with Pinpoint installed."},{name:"",desc:"Display statistics on transactions carried out by the server instance."},{name:"",desc:"Display statistics on transactions (with error) carried out by the server instance."}]}]},unknownList:{mainStyle:"",title:"UnknownList",desc:"From the chart's top-right icon,",category:[{title:"[Usage]",items:[{name:"1st",desc:"Toggle between Response Summary Chart"},{name:"2dn",desc:"Show Node Details"}]}]},searchAndOrder:{mainStyle:"",title:"Search and Filter",desc:"Filter by server name or total count. Clicking Name or Count sorts the list in ascending/descending order."}},inspector:{list:{mainStyle:"",title:"Agent list",desc:"List of agents registered under the current Application Name",category:[{title:"[Legend]",items:[{name:"",desc:"Hostname of the agent's machine"},{name:"",desc:"Agent-id of the installed agent"},{name:"",desc:"Agent was running at the time of query"},{name:"",desc:"Agent was shutdown at the time of query"},{name:"",desc:"Agent was disconnected at the time of query"},{name:"",desc:"Agent status was unknown at the time of query"}]}]},heap:{mainStyle:"",title:"Heap",desc:"JVM's heap information and full garbage collection times(if any)",category:[{title:"[Legend]",items:[{name:"Max",desc:"Maximum heap size"},{name:"Used",desc:"Heap currently in use"},{name:"FCG",desc:"Full garbage collection duration (number of FGCs in parenthesis if it occurred more than once)"}]}]},permGen:{mainStyle:"",title:"PermGen",desc:"JVM's PermGen information and full garbage collection times(if any)",category:[{title:"[Legend]",items:[{name:"Max",desc:"Maximum heap size"},{name:"Used",desc:"Heap currently in use"},{name:"FCG",desc:"Full garbage collection duration (number of FGCs in parenthesis if it occurred more than once)"}]}]},cpuUsage:{mainStyle:"",title:"Cpu Usage",desc:"JVM/System's CPU Usage - For multi-core CPUs, displays the average CPU usage of all the cores",category:[{title:"[Legend]",items:[{name:"Java 1.6",desc:"Only the JVM's CPU usage is collected"},{name:"Java 1.7+",desc:"Both the JVM's and the system's CPU usage are collected"}]}]},tps:{mainStyle:"",title:"TPS",desc:"Transactions per second received by the server",category:[{title:"[Legend]",items:[{name:"Sampled New (S.N)",desc:"Profiled transactions that started from the current agent"},{name:"Sampled Continuation (S.C)",desc:"Profiled transactions that started from another agent"},{name:"Unsampled New (U.N)",desc:"Unprofiled transactions that started from the current agent"},{name:"Unsampled Continuation (U.C)",desc:"Unprofiled transactions that started from another agent"},{name:"Total",desc:"All transactions"}]}]}},callTree:{column:{mainStyle:"",title:"Call Tree",desc:"",category:[{title:"[Column]",items:[{name:"Gap",desc:"Time elapsed between the start of the previous method and entry of this method"},{name:"Exec",desc:"The overall duration of the method call from method entry until method exit"},{name:"Exec(%)",desc:""},{name:"",desc:"Light blue The execution time of the method call as a percentage of the total execution time of the transaction"},{name:"",desc:"Dark blue A percentage of the self execution time"},{name:"Self",desc:"The time that was used for execution of this method only, excluding time consumed in nested methods call"}]}]}},transactionTable:{log:{}},transactionList:{openError:{noParent:"Scatter data of parent window had been changed.\r\nso can't scan the data any more.",noData:"There is no {{application}} scatter data in parent window."}}};pinpointApp.constant("helpContent-en",a)}(),function(){"use strict";var a={configuration:{general:{warning:"(설정 정보는 브라우저 캐쉬에 저장합니다. 서버 측 저장은 추후 지원 할 예정입니다.)",empty:"등록된 목록이 없습니다."},alarmRules:{mainStyle:"",title:"알람 룰의 종류",desc:"Pinpoint에서 지원하는 Alarm rule의 종류는 아래와 같습니다.",category:[{title:"[항목]",items:[{name:"SLOW COUNT",desc:"application 내에서 외부서버를 호출한 요청 중 slow 호출의 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"SLOW RATE",desc:"application 내에서 외부서버를 호출한 요청 중 slow 호출의 비율(%)이 임계치를 초과한 경우 알람이 전송된다."},{name:"ERROR COUNT",desc:"application 내에서 외부서버를 호출한 요청 중 error 가 발생한 호출의 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"ERROR RATE",desc:"application 내에서 외부서버를 호출한 요청 중 error 가 발생한 호출의 비율이 임계치를 초과한 경우 알람이 전송된다."},{name:"TOTAL COUNT",desc:"application 내에서 외부서버를 호출한 요청의 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"SLOW COUNT TO CALLEE",desc:"외부에서 application을 호출한 요청 중에 외부서버로 응답을 늦게 준 요청의 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"SLOW RATE TO CALLEE",desc:"외부에서 application을 호출한 요청 중에 외부서버로 응답을 늦게 준 요청의 비율(%)이 임계치를 초과한 경우 알람이 전송된다."},{name:"ERROR COUNT TO CALLEE",desc:"외부에서 application을 호출한 요청 중에 에러가 발생한 요청의 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"ERROR RATE TO CALLEE",desc:"외부에서 application을 호출한 요청 중에 에러가 발생한 요청의 비율(%)이 임계치를 초과한 경우 알람이 전송된다."},{name:"TOTAL COUNT TO CALLEE",desc:"외부에서 application을 호출한 요청 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"HEAP USAGE RATE",desc:"heap의 사용률이 임계치를 초과한 경우 알람이 전송된다."},{name:"JVM CPU USAGE RATE",desc:"applicaiton의 CPU 사용률이 임계치를 초과한 경우 알람이 전송된다."}]}]}},navbar:{searchPeriod:{guide:"한번에 검색 할 수 있는 최대 기간은 {{day}}일 입니다."},applicationSelector:{mainStyle:"",title:"응용프로그램 목록",desc:"핀포인트가 설치된 응용프로그램 목록입니다.",category:[{title:"[범례]",items:[{name:"아이콘",desc:"응용프로그램의 종류"},{name:"텍스트",desc:"응용프로그램의 이름입니다. Pinpoint agent 설정에서 applicationName에 지정한 값입니다."}]}]},depth:{mainStyle:"",title:' Inbound 와 Outbound',desc:"서버맵의 탐색 깊이를 설정합니다.",category:[{title:"[범례]",items:[{name:"Inbound",desc:"선택된 노드를 기준으로 들어오는 탐색깊이"},{name:"Outbound",desc:"선택된 노드를 기준으로 나가는 탐색 깊이"}]}]},periodSelector:{mainStyle:"",title:"조회 시간 설정",desc:"데이터 조회 시간을 선택합니다.",category:[{title:"[범례]",items:[{name:"",desc:"현재 시간을 기준으로 선택한 시간 이전부터 현재시간 사이에 수집된 데이터를 조회합니다. 최근 5m, 10m, 3h조회는 자동 새로고침 기능을 지원합니다."},{name:"",desc:"지정된 시간 사이에 수집된 데이터를 조회합니다. 조회 시간은 분단위로 최대 48시간을 지정할 수 있습니다."}]}]}},servermap:{"default":{mainStyle:"width:560px;",title:"서버맵",desc:"분산된 서버를 도식화 한 지도 입니다.",category:[{title:"[박스]",list:["박스는 응용프로그램 그룹을 나타냅니다.","우측의 숫자는 응용프로그램 그룹에 속한 서버 인스턴스의 개수입니다.(한 개일 때에는 숫자를 보여주지 않습니다.)","좌측 빨간 알람은 임계값을 초과한 모니터링 항목이 있을 때 나타납니다."]},{title:"[화살표]",list:["화살표는 트랜잭션의 흐름을 나타냅니다.","화살표의 숫자는 호출 수 입니다. 임계치 이상의 에러를 포함하면 빨간색으로 보여집니다."," : 필터가 적용되면 아이콘이 표시됩니다."]},{title:"[박스의 기능]",list:["박스를 선택하면 어플리케이션으로 유입된 트랜잭션 정보를 화면 우측에 보여줍니다."]},{title:"[화살표의 기능]",list:["화살표를 선택하여 선택된 구간을 통과하는 트랜잭션의 정보를 화면 우측에 보여줍니다.","Context menu의 Filter는 선택된 구간을 통과하는 트랜잭션만 모아서 보여줍니다.","Filter wizard는 보다 상세한 필터 설정을 할 수 있습니다.","필터가 적용되면 화살표에 아이콘이 표시됩니다."]},{title:"[차트 설정]",list:["비어있는 부분을 마우스 오른쪽 클릭하여 context menu를 열면 차트 설정메뉴가 보입니다.","Node Setting / Merge Unknown : agent가 설치되어있지 않은 응용프로그램을 하나의 박스로 보여줍니다.","비어있는 부분 더블클릭 : 줌을 초기화 합니다."]}]}},realtime:{"default":{mainStyle:"",title:"Realtime Active Thread Chart",desc:"각 Agent의 Active Thread 갯수를 실시간으로 보여줍니다.",category:[{title:"[에러 메시지 설명]",items:[{name:"UNSUPPORTED VERSION",desc:"해당 에이전트의 버전에서는 지원하지 않는 기능입니다. (1.5.0 이상 버전으로 업그레이드하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"CLUSTER OPTION NOTSET",desc:"해당 에이전트의 설정에서 기능이 비활성화되어 있습니다. (pinpoint 설정 파일에서 profiler.pinpoint.activethread 항목을 true로 변경하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"TIMEOUT",desc:"해당 에이전트에서 일시적으로 활성화 된 스레드 개수를 받지 못하였습니다.(오래 지속될 경우 담당자에게 문의하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"NOT FOUND",desc:"해당 에이전트를 찾을 수 없습니다.(에이전트가 활성화 되어 있는 경우에 해당 메시지가 발생한다면 pinpoint 설정 파일에서 profiler.tcpdatasender.command.accept.enable 항목을 true로 변경하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"CLUSTER CHANNEL CLOSED",desc:"해당 에이전트와의 세션이 종료되었습니다.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"PINPOINT INTERNAL ERROR",desc:"핀포인트 내부 에러가 발생하였습니다.(담당자에게 문의하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"No Active Thread",desc:"현재 해당 에이전트는 활성화된 스레드가 존재하지 않습니다.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"No Response",desc:"핀포인트 웹 서버로부터의 응답을 받지 못하였습니다.(담당자에게 문의하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"}]}]}},scatter:{"default":{mainStyle:"",title:"Response Time Scatter Chart",desc:"수집된 트랜잭션의 응답시간 분포도입니다.",category:[{title:"[범례]",items:[{
-name:"",desc:"에러가 없는 트랜잭션 (Success)"},{name:"",desc:"에러를 포함한 트랜잭션 (Failed)"},{name:"X축",desc:"트랜잭션이 실행된 시간 (시:분)"},{name:"Y축",desc:"트랜잭션의 응답 속도 (ms)"}]},{title:"[기능]",image:"",items:[{name:"",desc:"마우스로 영역을 드래그하여 드래그 된 영역에 속한 트랜잭션의 상세정보를 조회할 수 있습니다."},{name:"",desc:"에러를 포함한 트랜잭션 (Failed)"},{name:"X축",desc:"응답시간(Y축)의 최대 또는 최소값을 변경할 수 있습니다."},{name:"",desc:"차트를 새창으로 크게 보여줍니다."}]}]}},nodeInfoDetails:{responseSummary:{mainStyle:"",title:"Response Summary Chart",desc:"응답결과 요약 입니다.",category:[{title:"[범례]",items:[{name:"X축",desc:"트랜잭션 응답시간 요약 단위"},{name:"Y축",desc:"트랜잭션의 개수"},{name:"1s",desc:"0초 <= 응답시간 < 1초 에 해당하는 성공한 트랜잭션의 수"},{name:"3s",desc:"1초 <= 응답시간 < 3초 에 해당하는 성공한 트랜잭션의 수"},{name:"5s",desc:"3초 <= 응답시간 < 5초 에 해당하는 성공한 트랜잭션의 수"},{name:"Slow",desc:"5초 <= 응답시간 에 해당하는 성공한 트랜잭션의 수"},{name:"Error",desc:"응답시간과 무관하게 실패한 트랜잭션의 수"}]}]},load:{mainStyle:"",title:"Load Chart",desc:"시간별 트랜잭션의 응답 결과입니다.",category:[{title:"[범례]",items:[{name:"X축",desc:"트랜잭션이 실행된 시간 (분단위)"},{name:"Y축",desc:"트랜잭션의 개수"},{name:"1s",desc:"0초 <= 응답시간 < 1초 에 해당하는 성공한 트랜잭션의 수"},{name:"3s",desc:"1초 <= 응답시간 < 3초 에 해당하는 성공한 트랜잭션의 수"},{name:"5s",desc:"3초 <= 응답시간 < 5초 에 해당하는 성공한 트랜잭션의 수"},{name:"Slow",desc:"5초 <= 응답시간 에 해당하는 성공한 트랜잭션의 수"},{name:"Error",desc:"응답시간과 무관하게 실패한 트랜잭션의 수"}]},{title:"[기능]",list:["범례를 클릭하여 해당 응답시간에 속한 트랜잭션을 차트에서 제외하거나 포함 할 수 있습니다.","마우스로 드래그하여 드래그 한 범위를 확대할 수 있습니다."]}]},nodeServers:{mainStyle:"width:400px;",title:"Server Information",desc:"물리서버와 해당 서버에서 동작중인 서버 인스턴스의 정보를 보여줍니다.",category:[{title:"[범례]",items:[{name:"",desc:"물리서버의 호스트이름입니다."},{name:"",desc:"물리서버에 설치된 서버 인스턴스에서 동작중인 Pinpoint의 agentId입니다."}]},{title:"[기능]",items:[{name:"",desc:"Pinpoint가 설치된 WAS의 상세한 정보를 보여줍니다."},{name:"",desc:"해당 인스턴스에서 처리된 트랜잭션 통계를 조회할 수 있습니다."},{name:"",desc:"에러를 발생시킨 트랜잭션이 포함되어있다는 의미입니다."}]}]},unknownList:{mainStyle:"",title:"UnknownList",desc:"차트 오른쪽 상단의 아이콘부터",category:[{title:"[기능]",items:[{name:"첫번째",desc:"Response Summary"},{name:"두번째",desc:"해당 노드 상세보기"}]}]},searchAndOrder:{mainStyle:"",title:"검색과 필터링",desc:"서버 이름과 Count로 검색이 가능합니다.",category:[{title:"[기능]",items:[{name:"Name",desc:"이름을 오름/내림차순 정렬 합니다."},{name:"Count",desc:"갯수를 오름/내림차순 정렬 합니다."}]}]}},linkInfoDetails:{responseSummary:{mainStyle:"",title:"Response Summary Chart",desc:"응답결과 요약 입니다.",category:[{title:"[범례]",items:[{name:"X축",desc:"트랜잭션 응답시간 요약 단위"},{name:"Y축",desc:"트랜잭션의 개수"},{name:"1s",desc:"0초 <= 응답시간 < 1초 에 해당하는 성공한 트랜잭션의 수"},{name:"3s",desc:"1초 <= 응답시간 < 3초 에 해당하는 성공한 트랜잭션의 수"},{name:"5s",desc:"3초 <= 응답시간 < 5초 에 해당하는 성공한 트랜잭션의 수"},{name:"Slow",desc:"5초 <= 응답시간 에 해당하는 성공한 트랜잭션의 수"},{name:"Error",desc:"응답시간과 무관하게 실패한 트랜잭션의 수"}]},{title:"[기능]",list:["바(bar)를 클릭하면 해당 응답시간에 속한 트랜잭션의 목록을 조회합니다."]}]},load:{mainStyle:"",title:"Load Chart",desc:"시간별 트랜잭션의 응답 결과입니다.",category:[{title:"[범례]",items:[{name:"X축",desc:"트랜잭션이 실행된 시간 (분단위)"},{name:"Y축",desc:"트랜잭션의 개수"},{name:"1s",desc:"0초 <= 응답시간 < 1초 에 해당하는 성공한 트랜잭션의 수"},{name:"3s",desc:"1초 <= 응답시간 < 3초 에 해당하는 성공한 트랜잭션의 수"},{name:"5s",desc:"3초 <= 응답시간 < 5초 에 해당하는 성공한 트랜잭션의 수"},{name:"Slow",desc:"5초 <= 응답시간 에 해당하는 성공한 트랜잭션의 수"},{name:"Error",desc:"응답시간과 무관하게 실패한 트랜잭션의 수"}]},{title:"[기능]",list:["범례를 클릭하여 해당 응답시간에 속한 트랜잭션을 차트에서 제외하거나 포함 할 수 있습니다.","마우스로 드래그하여 드래그 한 범위를 확대할 수 있습니다."]}]},linkServers:{mainStyle:"width:350px;",title:"Server Information",desc:"해당 구간을 통과하는 트랜잭션을 호출한 서버 인스턴스의 정보입니다. (호출자)",category:[{title:"[범례]",items:[{name:"",desc:"물리서버에 설치된 서버 인스턴스에서 동작중인 Pinpoint의 agentId입니다."}]},{title:"[기능]",items:[{name:"",desc:"Pinpoint가 설치된 WAS의 상세한 정보를 보여줍니다."},{name:"",desc:"해당 인스턴스에서 처리된 트랜잭션 통계를 조회할 수 있습니다."},{name:"",desc:"에러를 발생시킨 트랜잭션이 포함되어있다는 의미입니다."}]}]},unknownList:{mainStyle:"",title:"UnknownList",desc:"차트 오른쪽 상단의 아이콘부터",category:[{title:"[기능]",items:[{name:"첫번째",desc:"Response Summary"},{name:"두번째",desc:"해당 노드 상세보기"}]}]},searchAndOrder:{mainStyle:"",title:"검색과 필터링",desc:"서버 이름과 Count로 검색이 가능합니다.",category:[{title:"[기능]",items:[{name:"Name",desc:"이름을 오름/내림차순 정렬 합니다."},{name:"Count",desc:"갯수를 오름/내림차순 정렬 합니다."}]}]}},inspector:{list:{mainStyle:"",title:"Agent 리스트",desc:"현 Appliation Name에 등록된 agent 리스트입니다.",category:[{title:"[범례]",items:[{name:"",desc:"Agent가 설치된 장비의 호스트 이름"},{name:"",desc:"설치된 agent의 agent-id"},{name:"",desc:"정상적으로 실행중인 agent 상태 표시"},{name:"",desc:"Shutdown 된 agent 상태 표시"},{name:"",desc:"연결이 끊긴 agent 상태 표시"},{name:"",desc:"알수 없는 상태의 agent 상태 표시"}]}]},heap:{mainStyle:"",title:"Heap",desc:"JVM의 heap 정보와 full garbage collection 소요 시간",category:[{title:"[범례]",items:[{name:"Max",desc:"최대 heap 사이즈"},{name:"Used",desc:"현재 사용 중인 heap 사이즈"},{name:"FCG",desc:"Full garbage collection의 총 소요 시간(2번 이상 발생 시, 괄호 안에 발생 횟수 표시)"}]}]},permGen:{mainStyle:"",title:"PermGen",desc:"JVM의 PermGen 정보와 full garbage collection 소요 시간",category:[{title:"[범례]",items:[{name:"Max",desc:"최대 heap 사이즈"},{name:"Used",desc:"현재 사용 중인 heap 사이즈"},{name:"FCG",desc:"Full garbage collection의 총 소요 시간(2번 이상 발생 시, 괄호 안에 발생 횟수 표시)"}]}]},cpuUsage:{mainStyle:"",title:"Cpu Usage",desc:"JVM과 시스템의 CPU 사용량 - 멀티코어 CPU의 경우, 전체 코어 사용량의 평균입니다.",category:[{title:"[범례]",items:[{name:"Java 1.6",desc:"JVM의 CPU 사용량만 수집됩니다."},{name:"Java 1.7+",desc:"JVM과 전체 시스템의 CPU 사용량 모두 수집됩니다."}]}]},tps:{mainStyle:"",title:"TPS",desc:"서버로 인입된 초당 트랜잭션 수",category:[{title:"[범례]",items:[{name:"Sampled New (S.N)",desc:"선택된 agent에서 시작한 샘플링된 트랜잭션"},{name:"Sampled Continuation (S.C)",desc:"다른 agent에서 시작한 샘플링된 트랜잭션"},{name:"Unsampled New (U.N)",desc:"선택된 agent에서 시작한 샘플링되지 않은 트랜잭션"},{name:"Unsampled Continuation (U.C)",desc:"다른 agent에서 시작한 샘플링되지 않은 트랜잭션"},{name:"Total",desc:"모든 트랜잭션"}]}]}},callTree:{column:{mainStyle:"",title:"Call Tree",desc:"Call Tree의 컬럼명을 설명합니다.",category:[{title:"[컬럼]",items:[{name:"Gap",desc:"이전 메소드가 시작된 후 현재 메소드를 실행하기 까지의 지연 시간"},{name:"Exec",desc:"메소드 시작부터 종료까지의 시간"},{name:"Exec(%)",desc:""},{name:"",desc:"옅은 파란색 트랜잭션 전체 실행 시간 대 exec 시간의 비율"},{name:"",desc:"진한 파란색 self 시간 비율"},{name:"Self",desc:"메소드 자체의 시작부터 종료까지의 시간으로 하위의 메소드가 실행된 시간을 제외한 값"}]}]}},transactionTable:{log:{}},transactionList:{openError:{noParent:"부모 윈도우의 scatter chart 정보가 변경되어 더 이상 transaction 정보를 표시할 수 없습니다.",noData:"부모 윈도우에 {{application}} scatter chart 정보가 없습니다."}}};pinpointApp.constant("helpContent-ko",a)}(),function(){"use strict";var a=['
").end().modal("show"),prettyPrint())}o||(o=b(function(){j&&e.find(".dcf-popover").popover("hide"),j=!0,o=!1},300))}),g.onDblClick.subscribe(function(a,b){j=!1,$(a.target).popover("toggle")}),g.onCellChange.subscribe(function(a,b){h.updateItem(b.item.id,b.item)}),g.onActiveCellChanged.subscribe(function(a,b){d.$emit("distributedCallFlowDirective.rowSelected."+d.namespace,b.grid.getDataItem(b.row))}),s=function(a){var b=h.getItem(a+1);return!(!b||a!==b.parent)},g.onKeyDown.subscribe(function(a,b){var c=h.getItem(b.row);if(37==a.which)if(s(b.row))c._collapsed=!0,h.updateItem(c.id,c);else{var d=h.getItem(b.row-1);d&&g.setActiveCell(b.row-1,0)}else if(39==a.which){if(c._collapsed)c._collapsed=!1;else{var e=h.getItem(b.row+1);e&&g.setActiveCell(b.row+1,0)}h.updateItem(c.id,c)}}),h.onRowCountChanged.subscribe(function(a,b){g.updateRowCount(),g.render()}),h.onRowsChanged.subscribe(function(a,b){g.invalidateRows(b.rows),g.render()})},$("#customLogPopup").on("click","button",function(){var a=document.createRange();a.selectNode($(this).parent().next().get(0)),window.getSelection().addRange(a);try{document.execCommand("copy")}catch(b){console.log("unable to copy :",b)}window.getSelection().removeAllRanges()}),d.$on("distributedCallFlowDirective.initialize."+d.namespace,function(a,b){j(b)}),d.$on("distributedCallFlowDirective.resize."+d.namespace,function(a){g&&g.resizeCanvas()}),d.$on("distributedCallFlowDirective.selectRow."+d.namespace,function(a,b){var c=b-1;g.setSelectedRows([c]),g.setActiveCell(c,0),g.scrollRowToTop(c)}),d.$on("distributedCallFlowDirective.searchCall."+d.namespace,function(a,b,c){var e=t(b,c);-1==e?c>0?(u(t(b,0)),d.$emit("transactionDetail.calltreeSearchCallResult","Loop")):d.$emit("transactionDetail.calltreeSearchCallResult","No call took longer than {time}ms."):(u(e),d.$emit("transactionDetail.calltreeSearchCallResult",""))}),t=function(a,b){for(var c=0,d=-1,e=0;e=a){if(c==b){d=e;break}c++}return d},u=function(a){g.setSelectedRows([a]),g.setActiveCell(a,0),g.scrollRowIntoView(a,!0)}}}}])}(),function(){"use strict";pinpointApp.constant("responseTimeChartDirectiveConfig",{myColors:["#2ca02c","#3c81fa","#f8c731","#f69124","#f53034"]}),pinpointApp.directive("responseTimeChartDirective",["responseTimeChartDirectiveConfig","$timeout","AnalyticsService","PreferenceService",function(a,b,c,d){var e=d.getResponseTypeColor();return{template:"",replace:!0,restrict:"EA",scope:{namespace:"@"},link:function(a,f,g){var h,i,j,k,l,m,n,o;j=function(){h="responseTimeId-"+a.namespace,f.attr("id",h)},k=function(a,b){f.css("width",a||"100%"),f.css("height",b||"150px")},l=function(d,e,f){b(function(){var b={type:"serial",theme:"none",dataProvider:d,startDuration:0,valueAxes:[{gridAlpha:.1,usePrefixes:!0}],graphs:[{balloonText:e?"[[category]] filtering":"",colorField:"color",labelText:"[[value]]",fillAlphas:.3,alphaField:"alpha",lineAlpha:.8,lineColor:"#787779",type:"column",valueField:"count"}],categoryField:"responseTime",categoryAxis:{gridAlpha:0}};f&&(b.chartCursor={fullWidth:!0,categoryBalloonAlpha:.7,cursorColor:"#000000",cursorAlpha:0,zoomable:!1}),i=AmCharts.makeChart(h,b),i.addListener("clickGraphItem",function(b){c.send(c.CONST.MAIN,c.CONST.CLK_RESPONSE_GRAPH),"Error"==b.item.category&&a.$emit("responseTimeChartDirective.showErrorTransacitonList",b.item.category),e&&a.$emit("responseTimeChartDirective.itemClicked."+a.namespace,b.item.serialDataItem.dataContext)}),e&&(i.addListener("clickGraphItem",m),i.addListener("rollOverGraphItem",function(a){a.event.target.style.cursor="pointer"}))})},m=function(b){a.$emit("responseTimeChartDirective.itemClicked."+a.namespace,b.item.serialDataItem.dataContext)},n=function(a){i.dataProvider=a,b(function(){i.validateData()})},o=function(a){angular.isUndefined(a)&&(a=d.getResponseTypeFormat());var b=[],c=[.2,.3,.4,.6,.6],f=0;for(var g in a)b.push({responseTime:g,count:a[g],color:e[f],alpha:c[f++]});return b},a.$on("responseTimeChartDirective.initAndRenderWithData."+a.namespace,function(a,b,c,d,e,f){j(),k(c,d),l(o(b),e,f)}),a.$on("responseTimeChartDirective.updateData."+a.namespace,function(a,b){n(o(b))})}}}])}(),function(){"use strict";pinpointApp.constant("loadChartDirectiveConfig",{}),pinpointApp.directive("loadChartDirective",["loadChartDirectiveConfig","$timeout","AnalyticsService","PreferenceService",function(a,b,c,d){var e=d.getResponseTypeColor();return{template:'',replace:!0,restrict:"EA",scope:{namespace:"@"},link:function(a,d,f){var g,h,i,j,k,l,m,n,o,p;j=function(){g="loadId-"+a.namespace,d.attr("id",g)},k=function(a,b){a&&d.css("width",a),b&&d.css("height",b)},l=function(a,d){b(function(){var b={type:"serial",theme:"light",legend:{autoMargins:!1,align:"right",borderAlpha:0,equalWidths:!0,horizontalGap:0,verticalGap:0,markerSize:10,useGraphSettings:!1,valueWidth:0,spacing:0,markerType:"circle",position:"top"},dataProvider:a,valueAxes:[{stackType:"regular",axisAlpha:1,usePrefixes:!0,gridAlpha:.1}],categoryField:"time",categoryAxis:{startOnAxis:!0,gridPosition:"start",labelFunction:function(a,b,c){var d=a.indexOf("-"),e=a.indexOf(" ");return a.substring(d+1,e)+"\n"+a.substring(e+1)}},balloon:{fillAlpha:1,borderThickness:1},graphs:[{balloonText:"[[title]] : [[value]]",fillAlphas:.2,fillColors:e[0],lineAlpha:.8,lineColor:"#787779",title:h[0],type:"step",legendColor:e[0],valueField:h[0]},{balloonText:"[[title]] : [[value]]",fillAlphas:.3,fillColors:e[1],lineAlpha:.8,lineColor:"#787779",title:h[1],type:"step",legendColor:e[1],valueField:h[1]},{balloonText:"[[title]] : [[value]]",fillAlphas:.4,fillColors:e[2],lineAlpha:.8,lineColor:"#787779",title:h[2],type:"step",legendColor:e[2],valueField:h[2]},{balloonText:"[[title]] : [[value]]",fillAlphas:.6,fillColors:e[3],lineAlpha:.8,lineColor:"#787779",title:h[3],type:"step",legendColor:e[3],valueField:h[3]},{balloonText:"[[title]] : [[value]]",fillAlphas:.6,fillColors:e[4],lineAlpha:.8,lineColor:"#787779",title:h[4],type:"step",legendColor:e[4],valueField:h[4]}]};d&&(b.chartCursor={cursorPosition:"mouse",categoryBalloonAlpha:.7,categoryBalloonDateFormat:"H:NN"}),i=AmCharts.makeChart(g,b),i.addListener("clickGraph",function(a){c.send(c.CONST.MAIN,c.CONST.CLK_LOAD_GRAPH)})})},o=function(a,c){b(function(){var b={type:"serial",pathToImages:"./components/amcharts/images/",theme:"light",dataProvider:a,valueAxes:[{stackType:"regular",axisAlpha:0,gridAlpha:0,labelsEnabled:!1}],categoryField:"time",categoryAxis:{startOnAxis:!0,gridPosition:"start",labelFunction:function(a,b,c){return moment(a).format("HH:mm")}},chartScrollbar:{graph:"AmGraph-1"},graphs:[{id:"AmGraph-1",fillAlphas:.2,fillColors:e[0],lineAlpha:.8,lineColor:"#787779",type:"step",valueField:h[0]},{id:"AmGraph-2",fillAlphas:.3,fillColors:e[1],lineAlpha:.8,lineColor:"#787779",type:"step",valueField:h[1]},{id:"AmGraph-3",fillAlphas:.4,fillColors:e[2],lineAlpha:.8,lineColor:"#787779",type:"step",valueField:h[2]},{id:"AmGraph-4",fillAlphas:.6,fillColors:e[3],lineAlpha:.8,lineColor:"#787779",type:"step",valueField:h[3]},{id:"AmGraph-5",fillAlphas:.6,fillColors:e[4],lineAlpha:.8,lineColor:"#787779",type:"step",valueField:h[4]}]};c&&(b.chartCursor={avoidBalloonOverlapping:!1}),i=AmCharts.makeChart(g,b),i.addListener("changed",function(a){})})},p=function(){d.append("
No Data
")},n=function(a){angular.isDefined(i)&&i.clear(),d.empty(),b(function(){0===a.length?p():l(a,!0)})},m=function(a){function b(a){for(var b in c)if(moment(a).format("YYYY-MM-DD HH:mm")===c[b].time)return b;return-1}if(angular.isUndefined(a))return[];h=[];for(var c=[],d=0;d-1)c[i][e.key]=g[1];else{var j={time:moment(g[0]).format("YYYY-MM-DD HH:mm")};j[e.key]=g[1],c.push(j)}}}return c},a.$on("loadChartDirective.initAndRenderWithData."+a.namespace,function(a,b,c,d,e){j(),k(c,d);var f=m(b);0===f.length?p():l(f,e)}),a.$on("loadChartDirective.updateData."+a.namespace,function(a,b){n(m(b))}),a.$on("loadChartDirective.initAndSimpleRenderWithData."+a.namespace,function(a,b,c,d,e){j(),k(c,d);var f=m(b);0===f.length?p():o(f,e)})}}}])}(),function(){"use strict";angular.module("pinpointApp").directive("jvmMemoryChartDirective",["$timeout",function(a){return{template:"",replace:!0,restrict:"E",scope:{namespace:"@"},link:function(b,c,d){var e,f,g,h,i,j,k;g=function(){e="multipleValueAxesId-"+b.namespace,c.attr("id",e)},h=function(a,b){a&&c.css("width",a),b&&c.css("height",b)},i=function(c){var d={type:"serial",theme:"light",autoMargins:!1,marginTop:10,marginLeft:70,marginRight:70,marginBottom:30,legend:{useGraphSettings:!0,autoMargins:!1,align:"right",position:"top",valueWidth:70},usePrefixes:!0,dataProvider:c,valueAxes:[{id:"v1",gridAlpha:0,axisAlpha:1,position:"right",title:"Full GC (ms)",minimum:0},{id:"v2",gridAlpha:0,axisAlpha:1,position:"left",title:"Memory (bytes)",minimum:0}],graphs:[{valueAxis:"v2",balloonText:"[[value]]B",legendValueText:"[[value]]B",lineColor:"rgb(174, 199, 232)",title:"Max",valueField:"Max",fillAlphas:0,connect:!1},{valueAxis:"v2",balloonText:"[[value]]B",legendValueText:"[[value]]B",lineColor:"rgb(31, 119, 180)",fillColor:"rgb(31, 119, 180)",title:"Used",valueField:"Used",fillAlphas:.4,connect:!1},{valueAxis:"v1",balloonFunction:function(a,b){var c=a.serialDataItem.dataContext,d=c.FGCTime+"ms",e=c.FGCCount;return e>1&&(d+=" ("+e+")"),d},legendValueText:"[[value]]ms",lineColor:"#FF6600",title:"FGC",valueField:"FGCTime",type:"column",fillAlphas:.3,connect:!1}],chartCursor:{categoryBalloonAlpha:.7,fullWidth:!0,cursorAlpha:.1},categoryField:"time",categoryAxis:{axisColor:"#DADADA",startOnAxis:!0,gridPosition:"start",labelFunction:function(a,b,c){return a.substring(a.indexOf(" ")+1)}}};a(function(){f=AmCharts.makeChart(e,d),f.chartCursor.addListener("changed",function(a){b.$emit("jvmMemoryChartDirective.cursorChanged."+b.namespace,a)})})},j=function(a){a?(angular.isNumber(a)&&(a=f.dataProvider[a].time),f.chartCursor.showCursorAt(a)):f.chartCursor.hideCursor()},k=function(){f&&(f.validateNow(),f.validateSize())},b.$on("jvmMemoryChartDirective.initAndRenderWithData."+b.namespace,function(a,b,c,d){g(),h(c,d),i(b)}),b.$on("jvmMemoryChartDirective.showCursorAt."+b.namespace,function(a,b){j(b)}),b.$on("jvmMemoryChartDirective.resize."+b.namespace,function(a){k()})}}}])}(),function(){"use strict";angular.module("pinpointApp").directive("cpuLoadChartDirective",["$timeout",function(a){return{template:"",replace:!0,restrict:"E",scope:{namespace:"@"},link:function(b,c,d){var e,f,g,h,i,j,k;g=function(){e="multipleValueAxesId-"+b.namespace,c.attr("id",e)},h=function(a,b){a&&c.css("width",a),b&&c.css("height",b)},i=function(c){var d={type:"serial",theme:"light",autoMargins:!1,marginTop:10,marginLeft:70,marginRight:70,marginBottom:30,legend:{useGraphSettings:!0,autoMargins:!0,align:"right",position:"top",valueWidth:70},usePrefixes:!0,dataProvider:c,valueAxes:[{id:"v1",gridAlpha:0,axisAlpha:1,position:"left",title:"Cpu Usage (%)",maximum:100,minimum:0}],graphs:[{valueAxis:"v1",balloonText:"[[value]]%",legendValueText:"[[value]]%",lineColor:"rgb(31, 119, 180)",fillColor:"rgb(31, 119, 180)",title:"JVM",valueField:"jvmCpuLoad",fillAlphas:.4,connect:!1},{valueAxis:"v1",balloonText:"[[value]]%",legendValueText:"[[value]]%",lineColor:"rgb(174, 199, 232)",fillColor:"rgb(174, 199, 232)",title:"System",valueField:"systemCpuLoad",fillAlphas:.4,connect:!1},{valueAxis:"v1",showBalloon:!1,lineColor:"#FF6600",title:"Max",valueField:"maxCpuLoad",fillAlphas:0,visibleInLegend:!1}],chartCursor:{categoryBalloonAlpha:.7,fullWidth:!0,cursorAlpha:.1},categoryField:"time",categoryAxis:{axisColor:"#DADADA",startOnAxis:!0,gridPosition:"start",labelFunction:function(a,b,c){return moment(a).format("HH:mm:ss")}}};a(function(){f=AmCharts.makeChart(e,d),f.chartCursor.addListener("changed",function(a){b.$emit("cpuLoadChartDirective.cursorChanged."+b.namespace,a)})})},j=function(a){a?(angular.isNumber(a)&&(a=f.dataProvider[a].time),f.chartCursor.showCursorAt(a)):f.chartCursor.hideCursor()},k=function(){f&&(f.validateNow(),f.validateSize())},b.$on("cpuLoadChartDirective.initAndRenderWithData."+b.namespace,function(a,b,c,d){g(),h(c,d),i(b)}),b.$on("cpuLoadChartDirective.showCursorAt."+b.namespace,function(a,b){j(b)}),b.$on("cpuLoadChartDirective.resize."+b.namespace,function(a){k()})}}}])}(),function(){"use strict";angular.module("pinpointApp").directive("tpsChartDirective",["$timeout",function(a){return{template:"",replace:!0,restrict:"E",scope:{namespace:"@"},link:function(b,c,d){var e,f,g,h,i,j,k;g=function(){e="multipleValueAxesId-"+b.namespace,c.attr("id",e)},h=function(a,b){a&&c.css("width",a),b&&c.css("height",b)},i=function(c){var d={type:"serial",theme:"light",autoMargins:!1,marginTop:10,marginLeft:70,marginRight:70,marginBottom:30,legend:{useGraphSettings:!0,autoMargins:!0,align:"right",position:"top",valueWidth:70},usePrefixes:!0,dataProvider:c,valueAxes:[{stackType:"regular",gridAlpha:0,axisAlpha:1,position:"left",title:"TPS",minimum:0}],graphs:[{balloonText:"Sampled Continuation : [[value]]",legendValueText:"[[value]]",lineColor:"rgb(214, 141, 8)",fillColor:"rgb(214, 141, 8)",title:"S.C",valueField:"sampledContinuationTps",fillAlphas:.4,connect:!0},{balloonText:"Sampled New : [[value]]",legendValueText:"[[value]]",lineColor:"rgb(252, 178, 65)",fillColor:"rgb(252, 178, 65)",title:"S.N",valueField:"sampledNewTps",fillAlphas:.4,connect:!0},{balloonText:"Unsampled Continuation : [[value]]",legendValueText:"[[value]]",lineColor:"rgb(90, 103, 166)",fillColor:"rgb(90, 103, 166)",title:"U.C",valueField:"unsampledContinuationTps",fillAlphas:.4,connect:!0},{balloonText:"Unsampled New : [[value]]",legendValueText:"[[value]]",lineColor:"rgb(160, 153, 255)",fillColor:"rgb(160, 153, 255)",title:"U.N",valueField:"unsampledNewTps",fillAlphas:.4,connect:!0},{balloonText:"Total : [[value]]",legendValueText:"[[value]]",lineColor:"rgba(31, 119, 180, 0)",fillColor:"rgba(31, 119, 180, 0)",valueField:"totalTps",fillAlphas:.4,connect:!0}],chartCursor:{categoryBalloonAlpha:.7,fullWidth:!0,cursorAlpha:.1},categoryField:"time",categoryAxis:{axisColor:"#DADADA",startOnAxis:!0,gridPosition:"start",labelFunction:function(a,b,c){return moment(a).format("HH:mm:ss")}}};a(function(){f=AmCharts.makeChart(e,d),f.chartCursor.addListener("changed",function(a){b.$emit("tpsChartDirective.cursorChanged."+b.namespace,a)})})},j=function(a){a?(angular.isNumber(a)&&(a=f.dataProvider[a].time),f.chartCursor.showCursorAt(a)):f.chartCursor.hideCursor()},k=function(){f&&(f.validateNow(),f.validateSize())},b.$on("tpsChartDirective.initAndRenderWithData."+b.namespace,function(a,b,c,d){g(),h(c,d),i(b)}),b.$on("tpsChartDirective.showCursorAt."+b.namespace,function(a,b){j(b)}),b.$on("tpsChartDirective.resize."+b.namespace,function(a){k()})}}}])}(),function(){"use strict";pinpointApp.directive("loadingDirective",["$timeout","$templateCache","$compile",function(a,b,c){return{restrict:"A",scope:{showLoading:"=loadingDirective",loadingMessage:"@"},link:function(a,d,e){a.loadingMessage||(a.loadingMessage="Please Wait...");var f=b.get(e.loadingDirective);"static"===d.css("position")&&d.css("position","relative"),d.append(c(f)(a))}}}])}(),function(a){"use strict";pinpointApp.constant("ConfigurationConfig",{menu:{GENERAL:"general",ALARM:"alarm",HELP:"help"}}),pinpointApp.controller("ConfigurationCtrl",["$scope","$element","ConfigurationConfig","AnalyticsService",function(b,c,d,e){var f=c.find(".modal-body");b.descriptionOfCurrentTab="Set your option",b.currentTab=d.menu.GENERAL;for(var g in d.menu)!function(a){var c="is"+a.substring(0,1).toUpperCase()+a.substring(1).toLowerCase();b[c]=function(){return b.currentTab==d.menu[a]}}(g);a(c).on("hidden.bs.modal",function(a){b.currentTab=d.menu.GENERAL,b.$broadcast("configuration.alarm.initClose")}),b.setCurrentTab=function(a){if(b.currentTab!=a)switch(b.currentTab=a,a){case d.menu.GENERAL:e.send(e.CONST.MAIN,e.CONST.CLK_GENERAL),f.css("background-color","#e9eaed"),b.descriptionOfCurrentTab="Set your option",b.$broadcast("general.configuration.show");break;case d.menu.ALARM:e.send(e.CONST.MAIN,e.CONST.CLK_ALARM),f.css("background-color","#e9eaed"),b.descriptionOfCurrentTab="Set your alarm rules",b.$broadcast("alarmUserGroup.configuration.show");break;case d.menu.HELP:e.send(e.CONST.MAIN,e.CONST.CLK_HELP),f.css("background-color","#FFF"),b.descriptionOfCurrentTab=""}},b.$on("configuration.show",function(){e.send(e.CONST.MAIN,e.CONST.CLK_CONFIGURATION),c.modal("show")})}])}(jQuery),function(a){"use strict";pinpointApp.controller("HelpCtrl",["$scope","$element",function(a,b){a.enHelpList=[{title:"Quick start guide",link:"https://github.com/naver/pinpoint/blob/master/quickstart/README.md"},{title:"Technical Overview of Pinpoint",link:"https://github.com/naver/pinpoint/wiki/Technical-Overview-Of-Pinpoint"},{title:"Using Pinpont with Docker",link:"http://yous.be/2015/05/05/using-pinpoint-with-docker/"},{title:"Notes on Jetty Plugin for Pinpoint ",link:"https://github.com/cijung/Docs/blob/master/JettyPluginNotes.md"},{title:"About Alarm",link:"https://github.com/naver/pinpoint/blob/master/doc/alarm.md#alarm"}],a.koHelpList=[{title:"Pinpoint 개발자가 작성한 Pinpoint 기술문서",link:"http://helloworld.naver.com/helloworld/1194202"},{title:"소개 및 설치 가이드",link:"http://dev2.prompt.co.kr/33"},{title:"Pinpoint 사용 경험",link:"http://www.barney.pe.kr/blog/category/development/page/2/"},{title:"설치 가이드 동영상 강좌 1",link:"https://www.youtube.com/watch?v=hrvKaEaDEGs"},{title:"설치 가이드 동영상 강좌 2",link:"https://www.youtube.com/watch?v=fliKPGHGXK4"},{title:"AWS Ubuntu 14.04 설치 가이드 ",link:"http://lky1001.tistory.com/132"},{title:"Alarm 가이드",link:"https://github.com/naver/pinpoint/blob/master/doc/alarm.md#alarm-1"}]}])}(jQuery),function(a){"use strict";pinpointApp.constant("GeneralConfig",{
-menu:{GENERAL:"general",ALRAM:"alram"}}),pinpointApp.controller("GeneralCtrl",["GeneralConfig","$scope","$rootScope","$element","$document","PreferenceService","AnalyticsService","helpContentService",function(a,b,c,d,e,f,g,h){function i(a){g.send(g.CONST.MAIN,g.CONST.CLK_GENERAL_SET_FAVORITE),f.addFavorite(a),b.$apply(function(){b.favoriteList=f.getFavoriteList(),c.$broadcast("navbarDirective.changedFavorite")})}function j(a){if(!a.id)return a.text;var b=a.text.split("@");if(b.length>1){var c=e.get(0).createElement("img");return c.src="/images/icons/"+b[1]+".png",c.style.height="25px",c.style.paddingRight="3px",c.outerHTML+b[0]}return a.text}function k(){var a=!1;l.select2({placeholder:"Select an application.",searchInputPlaceholder:"Input your application name.",allowClear:!1,formatResult:j,formatSelection:j,escapeMarkup:function(a){return a}}).on("select2-selecting",function(b){a=!0}).on("select2-close",function(b){a===!0&&setTimeout(function(){i(l.select2("val"))},0),a=!1})}d.find("span.general-warning").html(h.configuration.general.warning),d.find("div.favorite-empty").html(h.configuration.general.empty),b.$on("general.configuration.show",function(){}),b.depthList=f.getDepthList(),b.periodTypes=f.getPeriodTypes(),b.caller=f.getCaller(),b.callee=f.getCallee(),b.period=f.getPeriod(),b.favoriteList=f.getFavoriteList(),b.changeCaller=function(){g.send(g.CONST.MAIN,g.CONST.CLK_GENERAL_SET_DEPTH,b.caller),f.setCaller(b.caller)},b.changeCallee=function(){g.send(g.CONST.MAIN,g.CONST.CLK_GENERAL_SET_DEPTH,b.callee),f.setCallee(b.callee)},b.changePeriod=function(){g.send(g.CONST.MAIN,g.CONST.CLK_GENERAL_SET_PERIOD,b.period),f.setPeriod(b.period)},b.removeFavorite=function(a){g.send(g.CONST.MAIN,g.CONST.CLK_GENERAL_SET_FAVORITE),f.removeFavorite(a),b.favoriteList=f.getFavoriteList(),c.$broadcast("navbarDirective.changedFavorite")};var l=d.find(".applicationList");b.$on("configuration.general.applications.set",function(a,c){b.applications=c,k()})}])}(jQuery),function(a){"use strict";pinpointApp.directive("alarmUserGroupDirective",["$rootScope","$timeout","helpContentTemplate","helpContentService","AlarmUtilService","AlarmBroadcastService","AnalyticsService","globalConfig",function(b,c,d,e,f,g,h,i){return{restrict:"EA",replace:!0,templateUrl:"features/configuration/alarm/alarmUserGroup.html?v="+G_BUILD_TIME,scope:!0,link:function(b,d){function e(c){""!==r&&a("#"+b.prefix+r).removeClass("selected"),a("#"+b.prefix+c).addClass("selected"),r=c}function j(){f.unsetFilterBackground(x),B.val("")}function k(a){f.showLoading(z,!1),p(f.extractID(a),a.find("span.contents").html())}function l(a){a.find("span.right").remove().end().find("span.remove").show().end().removeClass("remove"),t=!1}function m(a){t!==!0&&(e(f.extractID(a)),g.sendReloadWithUserGroupID(a.find("span.contents").html()))}function n(a){f.sendCRUD("createUserGroup",{id:a},function(b){v.push({number:b.number,id:a}),i.userId?g.sendInit(a,{userId:i.userId,name:i.userName,department:i.userDepartment}):g.sendInit(a),c(function(){e(b.number)}),f.setTotal(y,v.length),f.hide(z,C)},function(a){},A)}function o(a,b){f.sendCRUD("updateUserGroup",{number:a,id:b},function(c){for(var d=0;d0?(c(function(){e(v[0].number)}),g.sendReloadWithUserGroupID(v[0].id)):g.sendSelectionEmpty()}),f.setTotal(y,v.length),f.hide(z),t=!1},function(a){},A)}function q(a,d){f.sendCRUD("getUserGroupList",angular.isUndefined(d)||""===d?{userId:i.userId||""}:{userGroupId:d},function(d){u=!0,v=b.userGroupList=d,f.setTotal(y,v.length),f.hide(z),v.length>0&&(a&&(g.sendInit(v[0].id),r=v[0].number),c(function(){e(r)})),i.userId&&g.sendLoadPinpointUser(i.userDepartment)},function(a){},A)}b.prefix="alarmUserGroup_";var r="",s=!0,t=!1,u=!1,v=b.userGroupList=[],w=d,x=w.find(".wrapper"),y=w.find(".total"),z=w.find(".some-loading"),A=w.find(".some-alert"),B=w.find("div.filter-input input"),C=(w.find("div.filter-input button.trash"),w.find(".some-edit-content")),D=C.find("input"),E=C.find(".title-message"),F=a(['','','',""].join("")),G=w.find(".some-list-content ul");G.on("click",function(c){var d=a(c.toElement||c.target),e=d.get(0).tagName.toLowerCase(),f=d.parents("li");if("button"===e)d.hasClass("edit")?b.onUpdate(c):d.hasClass("confirm-remove")?k(f):d.hasClass("confirm-cancel")&&revmoeCancel(f);else if("span"===e)if(d.hasClass("remove")){if(t===!0)return;t=!0,f.addClass("remove").find("span.remove").hide().end().append(F)}else d.hasClass("contents")?m(f):d.hasClass("glyphicon-edit")?b.onUpdate(c):d.hasClass("glyphicon-remove")?l(f):d.hasClass("glyphicon-ok")&&k(f);else"li"===e&&m(d)}),b.onRefresh=function(){t!==!0&&(h.send(h.CONST.MAIN,h.CONST.CLK_ALARM_REFRESH_USER_GROUP),j(),f.showLoading(z,!1),q(!1,a.trim(B.val())))},b.onCreate=function(){t!==!0&&(s=!0,E.html("Create new alarm group"),D.val(""),f.show(C),D.focus())},b.onUpdate=function(b){if(t!==!0){s=!1;var c=a(b.toElement||b.target).parents("li"),d=f.extractID(c),e=c.find("span.contents").html();E.html('Input new name of "'+e+'".'),D.val(e).prop("id","updateUserGroup_"+d),f.show(C),D.focus().select()}},b.onSearch=function(){if(t!==!0){var b=a.trim(B.val());if(0!==b.length&&b.length<3)return f.showLoading(z,!1),void f.showAlert(A,"You must enter at least three characters.");h.send(h.CONST.MAIN,h.CONST.CLK_ALARM_FILTER_USER_GROUP),f.showLoading(z,!1),q(!1,b)}},b.onInputEdit=function(a){13==a.keyCode?b.onApplyEdit():27==a.keyCode&&(b.onCancelEdit(),a.stopPropagation())},b.onCancelEdit=function(){f.hide(C)},b.onApplyEdit=function(){var b=a.trim(D.val());return""===b?(f.showLoading(z,!0),void f.showAlert(A,"Input group id.")):(f.showLoading(z,!0),f.hasDuplicateItem(v,function(a){return a.id==b})&&s===!0?void f.showAlert(A,"Exist a same group name in the lists."):void(s?(h.send(h.CONST.MAIN,h.CONST.CLK_ALARM_CREATE_USER_GROUP),n(b)):o(f.extractID(D),b)))},b.onCloseAlert=function(){f.closeAlert(A,z)},b.$on("alarmUserGroup.configuration.show",function(){u===!1&&q(!0)})}}}])}(jQuery),function(a){"use strict";pinpointApp.directive("alarmGroupMemberDirective",["$rootScope","$timeout","helpContentTemplate","helpContentService","AlarmUtilService","AlarmBroadcastService","AnalyticsService",function(b,c,d,e,f,g,h){return{restrict:"EA",replace:!0,templateUrl:"features/configuration/alarm/alarmGroupMember.html?v="+G_BUILD_TIME,scope:!0,link:function(b,c){function d(a){f.showLoading(t,!1),m(f.extractID(a))}function e(a){a.find("span.right").remove().end().find("span.remove").show().end().removeClass("remove"),A=!1}function i(a){var c=0;if(b.groupMemberList!=B)for(c=0;c0}function p(){return""===y?(f.showLoading(t,!1),f.showAlert(u,"Not selected User Group.",!0),!1):!0}var q=a(c),r=q.find(".wrapper"),s=q.find(".total"),t=q.find(".some-loading"),u=q.find(".some-alert"),v=q.find("div.filter-input input"),w=q.find("div.filter-input button.trash"),x=a(['','','',""].join("")),y="",z=!1,A=!1,B=b.groupMemberList=[],C=q.find(".some-list-content ul");C.on("click",function(b){var c=a(b.toElement||b.target),f=c.get(0).tagName.toLowerCase(),g=c.parents("li");if("button"==f)c.hasClass("confirm-cancel")?e(g):c.hasClass("confirm-remove")&&d(g);else if("span"==f)if(c.hasClass("remove")){if(A===!0)return;A=!0,g.addClass("remove").find("span.remove").hide().end().append(x)}else c.hasClass("glyphicon-remove")?e(g):c.hasClass("glyphicon-ok")&&d(g)}),b.prefix="alarmGroupMember_",b.onRefresh=function(){A!==!0&&p()!==!1&&(h.send(h.CONST.MAIN,h.CONST.CLK_ALARM_REFRESH_USER),v.val(""),f.showLoading(t,!1),n())},b.onInputFilter=function(c){return A!==!0?13==c.keyCode?void b.onFilterGroup():void(a.trim(v.val()).length>=3?w.removeClass("disabled"):w.addClass("disabled")):void 0},b.onFilterGroup=function(){if(A!==!0&&p()!==!1){var c=a.trim(v.val());if(0!==c.length&&c.length<3)return f.showLoading(t,!1),void f.showAlert(u,"You must enter at least three characters.");if(h.send(h.CONST.MAIN,h.CONST.CLK_ALARM_FILTER_USER),""===c)b.groupMemberList.length!=B.length&&(b.groupMemberList=B,f.unsetFilterBackground(r)),w.addClass("disabled");else{for(var d=[],e=(B.length,0);ed;d++)if(I[d].userId==a){b=I[d];break}return b}function l(a,c,d,e,g){var h={userId:a,name:c,department:d,phoneNumber:e,email:g};f.sendCRUD("createPinpointUser",h,function(a){f.hide(t,x),v.val("userName"),w.val(c),b.onSearch()},function(a){},u)}function m(a,b,c,d,e){var h={userId:a,name:b,department:c,phoneNumber:d,email:e};f.sendCRUD("updatePinpointUser",h,function(i){for(var j=0;j()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;return b.test(a)}function q(a){var b=/^\d+$/;return b.test(a)}var r=a(c),s=(r.find(".some-list-header button"),r.find(".wrapper"),r.find(".empty-list"),r.find(".total")),t=r.find(".some-loading"),u=r.find(".some-alert"),v=r.find("select"),w=r.find("div.filter-input input"),x=r.find(".some-edit-content"),y=x.find("input[name=userID]"),z=x.find("input[name=name]"),A=x.find("input[name=department]"),B=x.find("input[name=phone]"),C=x.find("input[name=email]"),D=x.find(".title-message"),E=a(['','','',""].join("")),F=!1,G=!0,H=!1,I=b.pinpointUserList=[],J=r.find(".some-list-content ul");J.on("click",function(c){var f=a(c.toElement||c.target),g=f.get(0).tagName.toLowerCase(),h=f.parents("li");if("button"==g)f.hasClass("confirm-cancel")?j(h):f.hasClass("confirm-cancel")?e(h):f.hasClass("move")?d(h):f.hasClass("edit-user")&&b.onUpdate(c);else if("span"==g)if(f.hasClass("remove")){if(H===!0)return;H=!0,h.addClass("remove").find("span.remove").hide().end().find("button.move").addClass("disabled").end().append(E)}else f.hasClass("contents")||(f.hasClass("glyphicon-edit")?b.onUpdate(c):f.hasClass("glyphicon-remove")?j(h):f.hasClass("glyphicon-ok")?e(h):f.hasClass("glyphicon-chevron-left")&&d(h))}),b.isAllowedCreate=i.editUserInfo,b.onCreate=function(){H!==!0&&(G=!0,D.html("Create new pinpoint user"),y.prop("disabled",""),y.val(""),z.val(""),A.val(""),B.val(""),C.val(""),f.show(x),y.focus())},b.onUpdate=function(b){if(H!==!0){G=!1;var c=a(b.toElement||b.target).parents("li"),d=k(f.extractID(c));D.html("Update pinpoint user data."),y.prop("disabled","disabled"),y.val(d.userId),z.val(d.name),A.val(d.department),B.val(d.phoneNumber),C.val(d.email),f.show(x),z.focus().select()}},b.onInputSearch=function(a){return H!==!0&&13==a.keyCode?void b.onSearch():void 0},b.onSearch=function(){if(H!==!0){var b=v.val(),c=a.trim(w.val());if(0!==c.length&&c.length<3)return f.showLoading(t,!1),void f.showAlert(u,"You must enter at least three characters.");h.send(h.CONST.MAIN,h.CONST.CLK_ALARM_FILTER_PINPOINT_USER),f.showLoading(t,!1);var d={};d[b]=c,o(d)}},b.onInputEdit=function(a){13==a.keyCode?b.onApplyEdit():27==a.keyCode&&(b.onCancelEdit(),a.stopPropagation())},b.onCancelEdit=function(){f.hide(x)},b.onApplyEdit=function(){var b=a.trim(y.val()),c=a.trim(z.val()),d=a.trim(A.val()),e=a.trim(B.val()),g=a.trim(C.val());return""===b||""===c?(f.showLoading(t,!0),void f.showAlert(u,"You must input user id and user name.")):(f.showLoading(t,!0),f.hasDuplicateItem(I,function(a){return a.userId==b})&&G===!0?void f.showAlert(u,"Exist a same user id in the lists."):q(e)===!1?void f.showAlert(u,"You can only input numbers."):p(g)===!1?void f.showAlert(u,"Invalid email format."):void(G?(h.send(h.CONST.MAIN,h.CONST.CLK_ALARM_CREATE_PINPOINT_USER),l(b,c,d,e,g)):m(b,c,d,e,g)))},b.onCloseAlert=function(){f.closeAlert(u,t)},b.$on("alarmPinpointUser.configuration.load",function(a,b){F===!1&&o(""===b?{}:{department:b})}),b.$on("alarmPinpointUser.configuration.addUserCallback",function(a){f.hide(t)})}}}])}(jQuery),function(a){"use strict";pinpointApp.directive("alarmRuleDirective",["$rootScope","$document","$timeout","AlarmUtilService","AnalyticsService","TooltipService",function(b,c,d,e,f,g){return{restrict:"EA",replace:!0,templateUrl:"features/configuration/alarm/alarmRule.html?v="+G_BUILD_TIME,scope:!0,link:function(b,h){function i(){O===!0&&u.find("tr.remove").each(function(){k(a(this))}),b.onCancelEdit(),e.unsetFilterBackground(v),z.val(""),A.val("")}function j(a){e.showLoading(x,!1),r(e.extractID(a))}function k(a){a.removeClass("remove").find("span.removeTemplate").remove().end().find("span.remove").show().end().find("td").removeClass("remove"),O=!1}function l(){a('[data-toggle="alarm-popover"]').popover()}function m(a){if(!a.id)return a.text;var b=a.text.split("@");if(b.length>1){var d=c.get(0).createElement("img");return d.src="/images/icons/"+b[1]+".png",d.style.height="25px",d.style.paddingRight="3px",d.outerHTML+b[0]}return a.text}function n(){D.select2({placeholder:"Select an application.",searchInputPlaceholder:"Input your application name.",allowClear:!1,formatResult:m,formatSelection:m,escapeMarkup:function(a){return a}}).on("change",function(a){}),E.select2({searchInputPlaceholder:"Input your rule name.",placeholder:"Select an rule.",allowClear:!1,formatResult:m,formatSelection:m,escapeMarkup:function(a){return a}}).on("change",function(a){})}function o(a){for(var b,c=P.length,d=0;c>d;d++)if(P[d].ruleId==a){b=P[d];break}return b}function p(a,b,c,f,g,h,i){var j={applicationId:a,serviceType:b,userGroupId:L,checkerName:c,threshold:f,smsSend:g,emailSend:h,notes:i};e.sendCRUD("createRule",j,function(a){j.ruleId=a.ruleId,P.push(j),e.setTotal(w,P.length),d(function(){l()}),e.hide(x,C)},function(a){},y)}function q(a,b,c,f,g,h,i,j){var k={ruleId:a,applicationId:b,serviceType:c,userGroupId:L,checkerName:f,threshold:parseInt(g,10),smsSend:h,emailSend:i,notes:j};e.sendCRUD("updateRule",k,function(k){for(var m=0;m1||e.sendCRUD("getRuleSet",{},function(a){for(var c=0;c','','',""].join("")),L="",M=!1,N=!0,O=!1,P=b.ruleList=[],Q=u.find(".some-list-content .wrapper tbody");Q.on("click",function(c){var d=a(c.toElement||c.target),e=d.get(0).tagName.toLowerCase(),f=d.parents("tr");if("button"==e)d.hasClass("edit")?b.onUpdate(c):d.hasClass("confirm-remove")?j(f):d.hasClass("confirm-cancel")&&k(f);else if("span"==e)if(d.hasClass("remove")){if(O===!0)return;O=!0,f.addClass("remove").find("td:last-child").addClass("remove").find("span.remove").hide().end().append(K)}else d.hasClass("glyphicon-edit")?b.onUpdate(c):d.hasClass("glyphicon-remove")?k(f):d.hasClass("glyphicon-ok")&&j(f)}),g.init("alarmRules"),b.ruleSets=[{text:""}],b.onRefresh=function(){O!==!0&&(f.send(f.CONST.MAIN,f.CONST.CLK_ALARM_REFRESH_RULE),i(),e.showLoading(x,!1),s(!1))},b.onCreate=function(){O!==!0&&(N=!0,J.html("Create new pinpoint user"),D.select2("val",""),E.select2("val",""),F.val("0"),G.prop("checked",""),H.prop("checked",""),I.val(""),e.show(C))},b.onUpdate=function(b){if(O!==!0){N=!1;var c=a(b.toElement||b.target).parents("tr"),d=e.extractID(c),f=o(d);J.html("Update rule data."),D.select2("val",f.applicationId+"@"+f.serviceType).parent().prop("id","updateRule_"+d),E.select2("val",f.checkerName),F.val(f.threshold),G.prop("checked",f.smsSend),H.prop("checked",f.emailSend),I.val(f.notes),e.show(C)}},b.onInputFilter=function(c){return O!==!0?13==c.keyCode?void b.onFilterGroup():void(a.trim(z.val()).length>=3||a.trim(A.val()).length?B.removeClass("disabled"):B.addClass("disabled")):void 0},b.onFilterGroup=function(){if(O!==!0){var c=a.trim(z.val()),d=a.trim(A.val());if(0!==c.length&&c.length<3||0!==d.length&&d.length<3)return e.showLoading(x,!1),void e.showAlert(y,"You must enter at least three characters.");if(f.send(f.CONST.MAIN,f.CONST.CLK_ALARM_FILTER_RULE),""===c&&""===d)b.ruleList.length!=P.length&&(b.ruleList=P,e.unsetFilterBackground(v)),B.addClass("disabled");else{for(var g=[],h=(P.length,0);h',chartDirective:Handlebars.compile('')},css:{borderWidth:2,height:180,navbarHeight:70,titleHeight:30},sumChart:{width:260,height:120},otherChart:{width:120,height:60},"const":{MIN_Y:10}}),pinpointApp.controller("RealtimeChartCtrl",["RealtimeChartCtrlConfig","$scope","$element","$rootScope","$compile","$timeout","$window","globalConfig","$location","RealtimeWebsocketService","AnalyticsService","TooltipService",function(b,c,d,e,f,g,h,i,j,k,l,m){function n(){p("sum")===!1&&(Q.append(f(b.template.chartDirective({width:b.sumChart.width,height:b.sumChart.height,namespace:"sum",chartColor:"sumChartColor",xAxisCount:O,showExtraInfo:"true",timeoutMaxCount:N}))(c)),$.sum=-1)}function o(){angular.isDefined($.sum)?($={},$.sum=-1):$={}}function p(a){return angular.isDefined($[a])}function q(d){var e=a(b.template.agentChart).append(f(b.template.chartDirective({width:b.otherChart.width,height:b.otherChart.height,namespace:Z.length,chartColor:"agentChartColor",xAxisCount:O,showExtraInfo:"false",timeoutMaxCount:N}))(c));T.append(e),w(d,Z.length),Z.push(e)}function r(){var a=k.open({onopen:function(a){D()},onmessage:function(a){s(a)},onclose:function(a){c.$apply(function(){H()})},ondelay:function(){k.close()},retry:function(){c.retryConnection()}});a&&n()}function s(a){switch(U.hide(),a[b.keys.TYPE]){case b.values.PING:k.send(fa);break;case b.values.RESPONSE:var c=a[b.keys.RESULT];if(c[b.keys.APPLICATION_NAME]!==Y)return;var d=c[b.keys.ACTIVE_THREAD_COUNTS],e=A(d);B(e),t(d,e,c[b.keys.TIME_STAMP])}}function t(a,d,e){var f=Math.max(C(),b["const"].MIN_Y),g=0,h=!0;for(var i in a)v(i,g),a[i][b.keys.CODE]===P?(h=!1,c.$broadcast("realtimeChartDirective.onData."+$[i],a[i][b.keys.STATUS],e,f,h)):c.$broadcast("realtimeChartDirective.onError."+$[i],a[i],e,f),y(g),g++;c.$broadcast("realtimeChartDirective.onData.sum",d,e,f,h),S.html(g)}function u(a){return ga[b.keys.PARAMETERS][b.keys.APPLICATION_NAME]=a,JSON.stringify(ga)}function v(a,b){p(a)===!1&&(x(b)?w(a,b):q(a)),z(b,a)}function w(a,b){$[a]=b}function x(a){return Z.length>a}function y(a){Z[a].show()}function z(a,b){Z[a].find("div").html(b)}function A(a){var c=[0,0,0,0];for(var d in a)a[d][b.keys.CODE]===P&&jQuery.each(a[d][b.keys.STATUS],function(a,b){c[a]+=b});return c}function B(a){_.push(a.reduce(function(a,b){return a+b})),_.length>O&&_.shift()}function C(){return d3.max(_,function(a){return a})}function D(){k.send(u(Y))}function E(){k.isOpened()===!1?r():D(),da=!0}function F(){da=!1,k.stopReceive(u(""))}function G(){e.$broadcast("realtimeChartDirective.clear.sum"),a.each(Z,function(a,b){e.$broadcast("realtimeChartDirective.clear."+a),b.hide()})}function H(){U.css("background-color","rgba(200, 200, 200, 0.9)"),U.find("h4").css("color","red").html("Closed connection.
Select node again."),U.find("button").show(),U.show()}function I(){U.css("background-color","rgba(138, 171, 136, 0.5)"),U.find("h4").css("color","blue").html("Waiting Connection..."),U.find("button").hide(),U.show()}function J(){d.animate({bottom:-ea,left:0},500,function(){V.removeClass("glyphicon-chevron-down").addClass("glyphicon-chevron-up")})}function K(){d.animate({bottom:0,left:0},500,function(){V.removeClass("glyphicon-chevron-up").addClass("glyphicon-chevron-down")})}function L(){d.innerWidth(d.parent().width()-b.css.borderWidth+"px")}function M(){W.css("color",aa?"red":"")}d=a(d);var N=10,O=10,P=0,Q=d.find("div.agent-sum-chart"),R=d.find("div.agent-sum-chart div:first-child span:first-child"),S=d.find("div.agent-sum-chart div:first-child span:last-child"),T=d.find("div.agent-chart-list"),U=d.find(".connection-message"),V=d.find(".handle .glyphicon"),W=d.find(".glyphicon-pushpin"),X="",Y="",Z=[],$={},_=[0],aa=!0,ba=!1,ca=!1,da=!0,ea=b.css.height,fa=function(){var a={};return a[b.keys.TYPE]=b.values.PONG,JSON.stringify(a)}(),ga=function(){var a={};return a[b.keys.TYPE]=b.values.REQUEST,a[b.keys.COMMAND]=b.values.ACTIVE_THREAD_COUNT,a[b.keys.PARAMETERS]={},a}(),ha=null;m.init("realtime"),c.sumChartColor=["rgba(44, 160, 44, 1)","rgba(60, 129, 250, 1)","rgba(248, 199, 49, 1)","rgba(246, 145, 36, 1)"],c.agentChartColor=["rgba(44, 160, 44, .8)","rgba(60, 129, 250, .8)","rgba(248, 199, 49, .8)","rgba(246, 145, 36, .8)"],c.requestLabelNames=["1s","3s","5s","Slow"],c.bInitialized=!1,U.hide(),R.html(""),S.html("0"),a(document).on("visibilitychange",function(){switch(document.visibilityState){case"hidden":ha=g(function(){k.close(),ha=null},6e4);break;case"visible":null!==ha?g.cancel(ha):c.retryConnection(),ha=null}}),c.$on("realtimeChartController.close",function(){J();var a=da;c.closePopup(),da=a,M()}),c.$on("realtimeChartController.initialize",function(a,b,d,e){if((aa!==!0||X!==e)&&/^\/main/.test(j.path())!==!1&&(ba=angular.isUndefined(b)?!1:b,d=angular.isUndefined(d)?"":d,X=e,R.html(Y=d),i.useRealTime!==!1&&da!==!1)){if(ba===!1)return void J();o(),L(),c.bInitialized=!0,K(),c.closePopup(),R.html(Y=d),I(),E(),M()}}),c.retryConnection=function(){I(),E()},c.pin=function(){aa=!aa,M()},c.resizePopup=function(){l.send(l.CONST.MAIN,l.CONST.TG_REALTIME_CHART_RESIZE),ca?(ea=b.css.height,d.css({height:b.css.height+"px",bottom:"0px"}),T.css("height","150px")):(ea=h.innerHeight-b.css.navbarHeight,d.css({height:ea+"px",bottom:"0px"}),T.css("height",ea-b.css.titleHeight+"px")),ca=!ca},c.toggleRealtime=function(){ba!==!1&&(da===!0?(l.send(l.CONST.MAIN,l.CONST.CLK_REALTIME_CHART_HIDE),J(),F(),G(),da=!1):(l.send(l.CONST.MAIN,l.CONST.CLK_REALTIME_CHART_SHOW),K(),I(),E(),da=!0))},c.closePopup=function(){F(),G(),U.hide(),R.html(Y=""),S.html("0")},a(h).on("resize",function(){L()})}])}(jQuery),function(){"use strict";pinpointApp.controller("MainCtrl",["filterConfig","$scope","$timeout","$routeParams","locationService","NavbarVoService","$window","SidebarTitleVoService","filteredMapUtilService","$rootElement","AnalyticsService",function(a,b,c,d,e,f,g,h,i,j,k){k.send(k.CONST.MAIN_PAGE);var l,m,n,o,p,q;b.hasScatter=!1,g.htoScatter={},m=!0,n=!1,b.sidebarLoading=!0,c(function(){l=new f,d.application&&l.setApplication(d.application),d.readablePeriod&&l.setReadablePeriod(d.readablePeriod),d.queryEndDateTime&&l.setQueryEndDateTime(d.queryEndDateTime),l.isRealtime()?b.$broadcast("navbarDirective.initialize.realtime.andReload",l):angular.isDefined(d.application)&&angular.isUndefined(d.readablePeriod)&&angular.isUndefined(d.readablePeriod)?b.$broadcast("navbarDirective.initialize.andReload",l):(g.$routeParams=d,l.autoCalculateByQueryEndDateTimeAndReadablePeriod(),b.$broadcast("navbarDirective.initialize",l),b.$broadcast("scatterDirective.initialize",l),b.$broadcast("serverMapDirective.initialize",l))},500),o=function(){return e.path().split("/")[1]||"main"},p=function(){var a="/"+o()+"/"+l.getApplication()+"/";l.isRealtime()?(a+=l.getPeriodType(),g.$routeParams={application:l.getApplication(),readablePeriod:l.getPeriodType()}):a+=l.getReadablePeriod()+"/"+l.getQueryEndDateTime(),e.path()!==a&&("/main"===e.path()?e.path(a).replace():e.skipReload().path(a).replace(),g.$routeParams={application:l.getApplication(),readablePeriod:l.getReadablePeriod().toString(),queryEndDateTime:l.getQueryEndDateTime().toString()},b.$$phase||b.$apply())},q=function(a,b){var c=i.getFilteredMapUrlWithFilterVo(l,a,b);g.open(c,"")},b.getMainContainerClass=function(){return n?"no-data":""},b.getInfoDetailsClass=function(){var a=[];return b.hasScatter&&a.push("has-scatter"),b.hasFilter&&a.push("has-filter"),a.join(" ")},b.$on("serverMapDirective.hasData",function(a){n=!1,b.sidebarLoading=!1}),b.$on("serverMapDirective.hasNoData",function(a){n=!0,b.sidebarLoading=!1}),b.$on("navbarDirective.changed",function(a,c){n=!1,l=c,p(l),g.htoScatter={},b.hasScatter=!1,b.sidebarLoading=!0,b.$broadcast("sidebarTitleDirective.empty.forMain"),b.$broadcast("nodeInfoDetailsDirective.hide"),b.$broadcast("linkInfoDetailsDirective.hide"),b.$broadcast("scatterDirective.initialize",l),b.$broadcast("serverMapDirective.initialize",l),b.$broadcast("sidebarTitleDirective.empty.forMain")}),b.$on("serverMapDirective.passingTransactionResponseToScatterChart",function(a,c){b.$broadcast("scatterDirective.initializeWithNode",c)}),b.$on("serverMapDirective.nodeClicked",function(a,c,d,e,f,g){m=!0;var i=new h;i.setImageType(e.serviceType),e.isWas===!0?(b.hasScatter=!0,i.setTitle(e.applicationName),b.$broadcast("scatterDirective.initializeWithNode",e)):e.unknownNodeGroup?(i.setTitle(e.serviceType.replace("_"," ")),b.hasScatter=!1):(i.setTitle(e.applicationName),
-b.hasScatter=!1),b.hasFilter=!1,b.$broadcast("sidebarTitleDirective.initialize.forMain",i,e),b.$broadcast("nodeInfoDetailsDirective.initialize",c,d,e,f,l,null,g),b.$broadcast("linkInfoDetailsDirective.hide")}),b.$on("serverMapDirective.linkClicked",function(a,c,d,e,f){m=!1;var g=new h;e.unknownLinkGroup?g.setImageType(e.sourceInfo.serviceType).setTitle("Unknown Group from "+e.sourceInfo.applicationName):g.setImageType(e.sourceInfo.serviceType).setTitle(e.sourceInfo.applicationName).setImageType2(e.targetInfo.serviceType).setTitle2(e.targetInfo.applicationName),b.hasScatter=!1;var j=i.findFilterInNavbarVo(e.sourceInfo.applicationName,e.sourceInfo.serviceType,e.targetInfo.applicationName,e.targetInfo.serviceType,l);j?(b.hasFilter=!0,b.$broadcast("filterInformationDirective.initialize.forMain",j.oServerMapFilterVoService)):b.hasFilter=!1,b.$broadcast("sidebarTitleDirective.initialize.forMain",g),b.$broadcast("nodeInfoDetailsDirective.hide"),b.$broadcast("linkInfoDetailsDirective.initialize",c,d,e,f,l)}),b.$on("serverMapDirective.openFilteredMap",function(a,b,c){q(b,c)}),b.$on("linkInfoDetailsDirective.openFilteredMap",function(a,b,c){q(b,c)}),b.$on("linkInfoDetailsDirective.openFilterWizard",function(a,c,d){b.$broadcast("serverMapDirective.openFilterWizard",c,d)}),b.$on("linkInfoDetailsDirective.ResponseSummary.barClicked",function(a,b){q(b)}),b.$on("linkInfoDetailsDirective.showDetailInformationClicked",function(a,c,d){b.hasScatter=!1;var e=new h;e.setImageType(d.sourceInfo.serviceType).setTitle(d.sourceInfo.applicationName).setImageType2(d.targetInfo.serviceType).setTitle2(d.targetInfo.applicationName),b.$broadcast("sidebarTitleDirective.initialize.forMain",e),b.$broadcast("nodeInfoDetailsDirective.hide")}),b.$on("nodeInfoDetailDirective.showDetailInformationClicked",function(a,c,d){b.hasScatter=!1;var e=new h;e.setImageType(d.serviceType),d.unknownNodeGroup?(e.setTitle(d.serviceType.replace("_"," ")),b.hasScatter=!1):(e.setTitle(d.applicationName),b.hasScatter=!1),b.$broadcast("sidebarTitleDirective.initialize.forMain",e),b.$broadcast("linkInfoDetailsDirective.hide")}),b.loadingOption={hideTip:"init"},b.$watch("loadingOption.hideTip",function(a){if("init"!=a&&g.localStorage){var b=new Date;b.setDate(b.getDate()+30),g.localStorage.setItem("__HIDE_LOADING_TIP",a?b.valueOf():"-")}})}])}(),function(){"use strict";pinpointApp.controller("InspectorCtrl",["$scope","$timeout","$routeParams","locationService","NavbarVoService","AnalyticsService",function(a,b,c,d,e,f){f.send(f.CONST.INSPECTOR_PAGE);var g,h,i,j,k,l;b(function(){g=new e,c.application&&g.setApplication(c.application),c.readablePeriod&&g.setReadablePeriod(c.readablePeriod),c.queryEndDateTime&&g.setQueryEndDateTime(c.queryEndDateTime),c.agentId&&g.setAgentId(c.agentId),g.autoCalculateByQueryEndDateTimeAndReadablePeriod(),a.$emit("navbarDirective.initializeWithStaticApplication",g),a.$emit("agentListDirective.initialize",g)},500),a.$on("navbarDirective.changed",function(a,b){g=b,j()}),a.$on("agentListDirective.agentChanged",function(b,c){h=c,g.setAgentId(c.agentId),l()&&j(),h&&a.$emit("agentInfoDirective.initialize",g,h)}),i=function(){var a=d.path().split("/");return a[1]||"inspector"},j=function(){var b=k();l()&&("/inspector"===d.path()||d.skipReload().path(b).replace(),a.$emit("navbarDirective.initializeWithStaticApplication",g),a.$emit("agentListDirective.initialize",g))},k=function(){var a="/"+i()+"/"+g.getApplication()+"/"+g.getReadablePeriod()+"/"+g.getQueryEndDateTime();return g.getAgentId()&&(a+="/"+g.getAgentId()),a},l=function(){var a=k();return d.path()!==a}}])}(),function(){"use strict";pinpointApp.constant("TransactionListConfig",{applicationUrl:"/transactionmetadata.pinpoint",MAX_FETCH_BLOCK_SIZE:100}),pinpointApp.controller("TransactionListCtrl",["TransactionListConfig","$scope","$location","$routeParams","$rootScope","$timeout","$window","$http","webStorage","TimeSliderVoService","TransactionDaoService","AnalyticsService","helpContentService",function(a,b,c,d,e,f,g,h,i,j,k,l,m){l.send(l.CONST.TRANSACTION_LIST_PAGE);var n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H;f(function(){n=1,o=0,b.transactionDetailUrl="index.html#/transactionDetail",b.sidebarLoading=!0;var a=E(),c=F(),e=!angular.isUndefined(d.transactionInfo);if(e){var h=d.transactionInfo.lastIndexOf("-"),i=d.transactionInfo.lastIndexOf("-",h-1);s=[d.transactionInfo.substring(0,i),d.transactionInfo.substring(i+1,h),d.transactionInfo.substring(h+1)]}a&&c?(p=A(g.name),B(p.applicationName)?(q=C(p),G(e)):H(m.transactionList.openError.noData.replace(/\{\{application\}\}/,p.applicationName))):e===!1?H(m.transactionList.openError.noParent):(p=D(),q=[[s[1],s[2],s[0]]],G(e)),f(function(){$("#main-container").layout({north__minSize:20,north__size:(window.innerHeight-40)/2,center__maskContents:!0})},100)},100),H=function(a){alert(a),g.location.replace(g.location.href.replace("transactionList","main"))},G=function(a){r=new j,r.setTotal(q.length),t(a)},E=function(){return angular.isDefined(g.opener)},F=function(){if(angular.isUndefined(g.opener)||null===g.opener)return!1;var a=g.opener.$routeParams;if(angular.isDefined(d)&&angular.isDefined(a))if("realtime"===a.readablePeriod){if(angular.equals(d.application,a.application))return!0}else if(angular.equals(d.application,a.application)&&angular.equals(d.readablePeriod,a.readablePeriod)&&angular.equals(d.queryEndDateTime,a.queryEndDateTime))return!0;return!1},A=function(a){var b=a.split("|");return 4===b.length?{applicationName:b[0],type:b[1],min:b[2],max:b[3]}:{applicationName:b[0],nXFrom:b[1],nXTo:b[2],nYFrom:b[3],nYTo:b[4]}},D=function(){return{applicationName:d.application.split("@")[0],nXFrom:parseInt(s[1])-1e3,nXTo:parseInt(s[1])+1e3,nYFrom:0,nYTo:0}},B=function(a){return angular.isDefined(g.opener.htoScatter[a])},C=function(a){var b=g.opener.htoScatter[a.applicationName];return a.type?b.getDataByRange(a.type,a.min,a.max):b.getDataByXY(a.nXFrom,a.nXTo,a.nYFrom,a.nYTo)},w=function(a){b.$emit("transactionTableDirective.appendTransactionList",a.metadata)},x=function(){if(!q)return g.alert("Query failed - Query parameter cache deleted.\n\nPossibly due to scatter chart being refreshed."),!1;for(var b=[],c=o,d=0;c0&&b.push("&"),b=b.concat(["I",d,"=",q[c][0]]),b=b.concat(["&T",d,"=",q[c][1]]),b=b.concat(["&R",d,"=",q[c][2]]),o++;return n++,b},u=function(){y(x(),function(c){return 0===c.metadata.length?(b.$emit("timeSliderDirective.disableMore"),b.$emit("timeSliderDirective.changeMoreToDone"),!1):(c.metadata.length=3e4?b._sResponseTo="max":b._sResponseTo=a}return b},this.getResponseTo=function(){return b._sResponseTo},this.setIncludeException=function(a){if(!angular.isDefined(a))throw new Error("includeException should be defined in ServerMapFilterVo.");return b._bIncludeException=a,b},this.getIncludeException=function(){return b._bIncludeException},this.setRequestUrlPattern=function(a){return angular.isString(a)&&(b._sRequestUrlPattern=a),b},this.getRequestUrlPattern=function(){return b._sRequestUrlPattern},this.toJson=function(){var a={fa:b._sFromApplication,fst:b._sFromServiceType,ta:b._sToApplication,tst:b._sToServiceType,ie:b._bIncludeException};return 0===b._sResponseFrom&&"max"===b._sResponseTo||(a.rf=b._sResponseFrom,a.rt=b._sResponseTo),b._sRequestUrlPattern&&(a.url=b._sRequestUrlPattern),b._sFromAgentName&&(a.fan=b._sFromAgentName),b._sToAgentName&&(a.tan=b._sToAgentName),a},a&&angular.isObject(a)&&(this.setFromApplication(a.fa).setFromServiceType(a.fst).setToApplication(a.ta).setToServiceType(a.tst).setIncludeException(a.ie),angular.isNumber(a.rf)&&a.rt&&this.setResponseFrom(a.rf).setResponseTo(a.rt),a.url&&this.setRequestUrlPattern(a.url),a.fan&&this.setFromAgentName(a.fan),a.tan&&this.setToAgentName(a.tan))}}])}(),function(a){"use strict";pinpointApp.constant("AlarmAjaxServiceConfig",{group:"/userGroup.pinpoint",groupMember:"/userGroup/member.pinpoint",pinpointUser:"/user.pinpoint",alarmRule:"/alarmRule.pinpoint",alarmRuleSet:"/alarmRule/checker.pinpoint"}),pinpointApp.service("AlarmAjaxService",["AlarmAjaxServiceConfig","$http",function(b,c){function d(a,b,d){c.post(a,b).then(function(a){d(a.data)},function(a){d(a)})}function e(a,b,d){c.put(a,b).then(function(a){d(a.data)},function(a){d(a)})}function f(b,c,d){a.ajax(b,{type:"DELETE",data:JSON.stringify(c),contentType:"application/json"}).done(function(a){d(a)}).fail(function(a){d(a)})}function g(a,b,d){var e="?";for(var f in b)e+=("?"==e?"":"&")+f+"="+b[f];c.get(a+e).then(function(a){d(a.data)},function(a){d(a)})}this.getUserGroupList=function(a,c){g(b.group,a,c)},this.createUserGroup=function(a,c){d(b.group,a,c)},this.updateUserGroup=function(a,c){e(b.group,a,c)},this.removeUserGroup=function(a,c){f(b.group,a,c)},this.addMemberInGroup=function(a,c){d(b.groupMember,a,c)},this.getGroupMemberListInGroup=function(a,c){g(b.groupMember,a,c)},this.removeMemberInGroup=function(a,c){f(b.groupMember,a,c)},this.getPinpointUserList=function(a,c){g(b.pinpointUser,a,c)},this.createPinpointUser=function(a,c){d(b.pinpointUser,a,c)},this.updatePinpointUser=function(a,c){e(b.pinpointUser,a,c)},this.removePinpointUser=function(a,c){f(b.pinpointUser,a,c)},this.getRuleList=function(a,c){g(b.alarmRule,a,c)},this.createRule=function(a,c){d(b.alarmRule,a,c)},this.updateRule=function(a,c){e(b.alarmRule,a,c)},this.removeRule=function(a,c){f(b.alarmRule,a,c)},this.getRuleSet=function(a,c){g(b.alarmRuleSet,a,c)}}])}(jQuery),function(a){"use strict";pinpointApp.constant("AlarmUtilServiceConfig",{hideClass:"hide-me",hasNotEditClass:"has-not-edit"}),pinpointApp.service("AlarmUtilService",["AlarmUtilServiceConfig","AlarmAjaxService",function(a,b){var c=this;this.show=function(b){b.removeClass(a.hideClass)},this.hide=function(){for(var b=0;b0&&(e-=1,i+m>l.offsetWidth+l.scrollLeft||i+j-ml.offsetHeight+l.scrollTop||f+k-m=2?c.substring(0,2):b,{userLocale:c,defaultLocale:b}}])}(),function(){"use strict";var a={configuration:{general:{warning:"(User configuration is stored in browser cache. Server-side storage will be supported in a future release.)",empty:"Favorite list empty"},alarmRules:{mainStyle:"",title:"Alarm Rule Type",desc:"The following types of alarm rules are supported by Pinpoint.",category:[{title:"[Type]",items:[{name:"SLOW COUNT",desc:"Sends an alarm when the number of slow requests sent by the application exceeds the configured threshold."},{name:"SLOW RATE",desc:"Sends an alarm when the percentage(%) of slow requests sent by the application exceeds the configured threshold."},{name:"ERROR COUNT",desc:"Sends an alarm when the number of failed requests sent by the application exceeds the configured threshold."},{name:"ERROR RATE",desc:"Sends an alarm when the percentage(%) of failed requests sent by the application exceeds the configured threshold."},{name:"TOTAL COUNT",desc:"Sends an alarm when the number of all requests sent by the application exceeds the configured threshold."},{name:"SLOW COUNT TO CALLEE",desc:"Sends an alarm when the number of slow responses returned by the application exceeds the configured threshold."},{name:"SLOW RATE TO CALLEE",desc:"Sends an alarm when the percentage(%) of slow responses returned by the application exceeds the configured threshold."},{name:"ERROR COUNT TO CALLEE",desc:"Sends an alarm when the number of failed responses returned by the application exceeds the configured threshold."},{name:"ERROR RATE TO CALLEE",desc:"Sends an alarm when the percentage(%) of failed responses returned by the application exceeds the configured threshold."},{name:"TOTAL COUNT TO CALLEE",desc:"Sends an alarm when the number of all remote calls sent to the application exceeds the configured threshold."},{name:"HEAP USAGE RATE",desc:"Sends an alarm when the application's heap usage(%) exceeds the configured threshold."},{name:"JVM CPU USAGE RATE",desc:"Sends an alarm when the application's CPU usage(%) exceeds the configured threshold."}]}]}},navbar:{searchPeriod:{guide:"Search duration may not be greater than {{day}} days."},applicationSelector:{mainStyle:"",title:"Application List",desc:"Shows the list of applications with Pinpoint installed.",category:[{title:"[Legend]",items:[{name:"Icon",desc:"Application Type"},{name:"Text",desc:"Application Name. The value set using -Dpinpoint.applicationName when launching Pinpoint agent."}]}]},depth:{mainStyle:"",title:' Inbound 와 Outbound',desc:"Search-depth of server map.",category:[{title:"[범례]",items:[{name:"Inbound",desc:"Number of depth to render for requests coming in to the selected node."},{name:"Outbound",desc:"Number of depth to render for requests going out from the selected node"}]}]},periodSelector:{mainStyle:"",title:"Period Selector",desc:"Selects the time period for querying data.",category:[{title:"[Usage]",items:[{name:"",desc:"Query for data traced during the most recent selected time-period. Auto-refresh is supported for 5m, 10m, 3h time-period."},{name:"",desc:"Query for data traced between the two selected times for a maximum of 48 hours."}]}]}},servermap:{"default":{mainStyle:"width:560px;",title:"Server Map",desc:"Displays a topological view of the distributed server map.",category:[{title:"[Node]",list:["Each node is a logical unit of application.","The value on the top-right corner represents the number of server instances assigned to that application. (Not shown when there is only one such instance)","An alarm icon is displayed on the top-left corner if an error/exception is detected in one of the server instances.","Clicking a node shows information on all incoming transactions on the right-hand side of the screen."]},{title:"[Arrow]",list:["Each arrow represents a transaction flow.","The number shows the transaction count and is displayed in red for transactions with error."," is shown when a filter is applied.","Clicking an arrow shows information on all transactions passing through the selected section on the right-hand side of the screen."]},{title:"[Applying Filter]",list:["Right-clicking on an arrow displays a filter menu.","'Filter' filters the server map to only show transactions that has passed through the selected section.","'Filter Wizard' allows additional filter configurations."]},{title:"[Chart Configuration]",list:["Right-clicking on an empty area displays a chart configuration menu.","Node Setting / Merge Unknown : Groups all agent-less applications into a single node.","Double-clicking on an empty resets the zoom level of the server map."]}]}},realtime:{"default":{mainStyle:"",title:"Realtime Active Thread Chart",desc:"Shows the Active Thread count of each agent in realtime.",category:[{title:"[Error Messages]",items:[{name:"UNSUPPORTED VERSION",desc:"Agent version too old. (Please upgrade the agent to 1.5.0+)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"CLUSTER OPTION NOTSET",desc:"Option disabled by agent. (Please set profiler.pinpoint.activethread to true in profiler.config)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"TIMEOUT",desc:"Agent connection timed out receiving active thread count. Please contact the administrator if problem persists.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"NOT FOUND",desc:"Agent not found. (If you get this message while the agent is running, please set profiler.tcpdatasender.command.accept.enable to true in profiler.config)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"CLUSTER CHANNEL CLOSED",desc:"Agent session expired.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"PINPOINT INTERNAL ERROR",desc:"Pinpoint internal error. Please contact the administrator.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"No Active Thread",desc:"The agent has no threads that are currently active.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"No Response",desc:"No response from Pinpoint Web. Please contact the administrator.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"}]}]}},scatter:{"default":{mainStyle:"",title:"Response Time Scatter Chart",desc:"",category:[{title:"[Legend]",items:[{name:"",desc:"Successful Transaction"},{name:"",desc:"Failed Transaction"},{name:"X-axis",desc:"Transaction Timestamp (hh:mm)"},{name:"Y-axis",desc:"Response Time (ms)"}]},{title:"[Usage]",image:"",items:[{name:"",desc:"Drag on the scatter chart to show detailed information on selected transactions."},{name:"",desc:"Set the min/max value of the Y-axis (Response Time)."},{name:"",desc:"Download the chart as an image file."},{name:"",desc:"Open the chart in a new window."}]}]}},nodeInfoDetails:{responseSummary:{mainStyle:"",title:"Response Summary Chart",desc:"",category:[{title:"[Legend]",items:[{name:"X-Axis",desc:"Response Time"},{name:"Y-Axis",desc:"Transaction Count"},{name:"1s",desc:"No. of Successful transactions (less than 1 second)"},{name:"3s",desc:"No. of Successful transactions (1 ~ 3 seconds)"},{name:"5s",desc:"No. of Successful transactions (3 ~ 5 seconds)"},{name:"Slow",desc:"No. of Successful transactions (greater than 5 seconds)"},{name:"Error",desc:"No. of Failed transactions regardless of response time"}]}]},load:{mainStyle:"",title:"Load Chart",desc:"",category:[{title:"[Legend]",items:[{name:"X-Axis",desc:"Transaction Timestamp (in minutes)"},{name:"Y-Axis",desc:"Transaction Count"},{name:"1s",desc:"No. of Successful transactions (less than 1 second)"},{name:"3s",desc:"No. of Successful transactions (1 ~ 3 seconds)"},{name:"5s",desc:"No. of Successful transactions (3 ~ 5 seconds)"},{name:"Slow",desc:"No. of Successful transactions (greater than 5 seconds)"},{name:"Error",desc:"No. of Failed transactions regardless of response time"}]},{title:"[Usage]",list:["Clicking on a legend item shows/hides all transactions within the selected group.","Dragging on the chart zooms in to the dragged area."]}]},nodeServers:{mainStyle:"width:400px;",title:"Server Information",desc:"List of physical servers and their server instances.",category:[{title:"[Legend]",items:[{name:"",desc:"Hostname of the physical server"},{name:"",desc:"AgentId of the Pinpoint agent installed on the server instance running on the physical server"}]},{title:"[Usage]",items:[{name:"",desc:"Open a new window with detailed information on the WAS with Pinpoint installed."},{name:"",desc:"Display statistics on transactions carried out by the server instance."},{name:"",desc:"Display statistics on transactions (with error) carried out by the server instance."}]}]},unknownList:{mainStyle:"",title:"UnknownList",desc:"From the chart's top-right icon",category:[{title:"[Usage]",items:[{name:"1st",desc:"Toggle between Response Summary Chart / Load Chart"},{name:"2nd",desc:"Show Node Details"}]}]},searchAndOrder:{mainStyle:"",title:"Search and Fliter",desc:"Filter by server name or total count.Clicking Name or Count sorts the list in ascending/descending order."}},linkInfoDetails:{responseSummary:{mainStyle:"",title:"Response Summary Chart",desc:"",category:[{title:"[Legend]",items:[{name:"X-Axis",desc:"Response Time"},{name:"Y-Axis",desc:"Transaction Count"},{name:"1s",desc:"No. of Successful transactions (less than 1 second)"},{name:"3s",desc:"No. of Successful transactions (1 ~ 3 seconds)"},{name:"5s",desc:"No. of Successful transactions (3 ~ 5 seconds)"},{name:"Slow",desc:"No. of Successful transactions (greater than 5 seconds)"},{name:"Error",desc:"No. of Failed transactions regardless of response time"}]},{title:"[Usage]",list:["Click on the bar to query for transactions within the selected response time."]}]},load:{mainStyle:"",title:"Load Chart",desc:"",category:[{title:"[Legend]",items:[{name:"X-Axis",desc:"Transaction Timestamp (in minutes)"},{name:"Y-Axis",desc:"Transaction Count"},{name:"1s",desc:"No. of Successful transactions (less than 1 second)"},{name:"3s",desc:"No. of Successful transactions (1 ~ 3 seconds)"},{name:"5s",desc:"No. of Successful transactions (3 ~ 5 seconds)"},{name:"Slow",desc:"No. of Successful transactions (greater than 5 seconds)"},{name:"Error",desc:"No. of Failed transactions regardless of response time"}]},{title:"[Usage]",list:["Clicking on a legend item shows/hides all transactions within the selected group.","Dragging on the chart zooms in to the dragged area."]}]},linkServers:{mainStyle:"width:350px;",title:"Server Information",desc:"List of physical servers and their server instances.",category:[{title:"[Legend]",items:[{name:"",desc:"Hostname of the physical server"},{name:"",desc:"AgentId of the Pinpoint agent installed on the server instance running on the physical server"}]},{title:"[Usage]",items:[{name:"",desc:"Open a new window with detailed information on the WAS with Pinpoint installed."},{name:"",desc:"Display statistics on transactions carried out by the server instance."},{name:"",desc:"Display statistics on transactions (with error) carried out by the server instance."}]}]},unknownList:{mainStyle:"",title:"UnknownList",desc:"From the chart's top-right icon,",category:[{title:"[Usage]",items:[{name:"1st",desc:"Toggle between Response Summary Chart"},{name:"2dn",desc:"Show Node Details"}]}]},searchAndOrder:{mainStyle:"",title:"Search and Filter",desc:"Filter by server name or total count. Clicking Name or Count sorts the list in ascending/descending order."}},inspector:{list:{mainStyle:"",title:"Agent list",desc:"List of agents registered under the current Application Name",category:[{title:"[Legend]",items:[{name:"",desc:"Hostname of the agent's machine"},{name:"",desc:"Agent-id of the installed agent"},{name:"",desc:"Agent was running at the time of query"},{name:"",desc:"Agent was shutdown at the time of query"},{name:"",desc:"Agent was disconnected at the time of query"},{name:"",desc:"Agent status was unknown at the time of query"}]}]},heap:{mainStyle:"",title:"Heap",desc:"JVM's heap information and full garbage collection times(if any)",category:[{title:"[Legend]",items:[{name:"Max",desc:"Maximum heap size"},{name:"Used",desc:"Heap currently in use"},{name:"FCG",desc:"Full garbage collection duration (number of FGCs in parenthesis if it occurred more than once)"}]}]},permGen:{mainStyle:"",title:"PermGen",desc:"JVM's PermGen information and full garbage collection times(if any)",category:[{title:"[Legend]",items:[{name:"Max",desc:"Maximum heap size"},{name:"Used",desc:"Heap currently in use"},{name:"FCG",desc:"Full garbage collection duration (number of FGCs in parenthesis if it occurred more than once)"}]}]},cpuUsage:{mainStyle:"",title:"Cpu Usage",desc:"JVM/System's CPU Usage - For multi-core CPUs, displays the average CPU usage of all the cores",category:[{title:"[Legend]",items:[{name:"Java 1.6",desc:"Only the JVM's CPU usage is collected"},{name:"Java 1.7+",desc:"Both the JVM's and the system's CPU usage are collected"}]}]},tps:{mainStyle:"",title:"TPS",desc:"Transactions per second received by the server",category:[{title:"[Legend]",items:[{name:"Sampled New (S.N)",desc:"Profiled transactions that started from the current agent"},{name:"Sampled Continuation (S.C)",desc:"Profiled transactions that started from another agent"},{name:"Unsampled New (U.N)",desc:"Unprofiled transactions that started from the current agent"},{name:"Unsampled Continuation (U.C)",desc:"Unprofiled transactions that started from another agent"},{name:"Total",desc:"All transactions"}]}]},wrongApp:["
The agent is currently registered under {{application2}} due to the following: ","1. The agent has moved from {{application1}} to {{application2}} ","2. A different agent with the same agent id has been registered to {{application2}}","For the former case, you should delete the mapping between {{application1}} and {{agentId}}. ","For the latter case, the agent id of the duplicate agent must be changed.
"].join("")},callTree:{column:{mainStyle:"",title:"Call Tree",desc:"",category:[{title:"[Column]",items:[{name:"Gap",desc:"Time elapsed between the start of the previous method and entry of this method"},{name:"Exec",desc:"The overall duration of the method call from method entry until method exit"},{name:"Exec(%)",desc:""},{name:"",desc:"Light blue The execution time of the method call as a percentage of the total execution time of the transaction"},{name:"",desc:"Dark blue A percentage of the self execution time"},{name:"Self",desc:"The time that was used for execution of this method only, excluding time consumed in nested methods call"}]}]}},transactionTable:{log:{}},transactionList:{openError:{noParent:"Scatter data of parent window had been changed.\r\nso can't scan the data any more.",noData:"There is no {{application}} scatter data in parent window."}}};pinpointApp.constant("helpContent-en",a)}(),function(){"use strict";var a={configuration:{general:{warning:"(설정 정보는 브라우저 캐쉬에 저장합니다. 서버 측 저장은 추후 지원 할 예정입니다.)",empty:"등록된 목록이 없습니다."},alarmRules:{mainStyle:"",title:"알람 룰의 종류",desc:"Pinpoint에서 지원하는 Alarm rule의 종류는 아래와 같습니다.",category:[{title:"[항목]",items:[{name:"SLOW COUNT",desc:"application 내에서 외부서버를 호출한 요청 중 slow 호출의 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"SLOW RATE",desc:"application 내에서 외부서버를 호출한 요청 중 slow 호출의 비율(%)이 임계치를 초과한 경우 알람이 전송된다."},{name:"ERROR COUNT",desc:"application 내에서 외부서버를 호출한 요청 중 error 가 발생한 호출의 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"ERROR RATE",desc:"application 내에서 외부서버를 호출한 요청 중 error 가 발생한 호출의 비율이 임계치를 초과한 경우 알람이 전송된다."},{name:"TOTAL COUNT",desc:"application 내에서 외부서버를 호출한 요청의 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"SLOW COUNT TO CALLEE",desc:"외부에서 application을 호출한 요청 중에 외부서버로 응답을 늦게 준 요청의 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"SLOW RATE TO CALLEE",desc:"외부에서 application을 호출한 요청 중에 외부서버로 응답을 늦게 준 요청의 비율(%)이 임계치를 초과한 경우 알람이 전송된다."},{name:"ERROR COUNT TO CALLEE",desc:"외부에서 application을 호출한 요청 중에 에러가 발생한 요청의 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"ERROR RATE TO CALLEE",desc:"외부에서 application을 호출한 요청 중에 에러가 발생한 요청의 비율(%)이 임계치를 초과한 경우 알람이 전송된다."},{name:"TOTAL COUNT TO CALLEE",desc:"외부에서 application을 호출한 요청 개수가 임계치를 초과한 경우 알람이 전송된다."},{name:"HEAP USAGE RATE",desc:"heap의 사용률이 임계치를 초과한 경우 알람이 전송된다."},{name:"JVM CPU USAGE RATE",desc:"applicaiton의 CPU 사용률이 임계치를 초과한 경우 알람이 전송된다."}]}]}},navbar:{searchPeriod:{guide:"한번에 검색 할 수 있는 최대 기간은 {{day}}일 입니다."},applicationSelector:{mainStyle:"",title:"응용프로그램 목록",desc:"핀포인트가 설치된 응용프로그램 목록입니다.",category:[{title:"[범례]",items:[{name:"아이콘",desc:"응용프로그램의 종류"},{name:"텍스트",desc:"응용프로그램의 이름입니다. Pinpoint agent 설정에서 applicationName에 지정한 값입니다."}]}]},depth:{mainStyle:"",title:' Inbound 와 Outbound',desc:"서버맵의 탐색 깊이를 설정합니다.",category:[{title:"[범례]",items:[{name:"Inbound",desc:"선택된 노드를 기준으로 들어오는 탐색깊이"},{name:"Outbound",desc:"선택된 노드를 기준으로 나가는 탐색 깊이"}]}]},periodSelector:{mainStyle:"",title:"조회 시간 설정",desc:"데이터 조회 시간을 선택합니다.",category:[{title:"[범례]",items:[{name:"",desc:"현재 시간을 기준으로 선택한 시간 이전부터 현재시간 사이에 수집된 데이터를 조회합니다. 최근 5m, 10m, 3h조회는 자동 새로고침 기능을 지원합니다."},{name:"",desc:"지정된 시간 사이에 수집된 데이터를 조회합니다. 조회 시간은 분단위로 최대 48시간을 지정할 수 있습니다."}]}]}},servermap:{"default":{mainStyle:"width:560px;",title:"서버맵",desc:"분산된 서버를 도식화 한 지도 입니다.",category:[{title:"[박스]",list:["박스는 응용프로그램 그룹을 나타냅니다.","우측의 숫자는 응용프로그램 그룹에 속한 서버 인스턴스의 개수입니다.(한 개일 때에는 숫자를 보여주지 않습니다.)","좌측 빨간 알람은 임계값을 초과한 모니터링 항목이 있을 때 나타납니다."]},{title:"[화살표]",list:["화살표는 트랜잭션의 흐름을 나타냅니다.","화살표의 숫자는 호출 수 입니다. 임계치 이상의 에러를 포함하면 빨간색으로 보여집니다."," : 필터가 적용되면 아이콘이 표시됩니다."]},{title:"[박스의 기능]",list:["박스를 선택하면 어플리케이션으로 유입된 트랜잭션 정보를 화면 우측에 보여줍니다."]},{title:"[화살표의 기능]",list:["화살표를 선택하여 선택된 구간을 통과하는 트랜잭션의 정보를 화면 우측에 보여줍니다.","Context menu의 Filter는 선택된 구간을 통과하는 트랜잭션만 모아서 보여줍니다.","Filter wizard는 보다 상세한 필터 설정을 할 수 있습니다.","필터가 적용되면 화살표에 아이콘이 표시됩니다."]},{title:"[차트 설정]",list:["비어있는 부분을 마우스 오른쪽 클릭하여 context menu를 열면 차트 설정메뉴가 보입니다.","Node Setting / Merge Unknown : agent가 설치되어있지 않은 응용프로그램을 하나의 박스로 보여줍니다.","비어있는 부분 더블클릭 : 줌을 초기화 합니다."]}]}},realtime:{"default":{mainStyle:"",title:"Realtime Active Thread Chart",desc:"각 Agent의 Active Thread 갯수를 실시간으로 보여줍니다.",category:[{title:"[에러 메시지 설명]",items:[{name:"UNSUPPORTED VERSION",desc:"해당 에이전트의 버전에서는 지원하지 않는 기능입니다. (1.5.0 이상 버전으로 업그레이드하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"CLUSTER OPTION NOTSET",desc:"해당 에이전트의 설정에서 기능이 비활성화되어 있습니다. (pinpoint 설정 파일에서 profiler.pinpoint.activethread 항목을 true로 변경하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"TIMEOUT",desc:"해당 에이전트에서 일시적으로 활성화 된 스레드 개수를 받지 못하였습니다.(오래 지속될 경우 담당자에게 문의하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"NOT FOUND",desc:"해당 에이전트를 찾을 수 없습니다.(에이전트가 활성화 되어 있는 경우에 해당 메시지가 발생한다면 pinpoint 설정 파일에서 profiler.tcpdatasender.command.accept.enable 항목을 true로 변경하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"CLUSTER CHANNEL CLOSED",desc:"해당 에이전트와의 세션이 종료되었습니다.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"PINPOINT INTERNAL ERROR",desc:"핀포인트 내부 에러가 발생하였습니다.(담당자에게 문의하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"
+},{name:"No Active Thread",desc:"현재 해당 에이전트는 활성화된 스레드가 존재하지 않습니다.",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"},{name:"No Response",desc:"핀포인트 웹 서버로부터의 응답을 받지 못하였습니다.(담당자에게 문의하세요.)",nameStyle:"width:120px;border-bottom:1px solid gray",descStyle:"border-bottom:1px solid gray"}]}]}},scatter:{"default":{mainStyle:"",title:"Response Time Scatter Chart",desc:"수집된 트랜잭션의 응답시간 분포도입니다.",category:[{title:"[범례]",items:[{name:"",desc:"에러가 없는 트랜잭션 (Success)"},{name:"",desc:"에러를 포함한 트랜잭션 (Failed)"},{name:"X축",desc:"트랜잭션이 실행된 시간 (시:분)"},{name:"Y축",desc:"트랜잭션의 응답 속도 (ms)"}]},{title:"[기능]",image:"",items:[{name:"",desc:"마우스로 영역을 드래그하여 드래그 된 영역에 속한 트랜잭션의 상세정보를 조회할 수 있습니다."},{name:"",desc:"에러를 포함한 트랜잭션 (Failed)"},{name:"X축",desc:"응답시간(Y축)의 최대 또는 최소값을 변경할 수 있습니다."},{name:"",desc:"차트를 새창으로 크게 보여줍니다."}]}]}},nodeInfoDetails:{responseSummary:{mainStyle:"",title:"Response Summary Chart",desc:"응답결과 요약 입니다.",category:[{title:"[범례]",items:[{name:"X축",desc:"트랜잭션 응답시간 요약 단위"},{name:"Y축",desc:"트랜잭션의 개수"},{name:"1s",desc:"0초 <= 응답시간 < 1초 에 해당하는 성공한 트랜잭션의 수"},{name:"3s",desc:"1초 <= 응답시간 < 3초 에 해당하는 성공한 트랜잭션의 수"},{name:"5s",desc:"3초 <= 응답시간 < 5초 에 해당하는 성공한 트랜잭션의 수"},{name:"Slow",desc:"5초 <= 응답시간 에 해당하는 성공한 트랜잭션의 수"},{name:"Error",desc:"응답시간과 무관하게 실패한 트랜잭션의 수"}]}]},load:{mainStyle:"",title:"Load Chart",desc:"시간별 트랜잭션의 응답 결과입니다.",category:[{title:"[범례]",items:[{name:"X축",desc:"트랜잭션이 실행된 시간 (분단위)"},{name:"Y축",desc:"트랜잭션의 개수"},{name:"1s",desc:"0초 <= 응답시간 < 1초 에 해당하는 성공한 트랜잭션의 수"},{name:"3s",desc:"1초 <= 응답시간 < 3초 에 해당하는 성공한 트랜잭션의 수"},{name:"5s",desc:"3초 <= 응답시간 < 5초 에 해당하는 성공한 트랜잭션의 수"},{name:"Slow",desc:"5초 <= 응답시간 에 해당하는 성공한 트랜잭션의 수"},{name:"Error",desc:"응답시간과 무관하게 실패한 트랜잭션의 수"}]},{title:"[기능]",list:["범례를 클릭하여 해당 응답시간에 속한 트랜잭션을 차트에서 제외하거나 포함 할 수 있습니다.","마우스로 드래그하여 드래그 한 범위를 확대할 수 있습니다."]}]},nodeServers:{mainStyle:"width:400px;",title:"Server Information",desc:"물리서버와 해당 서버에서 동작중인 서버 인스턴스의 정보를 보여줍니다.",category:[{title:"[범례]",items:[{name:"",desc:"물리서버의 호스트이름입니다."},{name:"",desc:"물리서버에 설치된 서버 인스턴스에서 동작중인 Pinpoint의 agentId입니다."}]},{title:"[기능]",items:[{name:"",desc:"Pinpoint가 설치된 WAS의 상세한 정보를 보여줍니다."},{name:"",desc:"해당 인스턴스에서 처리된 트랜잭션 통계를 조회할 수 있습니다."},{name:"",desc:"에러를 발생시킨 트랜잭션이 포함되어있다는 의미입니다."}]}]},unknownList:{mainStyle:"",title:"UnknownList",desc:"차트 오른쪽 상단의 아이콘부터",category:[{title:"[기능]",items:[{name:"첫번째",desc:"Response Summary"},{name:"두번째",desc:"해당 노드 상세보기"}]}]},searchAndOrder:{mainStyle:"",title:"검색과 필터링",desc:"서버 이름과 Count로 검색이 가능합니다.",category:[{title:"[기능]",items:[{name:"Name",desc:"이름을 오름/내림차순 정렬 합니다."},{name:"Count",desc:"갯수를 오름/내림차순 정렬 합니다."}]}]}},linkInfoDetails:{responseSummary:{mainStyle:"",title:"Response Summary Chart",desc:"응답결과 요약 입니다.",category:[{title:"[범례]",items:[{name:"X축",desc:"트랜잭션 응답시간 요약 단위"},{name:"Y축",desc:"트랜잭션의 개수"},{name:"1s",desc:"0초 <= 응답시간 < 1초 에 해당하는 성공한 트랜잭션의 수"},{name:"3s",desc:"1초 <= 응답시간 < 3초 에 해당하는 성공한 트랜잭션의 수"},{name:"5s",desc:"3초 <= 응답시간 < 5초 에 해당하는 성공한 트랜잭션의 수"},{name:"Slow",desc:"5초 <= 응답시간 에 해당하는 성공한 트랜잭션의 수"},{name:"Error",desc:"응답시간과 무관하게 실패한 트랜잭션의 수"}]},{title:"[기능]",list:["바(bar)를 클릭하면 해당 응답시간에 속한 트랜잭션의 목록을 조회합니다."]}]},load:{mainStyle:"",title:"Load Chart",desc:"시간별 트랜잭션의 응답 결과입니다.",category:[{title:"[범례]",items:[{name:"X축",desc:"트랜잭션이 실행된 시간 (분단위)"},{name:"Y축",desc:"트랜잭션의 개수"},{name:"1s",desc:"0초 <= 응답시간 < 1초 에 해당하는 성공한 트랜잭션의 수"},{name:"3s",desc:"1초 <= 응답시간 < 3초 에 해당하는 성공한 트랜잭션의 수"},{name:"5s",desc:"3초 <= 응답시간 < 5초 에 해당하는 성공한 트랜잭션의 수"},{name:"Slow",desc:"5초 <= 응답시간 에 해당하는 성공한 트랜잭션의 수"},{name:"Error",desc:"응답시간과 무관하게 실패한 트랜잭션의 수"}]},{title:"[기능]",list:["범례를 클릭하여 해당 응답시간에 속한 트랜잭션을 차트에서 제외하거나 포함 할 수 있습니다.","마우스로 드래그하여 드래그 한 범위를 확대할 수 있습니다."]}]},linkServers:{mainStyle:"width:350px;",title:"Server Information",desc:"해당 구간을 통과하는 트랜잭션을 호출한 서버 인스턴스의 정보입니다. (호출자)",category:[{title:"[범례]",items:[{name:"",desc:"물리서버에 설치된 서버 인스턴스에서 동작중인 Pinpoint의 agentId입니다."}]},{title:"[기능]",items:[{name:"",desc:"Pinpoint가 설치된 WAS의 상세한 정보를 보여줍니다."},{name:"",desc:"해당 인스턴스에서 처리된 트랜잭션 통계를 조회할 수 있습니다."},{name:"",desc:"에러를 발생시킨 트랜잭션이 포함되어있다는 의미입니다."}]}]},unknownList:{mainStyle:"",title:"UnknownList",desc:"차트 오른쪽 상단의 아이콘부터",category:[{title:"[기능]",items:[{name:"첫번째",desc:"Response Summary"},{name:"두번째",desc:"해당 노드 상세보기"}]}]},searchAndOrder:{mainStyle:"",title:"검색과 필터링",desc:"서버 이름과 Count로 검색이 가능합니다.",category:[{title:"[기능]",items:[{name:"Name",desc:"이름을 오름/내림차순 정렬 합니다."},{name:"Count",desc:"갯수를 오름/내림차순 정렬 합니다."}]}]}},inspector:{list:{mainStyle:"",title:"Agent 리스트",desc:"현 Appliation Name에 등록된 agent 리스트입니다.",category:[{title:"[범례]",items:[{name:"",desc:"Agent가 설치된 장비의 호스트 이름"},{name:"",desc:"설치된 agent의 agent-id"},{name:"",desc:"정상적으로 실행중인 agent 상태 표시"},{name:"",desc:"Shutdown 된 agent 상태 표시"},{name:"",desc:"연결이 끊긴 agent 상태 표시"},{name:"",desc:"알수 없는 상태의 agent 상태 표시"}]}]},heap:{mainStyle:"",title:"Heap",desc:"JVM의 heap 정보와 full garbage collection 소요 시간",category:[{title:"[범례]",items:[{name:"Max",desc:"최대 heap 사이즈"},{name:"Used",desc:"현재 사용 중인 heap 사이즈"},{name:"FCG",desc:"Full garbage collection의 총 소요 시간(2번 이상 발생 시, 괄호 안에 발생 횟수 표시)"}]}]},permGen:{mainStyle:"",title:"PermGen",desc:"JVM의 PermGen 정보와 full garbage collection 소요 시간",category:[{title:"[범례]",items:[{name:"Max",desc:"최대 heap 사이즈"},{name:"Used",desc:"현재 사용 중인 heap 사이즈"},{name:"FCG",desc:"Full garbage collection의 총 소요 시간(2번 이상 발생 시, 괄호 안에 발생 횟수 표시)"}]}]},cpuUsage:{mainStyle:"",title:"Cpu Usage",desc:"JVM과 시스템의 CPU 사용량 - 멀티코어 CPU의 경우, 전체 코어 사용량의 평균입니다.",category:[{title:"[범례]",items:[{name:"Java 1.6",desc:"JVM의 CPU 사용량만 수집됩니다."},{name:"Java 1.7+",desc:"JVM과 전체 시스템의 CPU 사용량 모두 수집됩니다."}]}]},tps:{mainStyle:"",title:"TPS",desc:"서버로 인입된 초당 트랜잭션 수",category:[{title:"[범례]",items:[{name:"Sampled New (S.N)",desc:"선택된 agent에서 시작한 샘플링된 트랜잭션"},{name:"Sampled Continuation (S.C)",desc:"다른 agent에서 시작한 샘플링된 트랜잭션"},{name:"Unsampled New (U.N)",desc:"선택된 agent에서 시작한 샘플링되지 않은 트랜잭션"},{name:"Unsampled Continuation (U.C)",desc:"다른 agent에서 시작한 샘플링되지 않은 트랜잭션"},{name:"Total",desc:"모든 트랜잭션"}]}]},wrongApp:["
해당 agent는 {{application1}}이 아닌 {{application2}}에 포함되어 있습니다. ","원인은 다음 중 하나입니다.","1. 해당 agent가 {{application1}}에서 {{application2}}으로 이동한 경우 ","2.{{agentId}}의 agent가 {{application2}}에도 등록 된 경우","1의 경우 {{application1}}과 {{agentId}}간의 매핑 저보를 삭제해야 합니다 ","2의 경우 중복 등록 된 agent의 id를 변경해야 합니다.
"].join("")},callTree:{column:{mainStyle:"",title:"Call Tree",desc:"Call Tree의 컬럼명을 설명합니다.",category:[{title:"[컬럼]",items:[{name:"Gap",desc:"이전 메소드가 시작된 후 현재 메소드를 실행하기 까지의 지연 시간"},{name:"Exec",desc:"메소드 시작부터 종료까지의 시간"},{name:"Exec(%)",desc:""},{name:"",desc:"옅은 파란색 트랜잭션 전체 실행 시간 대 exec 시간의 비율"},{name:"",desc:"진한 파란색 self 시간 비율"},{name:"Self",desc:"메소드 자체의 시작부터 종료까지의 시간으로 하위의 메소드가 실행된 시간을 제외한 값"}]}]}},transactionTable:{log:{}},transactionList:{openError:{noParent:"부모 윈도우의 scatter chart 정보가 변경되어 더 이상 transaction 정보를 표시할 수 없습니다.",noData:"부모 윈도우에 {{application}} scatter chart 정보가 없습니다."}}};pinpointApp.constant("helpContent-ko",a)}(),function(){"use strict";var a=['