Commit a42ae915 authored by Daniele Tafani's avatar Daniele Tafani
Browse files

Cleaned Makefile

parent eacba56a
...@@ -214,6 +214,7 @@ int main(int argc, char *argv[]) ...@@ -214,6 +214,7 @@ int main(int argc, char *argv[])
} }
_httpsServer = new RestAPI(restAPISettings, hierarchySettings, _cassandraConnection); _httpsServer = new RestAPI(restAPISettings, hierarchySettings, _cassandraConnection);
//_httpsServer = new RestAPI(restAPISettings, hierarchySettings);
_configuration->readRestAPIUsers(_httpsServer); _configuration->readRestAPIUsers(_httpsServer);
if (globalSettings.daemonize) { if (globalSettings.daemonize) {
...@@ -235,7 +236,7 @@ int main(int argc, char *argv[]) ...@@ -235,7 +236,7 @@ int main(int argc, char *argv[])
//dummy to keep io service alive even if no tasks remain (e.g. because all sensors have been stopped over REST API) //dummy to keep io service alive even if no tasks remain (e.g. because all sensors have been stopped over REST API)
keepAliveWork = boost::make_shared<boost::asio::io_service::work>(io); keepAliveWork = boost::make_shared<boost::asio::io_service::work>(io);
//Create pool of threads which handle the sensors //Create pool of threads which handle the sensors
for(size_t i = 0; i < globalSettings.threads; i++) { for(size_t i = 0; i < globalSettings.threads; i++) {
threads.create_thread(bind(static_cast< size_t (boost::asio::io_service::*) () >(&boost::asio::io_service::run), &io)); threads.create_thread(bind(static_cast< size_t (boost::asio::io_service::*) () >(&boost::asio::io_service::run), &io));
...@@ -259,7 +260,7 @@ int main(int argc, char *argv[]) ...@@ -259,7 +260,7 @@ int main(int argc, char *argv[])
LOG(trace) << "Running..."; LOG(trace) << "Running...";
//Run until Strg+C //Run until Strg+C
threads.join_all(); // threads.join_all();
//will only continue if interrupted by SIGINT and threads were stopped //will only continue if interrupted by SIGINT and threads were stopped
......
include ../config.mk include ../config.mk
CXXFLAGS = -O2 \ CXXFLAGS += -I../common/include/ \
--std=c++11 \
-Wno-unused-local-typedefs \
-Wno-deprecated-declarations \
-Wno-unknown-warning-option \
-fmessage-length=0 \
-I../common/include/ \
-I../lib/include \ -I../lib/include \
-I$(DCDBDEPLOYPATH)/include \ -I$(DCDBDEPLOYPATH)/include
-DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG \
-DBOOST_LOG_DYN_LINK \
-DBOOST_TEST_DYN_LINK
OBJS = ../common/src/sensornavigator.o \ OBJS = ../common/src/sensornavigator.o \
../common/src/globalconfiguration.o \ ../common/src/globalconfiguration.o \
../common/src/RESTHttpsServer.o \ ../common/src/RESTHttpsServer.o \
../common/src/logging.o \ ../common/src/logging.o \
GrafanaServer.o \ GrafanaServer.o \
RestAPI.o \ RestAPI.o \
Configuration.o Configuration.o
LIBS = -L$(DCDBDEPLOYPATH)/lib/ \ LIBS = -L$(DCDBDEPLOYPATH)/lib/ \
-L../lib \ -L../lib \
...@@ -31,7 +22,6 @@ LIBS = -L$(DCDBDEPLOYPATH)/lib/ \ ...@@ -31,7 +22,6 @@ LIBS = -L$(DCDBDEPLOYPATH)/lib/ \
-lboost_log \ -lboost_log \
-lboost_regex \ -lboost_regex \
-lboost_log_setup \ -lboost_log_setup \
-lpthread \
-lcrypto \ -lcrypto \
-lssl -lssl
...@@ -46,7 +36,6 @@ $(TARGET): $(OBJS) ...@@ -46,7 +36,6 @@ $(TARGET): $(OBJS)
@LD_LIBRARY_PATH=$(DCDBDEPLOYPATH)/lib:$$LD_LIBRARY_PATH \ @LD_LIBRARY_PATH=$(DCDBDEPLOYPATH)/lib:$$LD_LIBRARY_PATH \
$(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJS) $(LIBS) $(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJS) $(LIBS)
all: $(TARGET) all: $(TARGET)
debug: CXXFLAGS += -DDEBUG debug: CXXFLAGS += -DDEBUG
......
...@@ -36,11 +36,11 @@ ...@@ -36,11 +36,11 @@
std::placeholders::_2, \ std::placeholders::_2, \
std::placeholders::_3) std::placeholders::_3)
DCDB::Connection* conn;
RestAPI::RestAPI(serverSettings_t settings, RestAPI::RestAPI(serverSettings_t settings,
hierarchySettings_t hierarchySettings, hierarchySettings_t hierarchySettings) :
DCDB::Connection* cassandraConnection) : RESTHttpsServer(settings) {
RESTHttpsServer(settings),
_connection(cassandraConnection) {
//Configuring endpoints //Configuring endpoints
addEndpoint("/", {http::verb::get, stdBind(GET_datasource)}); addEndpoint("/", {http::verb::get, stdBind(GET_datasource)});
...@@ -48,26 +48,43 @@ RestAPI::RestAPI(serverSettings_t settings, ...@@ -48,26 +48,43 @@ RestAPI::RestAPI(serverSettings_t settings,
addEndpoint("/search", {http::verb::post, stdBind(POST_search)}); addEndpoint("/search", {http::verb::post, stdBind(POST_search)});
addEndpoint("/query", {http::verb::post, stdBind(POST_query)}); addEndpoint("/query", {http::verb::post, stdBind(POST_query)});
//_connection = cassandraConnection;
std::cout << "Trying connecting..." << std::endl;
conn = new DCDB::Connection();
conn->setHostname("127.0.0.1");
conn->setPort(atoi("9042"));
// if (!conn->connect()) {
// LOG(fatal) << "Failed to connect to the Cassandra database!";
// }
LOG(info) << "Retrieving published sensor names and topics..."; LOG(info) << "Retrieving published sensor names and topics...";
//Get the list of all public sensors and topics. //Get the list of all public sensors and topics.
std::list<DCDB::PublicSensor> publicSensors; // std::list<DCDB::PublicSensor> publicSensors;
_sensorConfig = new DCDB::SensorConfig(_connection); // DCDB::SensorConfig sensorConfig(conn);
_sensorConfig->getPublicSensorsVerbose(publicSensors); //sensorConfig.getPublicSensorsVerbose(publicSensors);
std::vector<std::string> sensors;
std::vector<std::string> topics;
for(auto s : publicSensors) {
sensors.push_back(s.name);
topics.push_back(s.pattern);
}
//Build the tree navigator
LOG(info) << "Building the sensor navigator...";
_navigator = new SensorNavigator(); //_sensorConfig = new DCDB::SensorConfig(cassandraConnection);
_navigator->buildTree(hierarchySettings.regex, &sensors, &topics, hierarchySettings.separator); //_sensorConfig->getPublicSensorsVerbose(publicSensors);
//
// std::vector<std::string> sensors;
// std::vector<std::string> topics;
//
// for(auto& s : publicSensors) {
// sensors.push_back(s.name);
// topics.push_back(s.pattern);
// }
//
// //Build the tree navigator
// LOG(info) << "Building the sensor navigator...";
//
// _navigator = new SensorNavigator();
// std::cout << "Ok" << std::endl;
// _navigator->buildTree(hierarchySettings.regex, &sensors, &topics, hierarchySettings.separator);
// std::cout << "Ok" << std::endl;
} }
//Dummy GET request to create a datasource. All necessary checks that could be peformed here are //Dummy GET request to create a datasource. All necessary checks that could be peformed here are
...@@ -203,8 +220,12 @@ void::RestAPI::POST_query(endpointArgs) { ...@@ -203,8 +220,12 @@ void::RestAPI::POST_query(endpointArgs) {
for(auto& sensorName : sensors) { for(auto& sensorName : sensors) {
DCDB::Sensor sensor(_connection, sensorName); // DCDB::SensorConfig sc(_connection);
_sensorConfig->getPublicSensorByName(ps,sensorName.c_str()); // DCDB::Sensor sensor(_connection, sensorName);
DCDB::SensorConfig sc(conn);
DCDB::Sensor sensor(conn, sensorName);
//_sensorConfig->getPublicSensorByName(ps,sensorName.c_str());
sc.getPublicSensorByName(ps,sensorName.c_str());
//Shoot the query for this sensor. //Shoot the query for this sensor.
std::list<DCDB::SensorDataStoreReading> results; std::list<DCDB::SensorDataStoreReading> results;
...@@ -217,7 +238,9 @@ void::RestAPI::POST_query(endpointArgs) { ...@@ -217,7 +238,9 @@ void::RestAPI::POST_query(endpointArgs) {
datapoints += "[" + std::to_string(r.value * ps.scaling_factor) + "," datapoints += "[" + std::to_string(r.value * ps.scaling_factor) + ","
+ std::to_string(r.timeStamp.getRaw()/1000000) + "],"; + std::to_string(r.timeStamp.getRaw()/1000000) + "],";
datapoints.pop_back(); if(datapoints.back() == ',')
datapoints.pop_back();
datapoints += "]"; datapoints += "]";
res.body() += "{\"target\":\"" + sensorName + "\",\"datapoints\":" + datapoints + "},"; res.body() += "{\"target\":\"" + sensorName + "\",\"datapoints\":" + datapoints + "},";
} }
......
...@@ -51,9 +51,11 @@ ...@@ -51,9 +51,11 @@
class RestAPI : public RESTHttpsServer { class RestAPI : public RESTHttpsServer {
public: public:
RestAPI(serverSettings_t settings, RestAPI(serverSettings_t settings,
hierarchySettings_t hierarchySettings, hierarchySettings_t hierarchySettings);
DCDB::Connection* cassandraConnection); // RestAPI(serverSettings_t settings,
// hierarchySettings_t hierarchySettings,
// DCDB::Connection* cassandraConnection);
//
virtual ~RestAPI() {} virtual ~RestAPI() {}
private: private:
......
global { global {
threads 24 threads 1
verbosity 3 verbosity 3
daemonize false daemonize false
tempdir . tempdir .
...@@ -10,14 +10,18 @@ cassandra { ...@@ -10,14 +10,18 @@ cassandra {
} }
hierarchy { hierarchy {
separator ,
; regex mpp3.,r\\d{2}.,c\\d{2}.,s\\d{2}.,cpu\\d+
regex /mpp2,/r\\d{2},/c\\d{2},/s\\d{2}
} }
restAPI { restAPI {
address 127.0.0.1:8081 address 127.0.0.1:8081
certificate ../../deps/openssl-1.1.1c/test/certs/ca-cert.pem certificate /Users/di34bap/Projects/dcdb-grafana/deps/openssl-1.1.1c/test/certs/ca-cert.pem
privateKey ../../deps/openssl-1.1.1c/test/certs/ca-key.pem privateKey /Users/di34bap/Projects/dcdb-grafana/deps/openssl-1.1.1c/test/certs/ca-key.pem
dhFile ../../deps/openssl-1.1.1c/crypto/dh/dh2048.pem dhFile /Users/di34bap/Projects/dcdb-grafana/deps/openssl-1.1.1c/crypto/dh/dh2048.pem
user user1 { user user1 {
...@@ -32,7 +36,7 @@ restAPI { ...@@ -32,7 +36,7 @@ restAPI {
POST POST
} }
user user3 { user user3 {
password pass3 password pass3
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment