public GenericMetricEntityBatchReader(String metricName, SearchCondition condition) throws Exception { reader = new GenericEntityStreamReader(GenericMetricEntity.GENERIC_METRIC_SERVICE, condition, metricName); }
public GenericMetricEntityBatchReader(String metricName, SearchCondition condition) throws Exception{ reader = new GenericEntityStreamReader(GenericMetricEntity.GENERIC_METRIC_SERVICE, condition, metricName); }
public GenericEntityBatchReader(String serviceName, SearchCondition condition) throws InstantiationException, IllegalAccessException { reader = new GenericEntityStreamReader(serviceName, condition); reader.register(this); }
public GenericEntityBatchReader(String serviceName, SearchCondition condition) throws InstantiationException, IllegalAccessException{ reader = new GenericEntityStreamReader(serviceName, condition); reader.register(this); }
public GenericEntityQuery(String serviceName, SearchCondition condition, String metricName) throws IllegalAccessException, InstantiationException { if(serviceName.equals(GenericMetricEntity.GENERIC_METRIC_SERVICE)){ if(LOG.isDebugEnabled()) LOG.debug("List metric query"); if(metricName == null || metricName.isEmpty()){ throw new IllegalArgumentException("metricName should not be empty for metric list query"); } if(!condition.getOutputFields().contains(GenericMetricEntity.VALUE_FIELD)){ condition.getOutputFields().add(GenericMetricEntity.VALUE_FIELD); } reader = new GenericEntityStreamReader(serviceName, condition,metricName); }else{ if(LOG.isDebugEnabled()) LOG.debug("List entity query"); reader = new GenericEntityStreamReader(serviceName, condition); } reader.register(this); }
/** * it makes sense that serviceName should not be provided while metric name should be provided as prefix * * @param metricName * @param condition * @throws InstantiationException * @throws IllegalAccessException * @throws ParseException */ public GenericMetricEntityDecompactionStreamReader(String metricName, SearchCondition condition) throws InstantiationException, IllegalAccessException, ParseException { ed = EntityDefinitionManager.getEntityByServiceName(serviceName); checkIsMetric(ed); reader = new GenericEntityStreamReader(serviceName, condition, metricName); start = condition.getStartTime(); end = condition.getEndTime(); }
/** * it makes sense that serviceName should not be provided while metric name should be provided as prefix * @param metricName * @param condition * @throws InstantiationException * @throws IllegalAccessException * @throws ParseException */ public GenericMetricEntityDecompactionStreamReader(String metricName, SearchCondition condition) throws InstantiationException, IllegalAccessException, ParseException{ ed = EntityDefinitionManager.getEntityByServiceName(serviceName); checkIsMetric(ed); reader = new GenericEntityStreamReader(serviceName, condition, metricName); start = DateTimeUtil.humanDateToSeconds(condition.getStartTime())*1000; end = DateTimeUtil.humanDateToSeconds(condition.getEndTime())*1000; }
public GenericEntityStreamReaderMT(String serviceName, SearchCondition condition, int numThreads) throws Exception { checkIsTimeSeries(serviceName); checkNumThreads(numThreads); long queryStartTime = condition.getStartTime(); long queryEndTime = condition.getEndTime(); long subStartTime = queryStartTime; long subEndTime = 0; long interval = (queryEndTime - queryStartTime) / numThreads; for (int i = 0; i < numThreads; i++) { // split search condition by time range subStartTime = queryStartTime + i * interval; if (i == numThreads - 1) { subEndTime = queryEndTime; } else { subEndTime = subStartTime + interval; } // String strStartTime = DateTimeUtil.millisecondsToHumanDateWithSeconds(subStartTime); // String strEndTime = DateTimeUtil.millisecondsToHumanDateWithSeconds(subEndTime); SearchCondition sc = new SearchCondition(condition); sc.setStartTime(subStartTime); sc.setEndTime(subEndTime); GenericEntityStreamReader reader = new GenericEntityStreamReader(serviceName, sc); readers.add(reader); } }
StreamReader reader = null; if (this.entityDef.getMetricDefinition() == null) { reader = new GenericEntityStreamReader(serviceName, searchCondition); } else { // metric aggregation need metric reader reader = new GenericMetricEntityDecompactionStreamReader(this.prefix, searchCondition); StreamReader reader; if (entityDef.getMetricDefinition() == null) { reader = new GenericEntityStreamReader(serviceName, searchCondition); } else { reader = new GenericMetricEntityDecompactionStreamReader(this.prefix, searchCondition);
public GenericEntityStreamReaderMT(String serviceName, SearchCondition condition, int numThreads) throws Exception{ checkIsTimeSeries(serviceName); checkNumThreads(numThreads); long queryStartTime = DateTimeUtil.humanDateToSeconds(condition.getStartTime())*1000; long queryEndTime = DateTimeUtil.humanDateToSeconds(condition.getEndTime())*1000; long subStartTime = queryStartTime; long subEndTime = 0; long interval = (queryEndTime-queryStartTime) / numThreads; for(int i=0; i<numThreads; i++){ // split search condition by time range subStartTime = queryStartTime + i*interval; if(i == numThreads-1){ subEndTime = queryEndTime; }else{ subEndTime = subStartTime + interval; } String strStartTime = DateTimeUtil.millisecondsToHumanDateWithSeconds(subStartTime); String strEndTime = DateTimeUtil.millisecondsToHumanDateWithSeconds(subEndTime); SearchCondition sc = new SearchCondition(condition); sc.setStartTime(strStartTime); sc.setEndTime(strEndTime); GenericEntityStreamReader reader = new GenericEntityStreamReader(serviceName, sc); readers.add(reader); } }
StreamReader reader = null; if(ed.getMetricDefinition() == null){ reader = new GenericEntityStreamReader(serviceName, condition); }else{ // metric aggregation need metric reader reader = new GenericMetricEntityDecompactionStreamReader(metricName, condition); if(ed.getMetricDefinition() == null){ if(parallel <= 0){ // TODO ugly quick win reader = new GenericEntityStreamReader(serviceName, condition); }else{ reader = new GenericEntityStreamReaderMT(serviceName, condition, parallel); LOG.info("Output: " + StringUtils.join(condition.getOutputFields(), ", ")); GenericEntityStreamReader reader = new GenericEntityStreamReader(serviceName, condition); HierarchicalAggregator agg = new HierarchicalAggregator(groupbyFields, comp.aggregateFunctionTypes(), comp.aggregateFields()); reader.register(agg);
StreamReader reader = null; if(ed.getMetricDefinition() == null){ reader = new GenericEntityStreamReader(serviceName, condition); }else{ // metric aggregation need metric reader reader = new GenericMetricEntityDecompactionStreamReader(metricName, condition); if(ed.getMetricDefinition() == null){ if(parallel <= 0){ // TODO ugly quick win reader = new GenericEntityStreamReader(serviceName, condition); }else{ reader = new GenericEntityStreamReaderMT(serviceName, condition, parallel); LOG.info("Output: " + StringUtils.join(condition.getOutputFields(), ", ")); GenericEntityStreamReader reader = new GenericEntityStreamReader(serviceName, condition); HierarchicalAggregator agg = new HierarchicalAggregator(groupbyFields, comp.aggregateFunctionTypes(), comp.aggregateFields()); reader.register(agg);