Commit 0e713976 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

queryservice

parent edfb4c61
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ set(FNORDMETRIC_SOURCES
    $<TARGET_OBJECTS:fnord-metricdb>
    $<TARGET_OBJECTS:fnord-sstable>
    ../src/environment.cc
    ../src/queryendpoint.cc)
    ../src/chartsql/queryendpoint.cc
    #stage/src/fnordmetric/util/assets.cc
    #stage/src/fnordmetric/sql/backends/csv/csvbackend.cc
    #stage/src/fnordmetric/sql/backends/csv/csvinputstream.cc
@@ -78,8 +78,8 @@ set(FNORDMETRIC_SOURCES
    #stage/src/fnordmetric/sql_extensions/domainconfig.cc
    #stage/src/fnordmetric/sql_extensions/drawstatement.cc
    #stage/src/fnordmetric/sql_extensions/seriesadapter.cc
    #stage/src/fnordmetric/query/query.cc
    #stage/src/fnordmetric/query/queryservice.cc
    ../src/chartsql/query.cc
    ../src/chartsql/queryservice.cc)

#add_executable(fnordmetric-cli ${FNORDMETRIC_SOURCES} ../src/cli.cc)
#target_link_libraries(fnordmetric-cli m)
+0 −0

File moved.

+0 −0

File moved.

+12 −11
Original line number Diff line number Diff line
@@ -8,7 +8,8 @@
 * <http://www.gnu.org/licenses/>.
 */
#include <fnord-chart/svgtarget.h>
#include <fnord/io/inputstream.h>
#include <fnord-base/io/inputstream.h>
#include <fnord-base/logging.h>
#include <fnord-json/jsonoutputstream.h>
#include <environment.h>
#include <chartsql/query.h>
@@ -23,9 +24,9 @@ namespace query {
QueryService::QueryService() {}

void QueryService::executeQuery(
    std::shared_ptr<fnord::io::InputStream> input_stream,
    std::shared_ptr<fnord::InputStream> input_stream,
    kFormat output_format,
    std::shared_ptr<fnord::io::OutputStream> output_stream) {
    std::shared_ptr<fnord::OutputStream> output_stream) {
  std::unique_ptr<TableRepository> table_repo(new TableRepository());
  executeQuery(
      input_stream,
@@ -35,9 +36,9 @@ void QueryService::executeQuery(
}

void QueryService::executeQuery(
    std::shared_ptr<fnord::io::InputStream> input_stream,
    std::shared_ptr<fnord::InputStream> input_stream,
    kFormat output_format,
    std::shared_ptr<fnord::io::OutputStream> output_stream,
    std::shared_ptr<fnord::OutputStream> output_stream,
    std::unique_ptr<TableRepository> table_repo,
    int width /* = -1 */,
    int height /* = -1 */) {
@@ -45,10 +46,10 @@ void QueryService::executeQuery(
  input_stream->readUntilEOF(&query_string);

  if (fnordmetric::env()->verbose()) {
    fnordmetric::env()->logger()->printf(
        "DEBUG",
        "Executing ChartSQL query: %s",
        query_string.c_str());
    fnord::logDebug(
        "fnordmetric",
        "Executing ChartSQL query: $0",
        query_string);
  }

  try {
@@ -164,7 +165,7 @@ void QueryService::renderJSON(

    for (int i = 0; i < query->getNumCharts(); ++i) {
      std::string svg_data;
      auto string_stream = fnord::io::StringOutputStream::fromString(&svg_data);
      auto string_stream = fnord::StringOutputStream::fromString(&svg_data);
      fnord::chart::SVGTarget svg_target(string_stream.get());
      auto chart = query->getChart(i);
      chart->setDimensions(width, height);
@@ -201,7 +202,7 @@ void QueryService::renderJSON(

void QueryService::renderTables(
    Query* query,
    fnord::io::OutputStream* out) const {
    fnord::OutputStream* out) const {
  for (int i = 0; i < query->getNumResultLists(); ++i) {
    const auto result_list = query->getResultList(i);
    result_list->debugPrint();
+6 −6
Original line number Diff line number Diff line
@@ -30,8 +30,8 @@
#include <fnord-json/jsonrpc.h>
#include <fnord-metricdb/metricservice.h>
#include <fnord-metricdb/httpapiservlet.h>
#include <environment.h>
#include <queryendpoint.h>
#include "environment.h"
#include "chartsql/queryendpoint.h"

using fnord::metric_service::MetricService;
using namespace fnordmetric;
@@ -46,7 +46,7 @@ static MetricService makeMetricService(

  /* open inmemory backend */
  if (backend_type == "inmemory") {
    fnord::logInfo("fnordmetric-server", "Opening new inmemory backend");
    fnord::logInfo("fnordmetric", "Opening new inmemory backend");
    return MetricService::newWithInMemoryBackend();
  }

@@ -68,7 +68,7 @@ static MetricService makeMetricService(
      RAISEF(kIOError, "File $0 is not a directory", datadir);
    }

    fnord::logInfo("fnordmetric-server", "Opening disk backend at $0", datadir);
    fnord::logInfo("fnordmetric", "Opening disk backend at $0", datadir);
    return MetricService::newWithDiskBackend(datadir, backend_scheduler);
  }

@@ -215,7 +215,7 @@ int main(int argc, const char** argv) {
      auto statsd_port = env()->flags()->getInt("statsd_port");

      fnord::logInfo(
          "fnordmetric-server",
          "fnordmetric",
          "Starting StatsD server on port $0",
          statsd_port);

@@ -225,7 +225,7 @@ int main(int argc, const char** argv) {
    /* start event loop */
    evloop.run();
  } catch (const fnord::Exception& e) {
    fnord::logError("fnordmetric-server", e, "FATAL ERROR");
    fnord::logError("fnordmetric", e, "FATAL ERROR");

    if (e.getTypeName() == kUsageError) {
      printUsage();