Exemplo n.º 1
0
 def testStoreClientEntry(self):
     currTime = time.time()
     self.assertEqual(get_client_stats_db().find().count(), 0)
     stats.storeClientEntry("testuser", "testfield", currTime, 0.002, {"metadata_key": "metadata_val"})
     self.assertEqual(get_client_stats_db().find().count(), 1)
     self.assertEqual(get_client_stats_db().find({"user": "******"}).count(), 1)
     self.assertEqual(get_client_stats_db().find({"ts": currTime}).count(), 1)
Exemplo n.º 2
0
 def testStoreClientEntry(self):
   currTime = time.time()
   self.assertEqual(get_client_stats_db().query_tags(), None)
   
   success = stats.storeClientEntry("testuser", "testfield", currTime, 0.002, {"metadata_key": "metadata_val"})
   savedEntries = get_client_stats_db().query_tags()
   self.assertEquals(type(savedEntries), list)
   self.assertEquals(len(savedEntries), 1)
   entry = savedEntries[0]
   self.assertEquals(entry["Metadata"]["metadata_key"], "metadata_val")
Exemplo n.º 3
0
 def setUp(self):
   get_client_stats_db().remove()
   get_server_stats_db().remove()
   get_result_stats_db().remove()
   self.testInputJSON = \
     {'Metadata': {'client_app_version': '2.0.1',
                   'client_os_version': '4.3'},
      'Readings': {'sync_pull_list_size': [[1411418998701, 1111], [1411418998702, 2222], [1411418998703, 3333]],
                'battery_level': [[1411418998704, 4444], [1411418998705, 5555], [1411418998706, 6666]],
               }}
Exemplo n.º 4
0
 def setUp(self):
     get_client_stats_db().remove()
     get_server_stats_db().remove()
     get_result_stats_db().remove()
     self.testInputJSON = \
       {'Metadata': {'client_app_version': '2.0.1',
                     'client_os_version': '4.3'},
        'Readings': {'sync_pull_list_size': [[1411418998701, 1111], [1411418998702, 2222], [1411418998703, 3333]],
                  'battery_level': [[1411418998704, 4444], [1411418998705, 5555], [1411418998706, 6666]],
                 }}
Exemplo n.º 5
0
 def setUp(self):
     get_client_stats_db().remove()
     get_server_stats_db().remove()
     get_result_stats_db().remove()
     self.testInputJSON = {
         "Metadata": {"client_app_version": "2.0.1", "client_os_version": "4.3"},
         "Readings": {
             "sync_pull_list_size": [[1411418998701, 1111], [1411418998702, 2222], [1411418998703, 3333]],
             "battery_level": [[1411418998704, 4444], [1411418998705, 5555], [1411418998706, 6666]],
         },
     }
Exemplo n.º 6
0
    def testStoreClientEntry(self):
        currTime = time.time()
        self.assertEqual(get_client_stats_db().query_tags(), None)

        success = stats.storeClientEntry("testuser", "testfield", currTime,
                                         0.002,
                                         {"metadata_key": "metadata_val"})
        savedEntries = get_client_stats_db().query_tags()
        self.assertEquals(type(savedEntries), list)
        self.assertEquals(len(savedEntries), 1)
        entry = savedEntries[0]
        self.assertEquals(entry["Metadata"]["metadata_key"], "metadata_val")
Exemplo n.º 7
0
def storeClientEntry(user, key, ts, reading, metadata):
  logging.debug("storing client entry for user %s, key %s at timestamp %s" % (user, key, ts))
  response = None
  # float first, because int doesn't recognize floats represented as strings.
  # Android timestamps are in milliseconds, while Giles expects timestamps to be
  # in seconds, so divide by 1000 when you hit this case.
  # ios timestamps are in seconds.
  ts = int(ts)

  if ts > 9999999999:
    ts = ts/1000

  currEntry = createEntry(user, key, ts, reading)
  # Add the os and app versions from the metadata dict
  currEntry.update(metadata)

  try:
    response = get_client_stats_db().insert(currEntry)
    if response == None:
      get_client_stats_db_backup().insert(currEntry)
  except Exception as e:
    logging.debug("failed to store client entry for user %s, key %s at timestamp %s" % (user, key, ts))
    logging.debug("exception was: %s" % (e))
    get_client_stats_db_backup().insert(currEntry)

  return response != None
Exemplo n.º 8
0
def storeClientEntry(user, key, ts, reading, metadata):
    logging.debug("storing client entry for user %s, key %s at timestamp %s" %
                  (user, key, ts))
    response = None
    # float first, because int doesn't recognize floats represented as strings.
    # Android timestamps are in milliseconds, while Giles expects timestamps to be
    # in seconds, so divide by 1000 when you hit this case.
    # ios timestamps are in seconds.
    ts = int(ts)

    if ts > 9999999999:
        ts = ts / 1000

    currEntry = createEntry(user, key, ts, reading)
    # Add the os and app versions from the metadata dict
    currEntry.update(metadata)

    try:
        response = get_client_stats_db().insert(currEntry)
    except Exception as e:
        logging.debug(
            "failed to store client entry for user %s, key %s at timestamp %s"
            % (user, key, ts))
        logging.debug("exception was: %s" % (e))
        get_client_stats_db_backup().insert(currEntry)
    return response != None
Exemplo n.º 9
0
 def testStoreServerEntry(self):
   currTime = time.time()
   self.assertEqual(get_client_stats_db().query_tags(), None)
   success = stats.storeServerEntry("testuser", "GET foo", currTime, 0.002)
   self.assertEquals(success, True)
   savedEntries = get_server_stats_db().query_tags()
   self.assertEquals(type(savedEntries), list)
   self.assertEquals(len(savedEntries), 1)
   entry = savedEntries[0]
   self.assertEquals(entry["Metadata"]["user"], "testuser")
Exemplo n.º 10
0
 def testSetClientMeasurements(self):
     currTime = time.time()
     stats.setClientMeasurements("testUser", self.testInputJSON)
     for savedEntry in get_client_stats_db().find():
         self.assertEquals(savedEntry["client_app_version"], "2.0.1")
         self.assertEquals(savedEntry["client_os_version"], "4.3")
         self.assertAlmostEqual(savedEntry["reported_ts"], time.time(), places=0)
         if savedEntry["stat"] == "sync_pull_list_size":
             self.assertIn(savedEntry["ts"], [1411418998701, 1411418998702, 1411418998703])
             self.assertIn(savedEntry["reading"], [1111, 2222, 3333])
Exemplo n.º 11
0
 def testStoreServerEntry(self):
     currTime = time.time()
     self.assertEqual(get_client_stats_db().query_tags(), None)
     success = stats.storeServerEntry("testuser", "GET foo", currTime,
                                      0.002)
     self.assertEquals(success, True)
     savedEntries = get_server_stats_db().query_tags()
     self.assertEquals(type(savedEntries), list)
     self.assertEquals(len(savedEntries), 1)
     entry = savedEntries[0]
     self.assertEquals(entry["Metadata"]["user"], "testuser")
Exemplo n.º 12
0
  def testSetClientMeasurements(self):
    currTime = time.time()
    stats.setClientMeasurements("testUser", self.testInputJSON)
    savedEntries = get_client_stats_db().query_tags()
    self.assertEquals(type(savedEntries), list)
    self.assertEquals(len(savedEntries), 2)


    for savedEntry in savedEntries:
      self.assertEquals(savedEntry['Metadata']['client_app_version'], '2.0.1')
      self.assertEquals(savedEntry['Metadata']['client_os_version'], '4.3')
      self.assertAlmostEqual(savedEntry['Metadata']['reported_ts'], currTime, places = 0)
Exemplo n.º 13
0
    def testSetClientMeasurements(self):
        currTime = time.time()
        stats.setClientMeasurements("testUser", self.testInputJSON)
        savedEntries = get_client_stats_db().query_tags()
        self.assertEquals(type(savedEntries), list)
        self.assertEquals(len(savedEntries), 2)

        for savedEntry in savedEntries:
            self.assertEquals(savedEntry['Metadata']['client_app_version'],
                              '2.0.1')
            self.assertEquals(savedEntry['Metadata']['client_os_version'],
                              '4.3')
            self.assertAlmostEqual(savedEntry['Metadata']['reported_ts'],
                                   currTime,
                                   places=0)
Exemplo n.º 14
0
 def tearDown(self):
   get_client_stats_db().remove()
   pass
Exemplo n.º 15
0
 def tearDown(self):
     get_client_stats_db().remove()
     pass
Exemplo n.º 16
0
def storeClientEntry(user, key, ts, reading, metadata):
    logging.debug("storing client entry for user %s, key %s at timestamp %s" % (user, key, ts))
    currEntry = createEntry(user, key, ts, reading)
    # Add the os and app versions from the metadata dict
    currEntry.update(metadata)
    get_client_stats_db().insert(currEntry)