diff options
author | Stanley Yip <33562077+yipstanley@users.noreply.github.com> | 2019-07-30 19:41:09 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-30 19:41:09 -0400 |
commit | 13f45e3c819aaafcff175256ffb8723642c22dca (patch) | |
tree | 00e38b12a22dcc52253e2d7c3e35efee42ad80cf /solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/threads.js | |
parent | 80e6356692da7bffaad2efccf01500173c488de0 (diff) | |
parent | a2a73a1ad032979ea6eea06aa65354841e0ef0fa (diff) |
Merge pull request #233 from browngraphicslab/text_box_ab
Text box ab
Diffstat (limited to 'solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/threads.js')
-rw-r--r-- | solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/threads.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/threads.js b/solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/threads.js new file mode 100644 index 000000000..22a900295 --- /dev/null +++ b/solr-8.1.1/server/solr-webapp/webapp/js/angular/controllers/threads.js @@ -0,0 +1,50 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +solrAdminApp.controller('ThreadsController', + function($scope, Threads, Constants){ + $scope.resetMenu("threads", Constants.IS_ROOT_PAGE); + $scope.refresh = function() { + Threads.get(function(data) { + var threadDump = data.system.threadDump; + var threads = []; + for (var i=1; i<threadDump.length; i+=2) { + var thread = threadDump[i]; + if (!!thread.stackTrace) { + var stackTrace = []; + for (var j=0; j<thread.stackTrace.length; j++) { + var trace = thread.stackTrace[j].replace("(", "\u200B("); // allow wrapping to happen, \u200B is a zero-width space + stackTrace.push({id:thread.id + ":" + j, trace: trace}); + } + thread.stackTrace = stackTrace; + } + threads.push(thread); + } + $scope.threads = threads; + }); + }; + $scope.toggleStacktrace = function(thread) { + thread.showStackTrace = !thread.showStackTrace; + }; + $scope.toggleStacktraces = function() { + $scope.showAllStacktraces = !$scope.showAllStacktraces; + for (var i=0; i<$scope.threads.length; i++) { + $scope.threads[i].showStackTrace = $scope.showAllStacktraces; + } + }; + $scope.refresh(); +}); |