public void setNodeId(final Integer id) { this.node = new QueryNode(id, null, null, null); }
private QueryResponse queryInt(final String resource, final String attribute, final long start, final long end, final long step, final String aggregation, final boolean relaxed) throws MeasurementException { QueryRequest request = new QueryRequest(); request.setRelaxed(relaxed); request.setStart(start); request.setEnd(end); request.setStep(step); Source source = new Source(); source.setAggregation(aggregation); source.setTransient(false); source.setAttribute(attribute); source.setResourceId(resource); source.setLabel(attribute); request.setSources(Collections.singletonList(source)); return measurementsService.query(request); } }
public double getLastValue(final String resource, final String attribute, final String aggregation, boolean relaxed) throws MeasurementException { long end = System.currentTimeMillis(); long start = end - (15 * 60 * 1000); QueryResponse.WrappedPrimitive[] columns = queryInt(resource, attribute, start, end, 300000, aggregation, relaxed).getColumns(); if (columns.length > 0) { double[] values = columns[0].getList(); if (values.length > 0) { for(int i = values.length-1; i >= 0; i--) { if (!Double.isNaN(values[i])) { return values[i]; } } } } return Double.NaN; }
private QueryResource getResourceInfo(final OnmsResource resource, final Source source) { if (resource == null) return null; final OnmsNode node = getNode(resource, source); return new QueryResource( resource.getId().toString(), resource.getParent() == null? null : resource.getParent().getId().toString(), resource.getLabel(), resource.getName(), node == null? null : new QueryNode(node.getId(), node.getForeignSource(), node.getForeignId(), node.getLabel()) ); } }
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()); } }
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; } }
/** * Convenience method. */ public Map<String, double[]> columnsWithLabels() { final Map<String, double[]> mappedValues = Maps.newHashMap(); for (int i = 0; i < labels.length; i++) { mappedValues.put(labels[i], columns[i].getList()); } return mappedValues; }
public void setColumns(final List<double[]> doubles) { final int N = doubles.size(); this.columns = new WrappedPrimitive[N]; for (int i = 0; i < N; i++) { this.columns[i] = new WrappedPrimitive(doubles.get(i)); } }
public MeasurementDataSource(QueryResponse queryResponse) { this.response = queryResponse; this.numberRows = 0; if (queryResponse != null && queryResponse.getTimestamps() != null) { this.numberRows = queryResponse.getTimestamps().length; } LOG.debug("New {} created with {} rows: {}", getClass().getName(), numberRows, response); }
public QueryMetadata(final List<QueryResource> resources) { this.resources = resources; if (resources != null) { final Set<QueryNode> nodes = Sets.newTreeSet(); for (final QueryResource resource : resources) { final QueryNode node = resource.getNode(); if (node != null) { nodes.add(node); } } this.nodes = nodes; } else { this.nodes = null; } }
public synchronized List<FilterMetaData> getFilterMetaData() { if (filterMetaDatas != null) { return filterMetaDatas; } filterMetaDatas = Lists.newArrayList(); for (FilterFactory module : filterFactories) { filterMetaDatas.add(new FilterMetaData(module.getFilterType())); } return filterMetaDatas; }
private QueryResponse queryInt(final String resource, final String attribute, final long start, final long end, final long step, final String aggregation, final boolean relaxed) throws MeasurementException { QueryRequest request = new QueryRequest(); request.setRelaxed(relaxed); request.setStart(start); request.setEnd(end); request.setStep(step); Source source = new Source(); source.setAggregation(aggregation); source.setTransient(false); source.setAttribute(attribute); source.setResourceId(resource); source.setLabel(attribute); request.setSources(Collections.singletonList(source)); return measurementsService.query(request); } }
public double getLastValue(final String resource, final String attribute, final String aggregation, boolean relaxed) throws MeasurementException { long end = System.currentTimeMillis(); long start = end - (15 * 60 * 1000); QueryResponse.WrappedPrimitive[] columns = queryInt(resource, attribute, start, end, 300000, aggregation, relaxed).getColumns(); if (columns.length > 0) { double[] values = columns[0].getList(); if (values.length > 0) { for(int i = values.length-1; i >= 0; i--) { if (!Double.isNaN(values[i])) { return values[i]; } } } } return Double.NaN; }
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; } }
/** * Convenience method. */ public Map<String, double[]> columnsWithLabels() { final Map<String, double[]> mappedValues = Maps.newHashMap(); for (int i = 0; i < labels.length; i++) { mappedValues.put(labels[i], columns[i].getList()); } return mappedValues; }
@XmlAttribute(name="node-id") public Integer getNodeId() { return this.node == null? null : this.node.getId(); }
public void setColumns(final List<double[]> doubles) { final int N = doubles.size(); this.columns = new WrappedPrimitive[N]; for (int i = 0; i < N; i++) { this.columns[i] = new WrappedPrimitive(doubles.get(i)); } }
/** * A method to query the Measurements Api for a given resource/attribute. * * @param resource the resource to be used * @param attribute the attribute to query for * @param start the start timestamp * @param end the end timestamp * @param step the step size * @param aggregation the aggregation method * @return the list of double values */ public List<Double> query(final String resource, final String attribute, final long start, final long end, final long step, final String aggregation, final boolean relaxed) throws MeasurementException { QueryResponse.WrappedPrimitive[] columns = queryInt(resource, attribute, start, end, step, aggregation, relaxed).getColumns(); if (columns.length > 0) { return Doubles.asList(columns[0].getList()); } return Collections.emptyList(); }
/** * A method to query the Measurements Api for a given resource/attribute. * * @param resource the resource to be used * @param attribute the attribute to query for * @param start the start timestamp * @param end the end timestamp * @param step the step size * @param aggregation the aggregation method * @return the list of double values */ public List<Double> query(final String resource, final String attribute, final long start, final long end, final long step, final String aggregation, final boolean relaxed) throws MeasurementException { QueryResponse.WrappedPrimitive[] columns = queryInt(resource, attribute, start, end, step, aggregation, relaxed).getColumns(); if (columns.length > 0) { return Doubles.asList(columns[0].getList()); } return Collections.emptyList(); }