/* * 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. */ // requires tableHelper var oTable = []; var killTask = function(taskId) { if(confirm('Do you really want to kill: '+taskId)) { $.ajax({ type:'POST', url: '/druid/indexer/v1/task/'+ taskId +'/shutdown', data: '' }).done(function(data) { setTimeout(function() { location.reload(true) }, 750); }).fail(function(data) { alert('Kill request failed with status: '+data.status+' please check overlord logs'); }) } } var suspendSupervisor = function(supervisorId) { if(confirm('Do you really want to suspend: '+ supervisorId)) { $.ajax({ type:'POST', url: '/druid/indexer/v1/supervisor/' + supervisorId + '/suspend', data: '' }).done(function(data) { setTimeout(function() { location.reload(true) }, 750); }).fail(function(data) { var errMsg = data && data.responseJSON && data.responseJSON.error ? data.responseJSON.error : 'suspend request failed, please check overlord logs for details.'; alert(errMsg); }) } } var resumeSupervisor = function(supervisorId) { if(confirm('Do you really want to resume: '+ supervisorId)) { $.ajax({ type:'POST', url: '/druid/indexer/v1/supervisor/' + supervisorId + '/resume', data: '' }).done(function(data) { setTimeout(function() { location.reload(true) }, 750); }).fail(function(data) { var errMsg = data && data.responseJSON && data.responseJSON.error ? data.responseJSON.error : 'resume request failed, please check overlord logs for details.'; alert(errMsg); }) } } var resetSupervisor = function(supervisorId) { if(confirm('Do you really want to reset: '+ supervisorId)) { $.ajax({ type:'POST', url: '/druid/indexer/v1/supervisor/' + supervisorId + '/reset', data: '' }).done(function(data) { setTimeout(function() { location.reload(true) }, 750); }).fail(function(data) { alert('Reset request failed, please check overlord logs for details.'); }) } } var shutdownSupervisor = function(supervisorId) { if(confirm('Do you really want to terminate: '+ supervisorId)) { $.ajax({ type:'POST', url: '/druid/indexer/v1/supervisor/' + supervisorId + '/shutdown', data: '' }).done(function(data) { setTimeout(function() { location.reload(true) }, 750); }).fail(function(data) { alert('Terminate request failed, please check overlord logs for details.'); }) } } $(document).ready(function() { var augment = function(data, showKill) { for (i = 0 ; i < data.length ; i++) { var taskId = encodeURIComponent(data[i].id) data[i].more = 'payload' + 'status' + 'log (all)' + 'log (last 8kb)'; if(showKill) { data[i].more += 'kill'; } } } $.get('/druid/indexer/v1/supervisor?full', function(dataList) { var data = [] for (i = 0 ; i < dataList.length ; i++) { var supervisorId = encodeURIComponent(dataList[i].id) var supervisorSpec = dataList[i].spec; var statusText = supervisorSpec && supervisorSpec.suspended ? 'suspended' : 'running'; data[i] = { "dataSource" : dataList[i].id, "more" : 'payload' + 'status' + 'history' + (supervisorSpec.suspended ? 'resume' : 'suspend' ) + 'reset' + 'terminate', "status": statusText } } buildTable((data), $('#supervisorsTable')); if (dataList.length > 0) { $('.supervisors_section').show(); } }); $.get('/druid/indexer/v1/runningTasks', function(data) { $('.running_loading').hide(); augment(data, true); buildTable(data, $('#runningTable')); }); $.get('/druid/indexer/v1/pendingTasks', function(data) { $('.pending_loading').hide(); augment(data, true); buildTable(data, $('#pendingTable')); }); $.get('/druid/indexer/v1/waitingTasks', function(data) { $('.waiting_loading').hide(); augment(data, true); buildTable(data, $('#waitingTable')); }); $.get('/druid/indexer/v1/completeTasks', function(data) { $('.complete_loading').hide(); augment(data, false); buildTable(data, $('#completeTable')); }); $.get('/druid/indexer/v1/workers', function(data) { $('.workers_loading').hide(); buildTable(data, $('#workerTable')); }); $.get('/druid/indexer/v1/scaling', function(data) { $('.events_loading').hide(); buildTable(data, $('#eventTable')); }); });