Commit 9dd11921 authored by Laura Schlimmer's avatar Laura Schlimmer
Browse files

Merge branch 'dev' of https://github.com/paulasmuth/fnordmetric-dev into metric_explorer

Conflicts:
	cmake/assets.txt
	src/fnordmetric/adminui.cc
parents c636b1bd b982e430
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -61,6 +61,8 @@ set(FNORDMETRIC_SOURCES
    ../src/fnordmetric/sql/backends/mysql/mysqltableref.cc
    ../src/fnordmetric/sql/backends/metricservice/metrictableref.cc
    ../src/fnordmetric/sql/backends/metricservice/metrictablerepository.cc
    ../src/fnordmetric/sql/backends/crate/cratebackend.cc
    ../src/fnordmetric/sql/backends/crate/cratetableref.cc
    ../src/fnordmetric/sql/expressions/aggregate.cc
    ../src/fnordmetric/sql/expressions/boolean.cc
    ../src/fnordmetric/sql/expressions/datetime.cc
+1 −0
Original line number Diff line number Diff line
#cmakedefine FNORD_ENABLE_MYSQL
#cmakedefine FNORD_ENABLE_CRATXE
+5 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#include "fnordmetric/sql/backends/metricservice/metrictablerepository.h"
#include "fnordmetric/sql/backends/csv/csvbackend.h"
#include "fnordmetric/sql/backends/mysql/mysqlbackend.h"
#include <fnordmetric/sql/backends/crate/cratebackend.h>

namespace fnordmetric {

@@ -61,6 +62,10 @@ void QueryEndpoint::handleHTTPRequest(
    query_service.registerBackend(
        std::unique_ptr<fnordmetric::query::Backend>(
            new fnordmetric::query::csv_backend::CSVBackend));

    query_service.registerBackend(
        std::unique_ptr<fnordmetric::query::Backend>(
            new fnordmetric::query::crate_backend::CrateBackend));
  }

  query::QueryService::kFormat resp_format = query::QueryService::FORMAT_JSON;
+5 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#include "cli/cli.h"
#include <fnordmetric/sql/backends/csv/csvbackend.h>
#include <fnordmetric/sql/backends/mysql/mysqlbackend.h>
#include <fnordmetric/sql/backends/crate/cratebackend.h>

namespace fnordmetric {
namespace cli {
@@ -168,6 +169,10 @@ void CLI::execute(Environment* env) {
      std::unique_ptr<fnordmetric::query::Backend>(
          new fnordmetric::query::csv_backend::CSVBackend));

  query_service.registerBackend(
      std::unique_ptr<fnordmetric::query::Backend>(
        new fnordmetric::query::crate_backend::CrateBackend));

  query_service.executeQuery(
      input,
      getOutputFormat(env),
+28 −1
Original line number Diff line number Diff line
@@ -30,6 +30,8 @@
#include <fnord-json/jsonrpc.h>
#include <fnord-metricdb/metricservice.h>
#include <fnord-metricdb/httpapiservlet.h>
#include <fnord-metricdb/httpapiservlet.h>
#include <fnord-metricdb/backends/crate/metricrepository.h>
#include "adminui.h"
#include "environment.h"
#include "chartsql/queryendpoint.h"
@@ -73,6 +75,22 @@ static MetricService makeMetricService(
    return MetricService::newWithDiskBackend(datadir, backend_scheduler);
  }

  if (backend_type == "crate") {
    if (!env()->flags()->isSet("crate_host")) {
       RAISE(
           kUsageError,
           "the --crate_host flag must be set when using the crate backend");
     }

    auto crate_host = env()->flags()->getString("crate_host");
    fnord::logInfo(
        "fnordmetric",
        "Opening crate backend at $0", crate_host);

    return MetricService::newWithBackend(
        new fnord::metric_service::crate_backend::MetricRepository(crate_host));
  }

  RAISEF(kUsageError, "unknown backend type: $0", backend_type);
}

@@ -118,7 +136,7 @@ int main(int argc, const char** argv) {
      false,
      NULL,
      "disk",
      "One of 'disk', 'inmemory', 'mysql' or 'hbase'. Default: 'disk'",
      "One of 'disk', 'inmemory' or 'crate'. Default: 'disk'",
      "<name>");

  env()->flags()->defineFlag(
@@ -130,6 +148,15 @@ int main(int argc, const char** argv) {
      "Store the database in this directory (disk backend only)",
      "<path>");

   env()->flags()->defineFlag(
      "crate_host",
      cli::FlagParser::T_STRING,
      false,
      NULL,
      "http://localhost:4200",
      "Crate host (crate backend only). Default: http://localhost:4200",
      "<host>");

  env()->flags()->defineFlag(
      "disable_external_sources",
      cli::FlagParser::T_SWITCH,
Loading