Search in sources :

Example 1 with SqlApi

use of com.srotya.sidewinder.core.api.SqlApi in project sidewinder by srotya.

the class CalciteTest method main.

public static void main(String[] args) throws IOException, ClassNotFoundException, SQLException {
    ScheduledExecutorService bgt = Executors.newScheduledThreadPool(1, new BackgrounThreadFactory("sidewinderbg-tasks"));
    MemStorageEngine engine = new MemStorageEngine();
    engine.configure(new HashMap<>(), bgt);
    SqlApi api = new SqlApi(engine);
    api.initCalcite();
    long ts = System.currentTimeMillis();
    TimeSeries s = engine.getOrCreateTimeSeries("db1", "m1", "v1", Arrays.asList("t=1", "p=2"), 1024, false);
    for (int i = 0; i < 100; i++) {
        s.addDataPoint(TimeUnit.MILLISECONDS, ts + i * 1000, i);
    }
    String queryResults = api.queryResults("db1", "select * from db1.m1 where time_stamp>1519945488603");
    System.out.println(queryResults);
}
Also used : SqlApi(com.srotya.sidewinder.core.api.SqlApi) ScheduledExecutorService(java.util.concurrent.ScheduledExecutorService) BackgrounThreadFactory(com.srotya.sidewinder.core.utils.BackgrounThreadFactory) TimeSeries(com.srotya.sidewinder.core.storage.TimeSeries) MemStorageEngine(com.srotya.sidewinder.core.storage.mem.MemStorageEngine)

Example 2 with SqlApi

use of com.srotya.sidewinder.core.api.SqlApi in project sidewinder by srotya.

the class SidewinderServer method registerWebAPIs.

private void registerWebAPIs(Environment env, Map<String, String> conf, ScheduledExecutorService bgTasks) throws SQLException, ClassNotFoundException {
    env.jersey().register(new GrafanaQueryApi(storageEngine));
    env.jersey().register(new MeasurementOpsApi(storageEngine));
    env.jersey().register(new DatabaseOpsApi(storageEngine));
    env.jersey().register(new SqlApi(storageEngine));
    if (Boolean.parseBoolean(conf.getOrDefault("jersey.influx", "true"))) {
        env.jersey().register(new InfluxApi(storageEngine));
    }
    env.healthChecks().register("restapi", new RestAPIHealthCheck());
    if (Boolean.parseBoolean(conf.getOrDefault(ConfigConstants.AUTH_BASIC_ENABLED, ConfigConstants.FALSE))) {
        logger.info("Enabling basic authentication");
        AuthFilter<BasicCredentials, Principal> basicCredentialAuthFilter = new BasicCredentialAuthFilter.Builder<>().setAuthenticator(new BasicAuthenticator(conf.get(ConfigConstants.AUTH_BASIC_USERS))).setAuthorizer(new AllowAllAuthorizer()).setPrefix("Basic").buildAuthFilter();
        env.jersey().register(basicCredentialAuthFilter);
    }
}
Also used : SqlApi(com.srotya.sidewinder.core.api.SqlApi) BasicAuthenticator(com.srotya.sidewinder.core.security.BasicAuthenticator) GrafanaQueryApi(com.srotya.sidewinder.core.api.grafana.GrafanaQueryApi) RestAPIHealthCheck(com.srotya.sidewinder.core.monitoring.RestAPIHealthCheck) DatabaseOpsApi(com.srotya.sidewinder.core.api.DatabaseOpsApi) InfluxApi(com.srotya.sidewinder.core.api.InfluxApi) AllowAllAuthorizer(com.srotya.sidewinder.core.security.AllowAllAuthorizer) MeasurementOpsApi(com.srotya.sidewinder.core.api.MeasurementOpsApi) BasicCredentials(io.dropwizard.auth.basic.BasicCredentials) Principal(java.security.Principal)

Aggregations

SqlApi (com.srotya.sidewinder.core.api.SqlApi)2 DatabaseOpsApi (com.srotya.sidewinder.core.api.DatabaseOpsApi)1 InfluxApi (com.srotya.sidewinder.core.api.InfluxApi)1 MeasurementOpsApi (com.srotya.sidewinder.core.api.MeasurementOpsApi)1 GrafanaQueryApi (com.srotya.sidewinder.core.api.grafana.GrafanaQueryApi)1 RestAPIHealthCheck (com.srotya.sidewinder.core.monitoring.RestAPIHealthCheck)1 AllowAllAuthorizer (com.srotya.sidewinder.core.security.AllowAllAuthorizer)1 BasicAuthenticator (com.srotya.sidewinder.core.security.BasicAuthenticator)1 TimeSeries (com.srotya.sidewinder.core.storage.TimeSeries)1 MemStorageEngine (com.srotya.sidewinder.core.storage.mem.MemStorageEngine)1 BackgrounThreadFactory (com.srotya.sidewinder.core.utils.BackgrounThreadFactory)1 BasicCredentials (io.dropwizard.auth.basic.BasicCredentials)1 Principal (java.security.Principal)1 ScheduledExecutorService (java.util.concurrent.ScheduledExecutorService)1