From: michal.kovacik Date: Wed, 31 Aug 2016 22:45:32 +0000 (+0200) Subject: Yangman - the execution time is not right X-Git-Tag: release/carbon~26 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=d3a0b74743bca161d453eeeb40d37f5133efad41;p=dlux.git Yangman - the execution time is not right - Bug 6544 - YangMan - the execution time is not right - service & method renamed Change-Id: I15176340ff4bcacb1fb9a4d1f69ffd4a1ebc9f0f Signed-off-by: michal.kovacik --- diff --git a/modules/yangman-resources/src/main/resources/yangman/controllers/request-header.controller.js b/modules/yangman-resources/src/main/resources/yangman/controllers/request-header.controller.js index fe75ee90..f6e593a0 100644 --- a/modules/yangman-resources/src/main/resources/yangman/controllers/request-header.controller.js +++ b/modules/yangman-resources/src/main/resources/yangman/controllers/request-header.controller.js @@ -1,5 +1,6 @@ define([ 'app/yangman/controllers/params-admin.controller', + 'app/yangman/services/time-tracking.services', ], function (ParamsAdminCtrl) { 'use strict'; @@ -7,11 +8,12 @@ define([ RequestHeaderCtrl.$inject = [ '$mdDialog', '$mdToast', '$scope', '$rootScope', 'ENV', 'YangmanService', 'ParametersService', - 'PathUtilsService', 'RequestsService', '$filter', 'DataBackupService', 'constants' + 'PathUtilsService', 'RequestsService', '$filter', 'DataBackupService', 'constants', 'TimeTrackingService' ]; function RequestHeaderCtrl($mdDialog, $mdToast, $scope, $rootScope, ENV, YangmanService, ParametersService, - PathUtilsService, RequestService, $filter, DataBackupService, constants) { + PathUtilsService, RequestService, $filter, DataBackupService, constants, + TimeTrackingService) { var requestHeader = this; requestHeader.allOperations = [constants.OPERATION_GET, constants.OPERATION_POST, constants.OPERATION_PUT, constants.OPERATION_DELETE]; @@ -345,6 +347,7 @@ define([ * Execute request operation */ function executeOperation(requestData, executeCbk){ + TimeTrackingService.startTimer(); var allowExecuteOperation = requestHeader.selectedShownDataType === constants.DISPLAY_TYPE_FORM && $scope.selectedSubApi ? !PathUtilsService.checkEmptyIdentifiers($scope.selectedSubApi.pathArray) : true; @@ -424,13 +427,15 @@ define([ } // create and set history request + requestHeader.statusObj.time = TimeTrackingService.returnTime(); + historyReq.setExecutionData( reqInfo.requestSrcData, preparedReceivedData, reqInfo.status, reqInfo.status, reqInfo.statusText, - reqInfo.time + requestHeader.statusObj.time ); $scope.rootBroadcast(constants.YANGMAN_SAVE_EXECUTED_REQUEST, historyReq, function (){ @@ -452,13 +457,15 @@ define([ finishRequestProgress(); + requestHeader.statusObj.time = TimeTrackingService.returnTime(); + historyReq.setExecutionData( reqInfo.requestSrcData, response.data, reqInfo.status, reqInfo.status, reqInfo.statusText, - reqInfo.time + requestHeader.statusObj.time ); $scope.rootBroadcast(constants.YANGMAN_SAVE_EXECUTED_REQUEST, historyReq, function (){ $scope.rootBroadcast(constants.YANGMAN_SELECT_THE_NEWEST_REQUEST); diff --git a/modules/yangman-resources/src/main/resources/yangman/services/time-tracking.services.js b/modules/yangman-resources/src/main/resources/yangman/services/time-tracking.services.js new file mode 100644 index 00000000..fcb9c598 --- /dev/null +++ b/modules/yangman-resources/src/main/resources/yangman/services/time-tracking.services.js @@ -0,0 +1,23 @@ +define([], function () { + 'use strict'; + + angular.module('app.yangman').service('TimeTrackingService', TimeTrackingService); + + function TimeTrackingService(){ + var service = { + startTimer: startTimer, + returnTime: returnTime, + }, + timeStarted = 0; + return service; + + function startTimer(){ + timeStarted = new Date().getTime(); + } + + function returnTime(){ + return new Date().getTime() - timeStarted; + } + } + +}); diff --git a/modules/yangman-resources/src/main/resources/yangman/services/yangman.services.js b/modules/yangman-resources/src/main/resources/yangman/services/yangman.services.js index 86d47a93..6ff2979c 100644 --- a/modules/yangman-resources/src/main/resources/yangman/services/yangman.services.js +++ b/modules/yangman-resources/src/main/resources/yangman/services/yangman.services.js @@ -306,10 +306,6 @@ define([], function () { */ function executeRequestOperation(selectedApi, selectedSubApi, operation, node, dataType, requestUrl, requestData, params, successCbk, errorCbk) { - var time = { - started: 0, - finished: 0, - }; YangUtilsRestangularService.setFullResponse(true); @@ -317,9 +313,6 @@ define([], function () { var allPreparedData = prepareAllRequestData(selectedApi, selectedSubApi, operation, node, dataType, requestUrl, requestData, params); - // start track time response - time.started = new Date().getMilliseconds(); - // executing operation allPreparedData.customRestangular.customOperation( allPreparedData.operation.toLowerCase(), @@ -338,14 +331,11 @@ define([], function () { ); function finishExecuting(response){ - // finish track time response - time.finished = new Date().getMilliseconds(); - var spentRequestTime = time.finished - time.started; return { status: response.status, statusText: response.statusText, - time: spentRequestTime < 0 ? -(spentRequestTime) : spentRequestTime, + time: null, requestData: allPreparedData.reqData, requestSrcData: allPreparedData.srcData, };