title: Measuring time of execution using multi thread in python
body: <pre><code>from flask import Flask
  from flask import request
  import threading
  import time
  from pymongo import MongoClient
  import gridfs
  bridgeVideoDatabase = MongoClient().bridgeVideoDatabase
  fs = gridfs.GridFS(bridgeVideoDatabase)
  
  app = Flask(__name__)
  
  host = '10.0.0.23'
  port = 8080
  
  client = MongoClient('mongodb://localhost:27017/')
  db = client.bridgeUserInformationTable
  
  
  
  @app.route('/sendUserStringIntData',methods=['GET', 'POST'])
  def getDataFromAndroid():      
      print "Entire Data:",request.form
      UserName = request.form['UserName']
      print UserName
      #insertion
      db.bridgeUsersInfo.insert({"UserName":UserName})
      #display in console
      cursor = db.bridgeUsersInfo.find()
      for document in cursor:
          print(document)
      Thread1 = threading.Thread(target=getDataFromAndroid)
  
      t=time.time()
  
      Thread1.start()
      Thread1.join()
      print'Total time for execution :',time.time()-t,'msec'
      return "User Info Saved successfully in Database :-)"
  
  
  if __name__ == '__main__':
      app.run(
          host=host, port=port
          )
  </code></pre>
  
  <p>Above is the script for measuring time for saving data to database using python and inputing from andoid updated. While running the same it is hosting but after saving text it giving error below</p>
  
  <pre><code>       * Running on http://10.0.0.23:8080/ (Press CTRL+C to quit)
  [2016-11-11 11:52:22,136] ERROR in app: Exception on /sendUserStringIntData [POST]
  Traceback (most recent call last):
    File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1988, in wsgi_app
      response = self.full_dispatch_request()
    File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1641, in full_dispatch_request
      rv = self.handle_user_exception(e)
    File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1544, in handle_user_exception
      reraise(exc_type, exc_value, tb)
    File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1639, in full_dispatch_request
      rv = self.dispatch_request()
    File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1625, in dispatch_request
      return self.view_functions[rule.endpoint](**req.view_args)
  TypeError: getDataFromAndroid() takes exactly 1 argument (0 given)
  10.0.0.27 - - [11/Nov/2016 11:52:22] "POST /sendUserStringIntData HTTP/1.1" 500 
  </code></pre>
  
  <p>How it should be resolved ?</p>
  
  <pre><code> * Running on http://10.0.0.23:8080/ (Press CTRL+C to quit)
  Entire Data: ImmutableMultiDict([('UserName', u'mahaveer'), ('Age', u'0'), ('Password', u'null')])
  mahaveer
  {u'UserName': u'mahaveer', u'Age': u'24', u'_id': ObjectId('5825950e0f325f3a30ef7292'), u'Password': u'12345'}
  {u'UserName': u'mahaveer', u'_id': ObjectId('582595530f325f3a563681c7')}
  Entire Data:Exception in thread Thread-1:
  Traceback (most recent call last):
    File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
      self.run()
    File "/usr/lib/python2.7/threading.py", line 763, in run
      self.__target(*self.__args, **self.__kwargs)
    File "/home/cosmitude10/neon/measureMultithread/test.py", line 22, in getDataFromAndroid
      print "Entire Data:",request.form
    File "/usr/local/lib/python2.7/dist-packages/werkzeug/local.py", line 343, in __getattr__
      return getattr(self._get_current_object(), name)
    File "/usr/local/lib/python2.7/dist-packages/werkzeug/local.py", line 302, in _get_current_object
      return self.__local()
    File "/usr/local/lib/python2.7/dist-packages/flask/globals.py", line 37, in _lookup_req_object
      raise RuntimeError(_request_ctx_err_msg)
  RuntimeError: Working outside of request context.
  
  This typically means that you attempted to use functionality that needed
  an active HTTP request.  Consult the documentation on testing for
  information about how to avoid this problem.
  
   Total time for execution : 0.00076699256897 msec
  10.0.0.27 - - [11/Nov/2016 15:24:27] "POST /sendUserStringIntData HTTP/1.1" 200 -
  </code></pre>