/** * Method to query the Measurements Api. * @param request the request instance * @return the response instance * @throws Exception */ public QueryResponse query(QueryRequest request) throws MeasurementException { return measurementsService.query(request); }
private void validate(QueryRequest request) throws ValidationException { queryRequestValidator.validate(request); } }
/** * Retrieves a {@link Filter} that supports the given filter definition. * * @return null if no suitable {@link Filter} was found */ private Filter getFilter(FilterDef filterDef) { for (FilterFactory module : filterFactories) { Filter filter = module.getFilter(filterDef); if (filter != null) { return filter; } } return null; }
public static FetchResults createEmtpyFetchResults(final long step, final Map<String, Object> constants) { final Map<String, double[]> columns = new HashMap<>(); return new FetchResults(new long[0], columns, step, constants); } }
@FilterInfo(name="Derivative", description="Calculates the derivative (rate of change) between rows.") public class Derivative implements Filter { @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputColumn", required=true, displayName="Output", description="Output column.") private String m_outputColumn;
/** * Successively applies all of the filters. */ public void filter(final List<FilterDef> filterDefinitions, final RowSortedTable<Long, String, Double> table) throws FilterException { Preconditions.checkNotNull(filterDefinitions, "filterDefinitions argument"); Preconditions.checkNotNull(table, "table argument"); for (FilterDef filterDef : filterDefinitions) { Filter filter = getFilter(filterDef); if (filter == null) { throw new FilterException("No filter implementation found for {}", filterDef.getName()); } try { filter.filter(table); } catch (Throwable t) { throw new FilterException(t, "An error occurred while applying filter {}", t.getMessage()); } } }
public FilterMetaData getFilterMetaData(String filterName) { // The list of filters should be relatively small, so we afford // to iterate over the results when requested for (FilterMetaData metaData : getFilterMetaData()) { if (metaData.getName().equalsIgnoreCase(filterName) || metaData.getCanonicalName().equals(filterName)) { return metaData; } } return null; } }
/** * Applies the given filter. */ public void filter(FilterDef filterDef, RowSortedTable<Long, String, Double> table) throws Exception { Preconditions.checkNotNull(filterDef, "filterDef argument"); Preconditions.checkNotNull(table, "table argument"); filter(Lists.newArrayList(filterDef), table); }
public LocalMeasurementDataSourceWrapper(MeasurementFetchStrategy fetchStrategy, ExpressionEngine expressionEngine, FilterEngine filterEngine) { Objects.requireNonNull(fetchStrategy); Objects.requireNonNull(expressionEngine); Objects.requireNonNull(filterEngine); this.fetchService = new DefaultMeasurementsService(fetchStrategy, expressionEngine, filterEngine); }
public static FetchResults createEmtpyFetchResults(final long step, final Map<String, Object> constants) { final Map<String, double[]> columns = new HashMap<>(); return new FetchResults(new long[0], columns, step, constants, new QueryMetadata()); } }
@FilterInfo(name="Derivative", description="Calculates the derivative (rate of change) between rows.") public class Derivative implements Filter { @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputColumn", required=true, displayName="Output", description="Output column.") private String m_outputColumn;
/** * Method to query the Measurements Api. * @param request the request instance * @return the response instance * @throws Exception */ public QueryResponse query(QueryRequest request) throws MeasurementException { return measurementsService.query(request); }
public FilterMetaData getFilterMetaData(String filterName) { // The list of filters should be relatively small, so we afford // to iterate over the results when requested for (FilterMetaData metaData : getFilterMetaData()) { if (metaData.getName().equalsIgnoreCase(filterName) || metaData.getCanonicalName().equals(filterName)) { return metaData; } } return null; } }
private void validate(QueryRequest request) throws ValidationException { queryRequestValidator.validate(request); } }
/** * Retrieves a {@link Filter} that supports the given filter definition. * * @return null if no suitable {@link Filter} was found */ private Filter getFilter(FilterDef filterDef) { for (FilterFactory module : filterFactories) { Filter filter = module.getFilter(filterDef); if (filter != null) { return filter; } } return null; }
/** * Applies the given filter. */ public void filter(FilterDef filterDef, RowSortedTable<Long, String, Double> table) throws Exception { Preconditions.checkNotNull(filterDef, "filterDef argument"); Preconditions.checkNotNull(table, "table argument"); filter(Lists.newArrayList(filterDef), table); }
@FilterInfo(name="JEXL", description="Generic JEXL expression filter") public class JEXL implements Filter { @FilterParam(key="expression", required=true, displayName="Expression", description="JEXL expression.") private String m_expression;
@FilterInfo(name="Percentile", description="Calculates percentiles") public class Percentile implements Filter { @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputColumn", required=true, displayName="Output", description="Output column.") private String m_outputColumn; @FilterParam(key="quantile", value="0.95", displayName="Quantile", description="Quantile level. Must be > 0 and <= 1.") private double m_quantile;
@FilterInfo(name="JEXL", description="Generic JEXL expression filter") public class JEXL implements Filter { @FilterParam(key="expression", required=true, displayName="Expression", description="JEXL expression.") private String m_expression;
@FilterInfo(name="Percentile", description="Calculates percentiles") public class Percentile implements Filter { @FilterParam(key="inputColumn", required=true, displayName="Input", description="Input column.") private String m_inputColumn; @FilterParam(key="outputColumn", required=true, displayName="Output", description="Output column.") private String m_outputColumn; @FilterParam(key="quantile", value="0.95", displayName="Quantile", description="Quantile level. Must be > 0 and <= 1.") private double m_quantile;