router.post('/sensor', function(req,res){ var sensorDate = new Date(req.body.value_ts); var sensorType = req.body.sensor_id.substring( 0, req.body.sensor_id.indexOf("_")); var quarterHour; var x = parseInt(dateFormat(sensorDate, "MM")); switch(true) { case (x <= 15): quarterHour = '0'; break; case (x <= 30): quarterHour = '1'; break; case (x <= 45): quarterHour = '2'; break; case (x <= 60): quarterHour = '3'; break; } var queries = [ { query: "insert into sensor_last (sensor_type, sensor_id, value, value_ts) values('" + sensorType + "', '" + req.body.sensor_id + "', " + req.body.value + ", '" + dateFormat(sensorDate, "isoDateTime") + "')" }, { query: "insert into sensor_date (sensor_id, value_date, value_ts, value) values('" + req.body.sensor_id + "', '" + dateFormat(sensorDate, "yyyymmdd") + "', '" + dateFormat(sensorDate, "isoDateTime") + "'," + req.body.value + ")" }, { query: "insert into sensor_48h (sensor_id, value, value_ts) values('" + req.body.sensor_id + "', " + req.body.value + ", '" + dateFormat(sensorDate, "isoDateTime") + "')" } ]; var query3 = "update event_count_date set event_count = event_count + 1 where sensor_type = '" + sensorType + "' and event_date = '" + dateFormat(sensorDate, "yyyymmdd") + "' and event_ts = '" + dateFormat(sensorDate, "isoDateTime") + "'" var query4 = "update event_count_date set event_count = event_count + 1 where sensor_type = 'all' and event_date = '" + dateFormat(sensorDate, "yyyymmdd") + "' and event_ts = '" + dateFormat(sensorDate, "isoDateTime") + "'" var query5 = "update sensor_hour_avg set hour_count = hour_count + 1, hour_total = hour_total + " + parseInt(req.body.value * 100) + " where sensor_id = '" + req.body.sensor_id + "' and event_date_hour = '" + dateFormat(sensorDate, "yyyymmddHH") + "'" var query6 = "update sensor_type_hour_avg set hour_count = hour_count + 1, hour_total = hour_total + " + parseInt(req.body.value * 100) + " where sensor_id = '" + req.body.sensor_id + "' and event_date_hour = '" + dateFormat(sensorDate, "yyyymmddHH") + "' and sensor_type = '" + sensorType + "'" var query7 = "update sensor_qtr_hour_avg set qtr_hour_count = qtr_hour_count + 1, qtr_hour_total = qtr_hour_total + " + parseInt(req.body.value * 100) + " where sensor_id = '" + req.body.sensor_id + "' and event_date_qtr_hour = '" + dateFormat(sensorDate, "yyyymmddHH") + quarterHour + "'" //var query5 = "update sensor_hour_avg set hour_count = hour_count + 1, hour_total = hour_total + ? where sensor_id = ? and event_date_hour = ?" //var params5 = [req.body.value, req.body.sensor_id, dateFormat(sensorDate, "yyyymmddHH")]; var consistency = cql.types.consistencies.quorum; client.executeBatch(queries, consistency, function(err) { if (err) { console.log(err); res.send(err); } else { } }); client.execute(query3, consistency, function(err) { if (err) { console.log(err); res.send(err); } }); client.execute(query4, consistency, function(err) { if (err) { console.log(err); res.send("4: " + err); } }); client.execute(query5, consistency, function(err) { if (err) { console.log("5: " + err); res.send(err); } }); client.execute(query6, consistency, function(err) { if (err) { console.log("6: " + err); res.send(err); } }); client.execute(query7, consistency, function(err) { if (err) { console.log("7: " + err); res.send(err); } }); res.send(200); })
helper.runInTransaction(agent, function transactionInScope(tx) { var transaction = agent.getTransaction() t.ok(transaction, "transaction should be visible") t.equal(tx, transaction, 'We got the same transaction') var colValArr = ['Jim', 'Bob', 'Joe'] var pkValArr = [111, 222, 333] var insQuery = 'INSERT INTO ' + KS + '.' + FAM + ' (' + PK + ',' + COL insQuery += ') VALUES(?, ?);' var insArr = [ { query: insQuery, params: [pkValArr[0], colValArr[0]] }, { query: insQuery, params: [pkValArr[1], colValArr[1]] }, { query: insQuery, params: [pkValArr[2], colValArr[2]] }, ] client.executeBatch(insArr, function (error, ok) { if (error) return t.fail(error) t.ok(agent.getTransaction(), "transaction should still be visible") t.ok(ok, "everything should be peachy after setting") var selQuery = 'SELECT * FROM ' + KS + '.' + FAM + ' WHERE ' selQuery += PK + ' = 111;' client.execute(selQuery, function (error, value) { if (error) return t.fail(error) t.ok(agent.getTransaction(), "transaction should still still be visible") t.equals(value.rows[0][COL], colValArr[0], "Cassandra client should still work") var trace = transaction.trace t.ok(trace, "trace should exist") t.ok(trace.root, "root element should exist") t.equals(trace.root.children.length, 1, "there should be only one child of the root") var setSegment = trace.root.children[0] t.ok(setSegment, "trace segment for insert should exist") t.equals(setSegment.name, "Datastore/operation/Cassandra/executeBatch", "should register the executeBatch") t.ok(setSegment.children.length >= 2, "set should have atleast a dns lookup and callback child") var getSegment = setSegment.children[1].children[0] t.ok(getSegment, "trace segment for select should exist") t.equals(getSegment.name, "Datastore/operation/Cassandra/execute", "should register the execute") t.ok(getSegment.children.length >= 1, "get should have a callback segment") t.ok(getSegment.timer.hrDuration, "trace segment should have ended") transaction.end(function() { t.end() }) }) }) })
router.post('/netsensor', function(req,res){ var sensorDate = new Date(req.body.rssi_ts); var sensorType = req.body.sensor_id.substring( 0, req.body.sensor_id.indexOf("_")); var quarterHour; var x = parseInt(dateFormat(sensorDate, "MM")); switch(true) { case (x <= 15): quarterHour = '0'; break; case (x <= 30): quarterHour = '1'; break; case (x <= 45): quarterHour = '2'; break; case (x <= 60): quarterHour = '3'; break; } var queries = [ { query: "insert into netmon_date (sensor_id, rssi_date, rssi_ts, device_id, rssi) values('" + req.body.sensor_id + "', '" + dateFormat(sensorDate, "yyyymmdd") + "','" + dateFormat(sensorDate, "isoDateTime") + "','" + req.body.device_id + "'," + req.body.rssi + ")" }, { query: "insert into netmon_last (sensor_id, device_id, rssi) values('" + req.body.sensor_id + "', '" + req.body.device_id + "'," + req.body.rssi + ")" }, { query: "insert into device_date (sensor_id, rssi_date, rssi_ts, device_id, rssi) values('" + req.body.sensor_id + "', '" + dateFormat(sensorDate, "yyyymmdd") + "','" + dateFormat(sensorDate, "isoDateTime") + "','" + req.body.device_id + "'," + req.body.rssi + ")" }, { query: "insert into device_last (sensor_id, device_id, rssi) values('" + req.body.sensor_id + "', '" + req.body.device_id + "'," + req.body.rssi + ")" } ]; var consistency = cql.types.consistencies.quorum; client.executeBatch(queries, consistency, function(err) { if (err) { console.log(err); res.send(err); } else { } }); res.send(200); })