Package org.rhq.core.domain.measurement.ui

Examples of org.rhq.core.domain.measurement.ui.MetricDisplaySummary


        String DELIMITER = ",";
        if (LOG.isTraceEnabled()) {
            LOG.trace("parseMetricToken: input is " + token);
        }

        MetricDisplaySummary ret = new MetricDisplaySummary();

        String[] tokens = token.split(DELIMITER);
        if (tokens == null || tokens.length < 2) {
            throw new IllegalArgumentException(token + " is not valid");
        }

        if (tokens[0].equals("cg")) {
            ret.setGroupId(Integer.parseInt(tokens[1]));
            ret.setDefinitionId(Integer.parseInt(tokens[2]));
        } else if (tokens[0].equals("ag")) {
            ret.setParentId(Integer.parseInt(tokens[1]));
            ret.setDefinitionId(Integer.parseInt(tokens[2]));
            ret.setChildTypeId(Integer.parseInt(tokens[3]));
        } else {
            ret.setResourceId(Integer.parseInt(tokens[0]));
            ret.setScheduleId(Integer.parseInt(tokens[1]));
        }
        ret.setMetricToken(token);
        return ret;
    }
View Full Code Here


                }

                continue;
            }

            MetricDisplaySummary summary = new MetricDisplaySummary();

            // See MetricsDisplay.jsp for wrt the next two lines.
            summary.setNumberCollecting(collecting);
            summary.setShowNumberCollecting(true);

            summary.setDefinitionId(definitionId);
            summary.setBeginTimeFrame(begin);
            summary.setAlertCount(getAlertCountForContext(definitionId, context, begin, end));
            summary.setEndTimeFrame(end);

            MeasurementDefinition definition = entityManager.find(MeasurementDefinition.class, definitionId);
            summary.setDefinitionId(definition.getId());
            summary.setUnits(definition.getUnits().getName());
            summary.setDescription(definition.getDescription());
            summary.setMetricName(definition.getName());
            summary.setLabel(definition.getDisplayName());
            summary.setDescription(definition.getDescription());
            summary.setMetricSource(definition.getResourceType().getName());

            /*
             * Get the aggregate data from the backend and check if it is empty or not. If it is empty (for all members
             * of the group), skip over this metric.
             */
            MeasurementAggregate aggregate;
            if (totalScheduleCount == 0) {
                aggregate = new MeasurementAggregate(null, null, null);
                log.warn("No metric schedules found for def=[" + definition + "] and " + context
                    + ", using empty aggregate");
            } else {
                if (context.type == EntityContext.Type.ResourceGroup
                    && definition.getDataType() == DataType.MEASUREMENT) {
                    aggregate = dataManager.getAggregate(subject, context.getGroupId(), definitionId, begin, end);
                } else {
                    aggregate = dataUtil.getAggregateByDefinitionAndContext(begin, end, definitionId, context);
                }
            }
            if (aggregate.isEmpty()) {
                if (log.isTraceEnabled()) {
                    log.warn("No metric data found for def=[" + definition + "] and " + context + " in the timeframe ["
                        + new Date(begin) + ", " + new Date(end) + "]");
                }

                summary.setValuesPresent(false);
            }

            Map<String, MetricDisplayValue> metricValues = new HashMap<String, MetricDisplayValue>();
            metricValues.put(MetricDisplayConstants.MIN_KEY, new MetricDisplayValue(aggregate.getMin()));
            metricValues.put(MetricDisplayConstants.AVERAGE_KEY, new MetricDisplayValue(aggregate.getAvg()));
            metricValues.put(MetricDisplayConstants.MAX_KEY, new MetricDisplayValue(aggregate.getMax()));

            // TODO put the sum back on - JBNADM-2626
            //metricValues.put(MetricDisplayConstants.SUMMARY_KEY, new MetricDisplayValue(aggregate.getSum()));
            summary.setMetrics(metricValues);

            // TODO what else do we need ?

            data.add(summary);
        }
View Full Code Here

        }

        int[] measurementDefinitionIds = new int[charts.size()];
        int i = 0;
        for (String token : charts) {
            MetricDisplaySummary tmp = MeasurementUtils.parseMetricToken(token);
            measurementDefinitionIds[i++] = tmp.getDefinitionId();
        }
        return measurementDefinitionIds;
    }
View Full Code Here

                scheduleIds.add(schedule.getId());
            } catch (MeasurementNotFoundException mnfe) {
                throw new MeasurementException(mnfe);
            }

            MetricDisplaySummary summary = getMetricDisplaySummary(subject, schedule, beginTime, endTime, false);
            if (summary != null) {
                summary.setUnits(schedule.getDefinition().getUnits().name());
                // TODO: jmarques - should we add summary.setResourceId(resourceId) here?
                allMeasurementData.add(summary);
            }
        }
View Full Code Here

            subject, resourceId, dataType, null, enabledOnly); //null -> don't filter, we want everything

        List<Integer> scheduleIds = new ArrayList<Integer>(scheds.size());

        for (MeasurementSchedule schedule : scheds) {
            MetricDisplaySummary summary = getMetricDisplaySummary(subject, schedule, begin, end, narrowed);
            if (summary != null) {
                summary.setResourceId(resourceId);
                summaries.add(summary);
                scheduleIds.add(schedule.getId());
            }
        }
View Full Code Here

     *
     * @param narrowed if true, don't obtain the metrical values  NOTE: alertCounts need to be set by the caller.
     */
    private MetricDisplaySummary getMetricDisplaySummary(Subject subject, MeasurementSchedule schedule, long begin,
        long end, boolean narrowed) throws MeasurementException {
        MetricDisplaySummary summary = new MetricDisplaySummary();
        summary.setScheduleId(schedule.getId());
        summary.setBeginTimeFrame(begin);
        summary.setEndTimeFrame(end);

        MeasurementDefinition definition = schedule.getDefinition();
        summary.setDefinitionId(definition.getId());
        summary.setMetricName(definition.getName());
        summary.setLabel(definition.getDisplayName());
        summary.setDescription(definition.getDescription());
        summary.setMetricSource(schedule.getResource().getName());
        summary.setMetricSourceId(schedule.getResource().getId());

        switch (definition.getDataType()) {
        case MEASUREMENT: {
            MeasurementUnits units = definition.getUnits();
            summary.setUnits(units.name());

            NumericType type = definition.getNumericType();
            if (type == null) {
                throw new IllegalStateException("NumericType is null, but no traits are expected here");
            }

            int collectionType;
            switch (type) {
            case DYNAMIC: {
                collectionType = 0;
                break;
            }

            case TRENDSUP: {
                collectionType = 2;
                break;
            }

            case TRENDSDOWN: {
                collectionType = 3;
                break;
            }

            default: {
                throw new IllegalStateException("Unknown measurement type: " + type);
            }
            }

            summary.setCollectionType(collectionType);

            if (!narrowed) {
                MeasurementAggregate compositeHighLow = dataManager.getMeasurementAggregate(subject, schedule.getId(),
                    begin, end);
                if (compositeHighLow.isEmpty()) {
                    summary.setValuesPresent(false);
                }

                Map<String, MetricDisplayValue> metricValues = new HashMap<String, MetricDisplayValue>();
                metricValues.put(MetricDisplayConstants.MIN_KEY, new MetricDisplayValue(compositeHighLow.getMin()));
                metricValues.put(MetricDisplayConstants.AVERAGE_KEY, new MetricDisplayValue(compositeHighLow.getAvg()));
                metricValues.put(MetricDisplayConstants.MAX_KEY, new MetricDisplayValue(compositeHighLow.getMax()));
                MeasurementDataNumeric currentNumeric = dataManager.getCurrentNumericForSchedule(schedule.getId());
                Double lastValue = (currentNumeric != null) ? currentNumeric.getValue() : Double.NaN;
                metricValues.put(MetricDisplayConstants.LAST_KEY, new MetricDisplayValue(lastValue));
                summary.setMetrics(metricValues);
            }

            break;
        }

        case TRAIT: {
            summary.setIsTrait(true);
            MeasurementDataTrait trait = dataManager.getCurrentTraitForSchedule(schedule.getId());
            if (trait != null) {
                summary.setValue(trait.getValue());
                summary.setTimestamp(trait.getTimestamp());
            } else {
                summary.setValue("- nothing found -");
                summary.setTimestamp(System.currentTimeMillis());
            }

            break;
        }

View Full Code Here

                        // This is not a DataType.MEASUREMENT type measurement
                        continue;
                    }

                    int sid = defSchedMap.get(defId);
                    MetricDisplaySummary mds = new MetricDisplaySummary();
                    mds.setAlertCount(alerts.get(sid));
                    mds.setBeginTimeFrame(begin);
                    mds.setEndTimeFrame(end);
                    mds.setDefinitionId(defId);
                    mds.setMetricName(defMap.get(defId).getName());
                    mds.setLabel(defMap.get(defId).getDisplayName());
                    mds.setParentId(parentId);
                    mds.setChildTypeId(resourceTypeId);
                    summaries.add(mds);
                }
            }

            sumMap.put(resourceId, summaries);
View Full Code Here

         * if the schedule is not collecting, we don't need to add it to the result.
         */
        for (Resource res : resources) {
            List<MetricDisplaySummary> summaries = new ArrayList<MetricDisplaySummary>();
            for (MeasurementDefinition def : defs) {
                MetricDisplaySummary sum = new MetricDisplaySummary();
                sum.setDefinitionId(def.getId());
                sum.setMetricName(def.getName());
                sum.setLabel(def.getDisplayName());
                sum.setBeginTimeFrame(beginTime);
                sum.setEndTimeFrame(endTime);

                int resId = res.getId();
                if (resDefSchedMap.containsKey(resId)) {
                    Map<Integer, Integer> defSched = resDefSchedMap.get(resId);
                    if (defSched.containsKey(def.getId())) {
                        int sid = defSched.get(def.getId());
                        sum.setScheduleId(sid);
                        sum.setAlertCount(alerts.get(sid));
                        summaries.add(sum);
                    }
                }
            }

View Full Code Here

        List<MetricDisplaySummary> metricDisplaySummaries = new ArrayList<MetricDisplaySummary>();
        Locale locale = Locale.US; // This does not work as intended. See RHQ-1129
        MessageResources messageResources = createMessageResources();

        // test bytes
        MetricDisplaySummary t = createFakeMetric(1234567890.0987654321, MeasurementUnits.BYTES);
        MetricDisplaySummary u = createFakeMetric(1023, MeasurementUnits.BYTES);
        MetricDisplaySummary v = createFakeMetric(65536, MeasurementUnits.BYTES);
        MetricDisplaySummary w = createFakeMetric(0.1845, MeasurementUnits.MEGABYTES);

        metricDisplaySummaries.add(t);
        metricDisplaySummaries.add(u);
        metricDisplaySummaries.add(v);
        metricDisplaySummaries.add(w);

        Integer resourceCount = MonitorUtils.formatMetrics(metricDisplaySummaries, locale, messageResources);


        assertEquals(nf.format(1.1)+"GB", t.getAvgMetric().getValueFmt());
        nf.setMinimumFractionDigits(1); // Otherwise NumberFormat swallows the fraction digit
        assertEquals(nf.format(1023.0)+"B", u.getAvgMetric().getValueFmt());
        assertEquals(nf.format(64.0)+"KB", v.getAvgMetric().getValueFmt());
        assertEquals(nf.format(188.9)+"KB", w.getAvgMetric().getValueFmt());
    }
View Full Code Here

        List<MetricDisplaySummary> metricDisplaySummaries = new ArrayList<MetricDisplaySummary>();
        Locale locale = Locale.US;
        MessageResources messageResources = createMessageResources();

        // test time
        MetricDisplaySummary i = createFakeMetric(18515.52, MeasurementUnits.SECONDS);
        MetricDisplaySummary j = createFakeMetric(1234567890, MeasurementUnits.MILLISECONDS);
        MetricDisplaySummary k = createFakeMetric(80280000, MeasurementUnits.MILLISECONDS);
        MetricDisplaySummary l = createFakeMetric(23333331.99, MeasurementUnits.SECONDS);

        metricDisplaySummaries.add(i);
        metricDisplaySummaries.add(j);
        metricDisplaySummaries.add(k);
        metricDisplaySummaries.add(l);

        Integer resourceCount = MonitorUtils.formatMetrics(metricDisplaySummaries, locale, messageResources);

        assertEquals(nf.format(5.1)+"h", i.getAvgMetric().getValueFmt());
        assertEquals(nf.format(14.3)+"d", j.getAvgMetric().getValueFmt());
        assertEquals(nf.format(22.3)+"h", k.getAvgMetric().getValueFmt());
        assertEquals(nf.format(270.1)+"d", l.getAvgMetric().getValueFmt());
    }
View Full Code Here

TOP

Related Classes of org.rhq.core.domain.measurement.ui.MetricDisplaySummary

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.