| #!/usr/bin/env python |
| # |
| # Autogenerated by Thrift Compiler (0.9.2) |
| # |
| # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING |
| # |
| # options string: py:utf8strings |
| # |
| |
| import sys |
| import pprint |
| from urlparse import urlparse |
| from thrift.transport import TTransport |
| from thrift.transport import TSocket |
| from thrift.transport import TSSLSocket |
| from thrift.transport import THttpClient |
| from thrift.protocol import TBinaryProtocol |
| |
| from storm import Nimbus |
| from storm.ttypes import * |
| |
| if len(sys.argv) <= 1 or sys.argv[1] == '--help': |
| print('') |
| print('Usage: ' + sys.argv[0] + ' [-h host[:port]] [-u url] [-f[ramed]] [-s[sl]] function [arg1 [arg2...]]') |
| print('') |
| print('Functions:') |
| print(' void submitTopology(string name, string uploadedJarLocation, string jsonConf, StormTopology topology)') |
| print(' void submitTopologyWithOpts(string name, string uploadedJarLocation, string jsonConf, StormTopology topology, SubmitOptions options)') |
| print(' void killTopology(string name)') |
| print(' void killTopologyWithOpts(string name, KillOptions options)') |
| print(' void activate(string name)') |
| print(' void deactivate(string name)') |
| print(' void rebalance(string name, RebalanceOptions options)') |
| print(' void metricMonitor(string name, MonitorOptions options)') |
| print(' void restart(string name, string jsonConf)') |
| print(' void beginLibUpload(string libName)') |
| print(' string beginFileUpload()') |
| print(' void uploadChunk(string location, string chunk)') |
| print(' void finishFileUpload(string location)') |
| print(' string beginFileDownload(string file)') |
| print(' string downloadChunk(string id)') |
| print(' void finishFileDownload(string id)') |
| print(' string getNimbusConf()') |
| print(' string getTopologyConf(string id)') |
| print(' string getTopologyId(string topologyName)') |
| print(' ClusterSummary getClusterInfo()') |
| print(' SupervisorWorkers getSupervisorWorkers(string host)') |
| print(' TopologyInfo getTopologyInfo(string id)') |
| print(' TopologyInfo getTopologyInfoByName(string topologyName)') |
| print(' StormTopology getTopology(string id)') |
| print(' StormTopology getUserTopology(string id)') |
| print(' void uploadTopologyMetrics(string topologyId, TopologyMetric topologyMetrics)') |
| print(' registerMetrics(string topologyId, metrics)') |
| print(' TopologyMetric getTopologyMetrics(string topologyId)') |
| print(' getMetrics(string topologyId, i32 type)') |
| print(' MetricInfo getNettyMetrics(string topologyId)') |
| print(' MetricInfo getNettyMetricsByHost(string topologyId, string host)') |
| print(' MetricInfo getPagingNettyMetrics(string topologyId, string host, i32 page)') |
| print(' i32 getNettyMetricSizeByHost(string topologyId, string host)') |
| print(' MetricInfo getTaskMetrics(string topologyId, string component)') |
| print(' getTaskAndStreamMetrics(string topologyId, i32 taskId)') |
| print(' getSummarizedTopologyMetrics(string topologyId)') |
| print(' string getVersion()') |
| print(' void updateTopology(string name, string uploadedLocation, string updateConf)') |
| print(' void updateTaskHeartbeat(TopologyTaskHbInfo taskHbs)') |
| print('') |
| sys.exit(0) |
| |
| pp = pprint.PrettyPrinter(indent = 2) |
| host = 'localhost' |
| port = 9090 |
| uri = '' |
| framed = False |
| ssl = False |
| http = False |
| argi = 1 |
| |
| if sys.argv[argi] == '-h': |
| parts = sys.argv[argi+1].split(':') |
| host = parts[0] |
| if len(parts) > 1: |
| port = int(parts[1]) |
| argi += 2 |
| |
| if sys.argv[argi] == '-u': |
| url = urlparse(sys.argv[argi+1]) |
| parts = url[1].split(':') |
| host = parts[0] |
| if len(parts) > 1: |
| port = int(parts[1]) |
| else: |
| port = 80 |
| uri = url[2] |
| if url[4]: |
| uri += '?%s' % url[4] |
| http = True |
| argi += 2 |
| |
| if sys.argv[argi] == '-f' or sys.argv[argi] == '-framed': |
| framed = True |
| argi += 1 |
| |
| if sys.argv[argi] == '-s' or sys.argv[argi] == '-ssl': |
| ssl = True |
| argi += 1 |
| |
| cmd = sys.argv[argi] |
| args = sys.argv[argi+1:] |
| |
| if http: |
| transport = THttpClient.THttpClient(host, port, uri) |
| else: |
| socket = TSSLSocket.TSSLSocket(host, port, validate=False) if ssl else TSocket.TSocket(host, port) |
| if framed: |
| transport = TTransport.TFramedTransport(socket) |
| else: |
| transport = TTransport.TBufferedTransport(socket) |
| protocol = TBinaryProtocol.TBinaryProtocol(transport) |
| client = Nimbus.Client(protocol) |
| transport.open() |
| |
| if cmd == 'submitTopology': |
| if len(args) != 4: |
| print('submitTopology requires 4 args') |
| sys.exit(1) |
| pp.pprint(client.submitTopology(args[0],args[1],args[2],eval(args[3]),)) |
| |
| elif cmd == 'submitTopologyWithOpts': |
| if len(args) != 5: |
| print('submitTopologyWithOpts requires 5 args') |
| sys.exit(1) |
| pp.pprint(client.submitTopologyWithOpts(args[0],args[1],args[2],eval(args[3]),eval(args[4]),)) |
| |
| elif cmd == 'killTopology': |
| if len(args) != 1: |
| print('killTopology requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.killTopology(args[0],)) |
| |
| elif cmd == 'killTopologyWithOpts': |
| if len(args) != 2: |
| print('killTopologyWithOpts requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.killTopologyWithOpts(args[0],eval(args[1]),)) |
| |
| elif cmd == 'activate': |
| if len(args) != 1: |
| print('activate requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.activate(args[0],)) |
| |
| elif cmd == 'deactivate': |
| if len(args) != 1: |
| print('deactivate requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.deactivate(args[0],)) |
| |
| elif cmd == 'rebalance': |
| if len(args) != 2: |
| print('rebalance requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.rebalance(args[0],eval(args[1]),)) |
| |
| elif cmd == 'metricMonitor': |
| if len(args) != 2: |
| print('metricMonitor requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.metricMonitor(args[0],eval(args[1]),)) |
| |
| elif cmd == 'restart': |
| if len(args) != 2: |
| print('restart requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.restart(args[0],args[1],)) |
| |
| elif cmd == 'beginLibUpload': |
| if len(args) != 1: |
| print('beginLibUpload requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.beginLibUpload(args[0],)) |
| |
| elif cmd == 'beginFileUpload': |
| if len(args) != 0: |
| print('beginFileUpload requires 0 args') |
| sys.exit(1) |
| pp.pprint(client.beginFileUpload()) |
| |
| elif cmd == 'uploadChunk': |
| if len(args) != 2: |
| print('uploadChunk requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.uploadChunk(args[0],args[1],)) |
| |
| elif cmd == 'finishFileUpload': |
| if len(args) != 1: |
| print('finishFileUpload requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.finishFileUpload(args[0],)) |
| |
| elif cmd == 'beginFileDownload': |
| if len(args) != 1: |
| print('beginFileDownload requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.beginFileDownload(args[0],)) |
| |
| elif cmd == 'downloadChunk': |
| if len(args) != 1: |
| print('downloadChunk requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.downloadChunk(args[0],)) |
| |
| elif cmd == 'finishFileDownload': |
| if len(args) != 1: |
| print('finishFileDownload requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.finishFileDownload(args[0],)) |
| |
| elif cmd == 'getNimbusConf': |
| if len(args) != 0: |
| print('getNimbusConf requires 0 args') |
| sys.exit(1) |
| pp.pprint(client.getNimbusConf()) |
| |
| elif cmd == 'getTopologyConf': |
| if len(args) != 1: |
| print('getTopologyConf requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.getTopologyConf(args[0],)) |
| |
| elif cmd == 'getTopologyId': |
| if len(args) != 1: |
| print('getTopologyId requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.getTopologyId(args[0],)) |
| |
| elif cmd == 'getClusterInfo': |
| if len(args) != 0: |
| print('getClusterInfo requires 0 args') |
| sys.exit(1) |
| pp.pprint(client.getClusterInfo()) |
| |
| elif cmd == 'getSupervisorWorkers': |
| if len(args) != 1: |
| print('getSupervisorWorkers requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.getSupervisorWorkers(args[0],)) |
| |
| elif cmd == 'getTopologyInfo': |
| if len(args) != 1: |
| print('getTopologyInfo requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.getTopologyInfo(args[0],)) |
| |
| elif cmd == 'getTopologyInfoByName': |
| if len(args) != 1: |
| print('getTopologyInfoByName requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.getTopologyInfoByName(args[0],)) |
| |
| elif cmd == 'getTopology': |
| if len(args) != 1: |
| print('getTopology requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.getTopology(args[0],)) |
| |
| elif cmd == 'getUserTopology': |
| if len(args) != 1: |
| print('getUserTopology requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.getUserTopology(args[0],)) |
| |
| elif cmd == 'uploadTopologyMetrics': |
| if len(args) != 2: |
| print('uploadTopologyMetrics requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.uploadTopologyMetrics(args[0],eval(args[1]),)) |
| |
| elif cmd == 'registerMetrics': |
| if len(args) != 2: |
| print('registerMetrics requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.registerMetrics(args[0],eval(args[1]),)) |
| |
| elif cmd == 'getTopologyMetrics': |
| if len(args) != 1: |
| print('getTopologyMetrics requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.getTopologyMetrics(args[0],)) |
| |
| elif cmd == 'getMetrics': |
| if len(args) != 2: |
| print('getMetrics requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.getMetrics(args[0],eval(args[1]),)) |
| |
| elif cmd == 'getNettyMetrics': |
| if len(args) != 1: |
| print('getNettyMetrics requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.getNettyMetrics(args[0],)) |
| |
| elif cmd == 'getNettyMetricsByHost': |
| if len(args) != 2: |
| print('getNettyMetricsByHost requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.getNettyMetricsByHost(args[0],args[1],)) |
| |
| elif cmd == 'getPagingNettyMetrics': |
| if len(args) != 3: |
| print('getPagingNettyMetrics requires 3 args') |
| sys.exit(1) |
| pp.pprint(client.getPagingNettyMetrics(args[0],args[1],eval(args[2]),)) |
| |
| elif cmd == 'getNettyMetricSizeByHost': |
| if len(args) != 2: |
| print('getNettyMetricSizeByHost requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.getNettyMetricSizeByHost(args[0],args[1],)) |
| |
| elif cmd == 'getTaskMetrics': |
| if len(args) != 2: |
| print('getTaskMetrics requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.getTaskMetrics(args[0],args[1],)) |
| |
| elif cmd == 'getTaskAndStreamMetrics': |
| if len(args) != 2: |
| print('getTaskAndStreamMetrics requires 2 args') |
| sys.exit(1) |
| pp.pprint(client.getTaskAndStreamMetrics(args[0],eval(args[1]),)) |
| |
| elif cmd == 'getSummarizedTopologyMetrics': |
| if len(args) != 1: |
| print('getSummarizedTopologyMetrics requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.getSummarizedTopologyMetrics(args[0],)) |
| |
| elif cmd == 'getVersion': |
| if len(args) != 0: |
| print('getVersion requires 0 args') |
| sys.exit(1) |
| pp.pprint(client.getVersion()) |
| |
| elif cmd == 'updateTopology': |
| if len(args) != 3: |
| print('updateTopology requires 3 args') |
| sys.exit(1) |
| pp.pprint(client.updateTopology(args[0],args[1],args[2],)) |
| |
| elif cmd == 'updateTaskHeartbeat': |
| if len(args) != 1: |
| print('updateTaskHeartbeat requires 1 args') |
| sys.exit(1) |
| pp.pprint(client.updateTaskHeartbeat(eval(args[0]),)) |
| |
| else: |
| print('Unrecognized method %s' % cmd) |
| sys.exit(1) |
| |
| transport.close() |