Examples of AMinMaxAvgData


Examples of com.ajjpj.asysmon.datasink.aggregation.AMinMaxAvgData

            writeColumn(out, CSS_COLUMN_MEDIUM, "min");
            writeColumn(out, CSS_COLUMN_MEDIUM, "avg");
            writeColumn(out, CSS_COLUMN_MEDIUM, "max");
            out.println("</div></div>");

            final AMinMaxAvgData data = entry.getValue();
            writeTreeNodeRec(out, rootIdent, data, idGenerator, 0, totalNanos, 1);
        }
    }
View Full Code Here

Examples of com.ajjpj.asysmon.datasink.aggregation.AMinMaxAvgData

    private List<Map.Entry<String, AMinMaxAvgData>> getSorted(Map<String, AMinMaxAvgData> raw, long selfNanos, int numParent) {
        final List<Map.Entry<String, AMinMaxAvgData>> result = new ArrayList<Map.Entry<String, AMinMaxAvgData>>(raw.entrySet());

        if(selfNanos != 0) {
            final AMinMaxAvgData selfData = new AMinMaxAvgData(true, numParent, 0, 0, selfNanos / numParent, selfNanos, new ConcurrentHashMap<String, AMinMaxAvgData>());
            result.add(new AbstractMap.SimpleEntry<String, AMinMaxAvgData>("<self>", selfData));
        }

        Collections.sort(result, new Comparator<Map.Entry<String, AMinMaxAvgData>>() {
            @Override public int compare(Map.Entry<String, AMinMaxAvgData> o1, Map.Entry<String, AMinMaxAvgData> o2) {
View Full Code Here

Examples of com.ajjpj.asysmon.datasink.aggregation.AMinMaxAvgData

            writeColumn(out, CSS_COLUMN_MEDIUM, "min");
            writeColumn(out, CSS_COLUMN_MEDIUM, "avg");
            writeColumn(out, CSS_COLUMN_MEDIUM, "max");
            out.println("</div></div>");

            final AMinMaxAvgData data = entry.getValue();
            writeTreeNodeRec(out, rootIdent, data, idGenerator, 0, totalNanos, 1);
        }
    }
View Full Code Here

Examples of com.ajjpj.asysmon.datasink.aggregation.AMinMaxAvgData

    private List<Map.Entry<String, AMinMaxAvgData>> getSorted(Map<String, AMinMaxAvgData> raw, long selfNanos, int numParent) {
        final List<Map.Entry<String, AMinMaxAvgData>> result = new ArrayList<Map.Entry<String, AMinMaxAvgData>>(raw.entrySet());

        if(selfNanos != 0) {
            final AMinMaxAvgData selfData = new AMinMaxAvgData(true, numParent, 0, 0, selfNanos / numParent, selfNanos, new ConcurrentHashMap<String, AMinMaxAvgData>());
            result.add(new AbstractMap.SimpleEntry<String, AMinMaxAvgData>("<self>", selfData));
        }

        Collections.sort(result, new Comparator<Map.Entry<String, AMinMaxAvgData>>() {
            @Override public int compare(Map.Entry<String, AMinMaxAvgData> o1, Map.Entry<String, AMinMaxAvgData> o2) {
View Full Code Here

Examples of com.ajjpj.asysmon.datasink.aggregation.AMinMaxAvgData

    private synchronized void synchronizedCollect(AHierarchicalData newData) { //TODO change this to a non-blocking implementation
        recCollect(newData, rootMap);
    }

    private void recCollect(AHierarchicalData data, ConcurrentHashMap<String, AMinMaxAvgData> parentMap) {
        final AMinMaxAvgData prev = parentMap.get(data.getIdentifier());

        final ConcurrentHashMap<String, AMinMaxAvgData> childMap;

        if(prev == null) {
            final AMinMaxAvgData newData = new AMinMaxAvgData(data.isSerial(), data.getDurationNanos());
            childMap = newData.getChildren();
            parentMap.put(data.getIdentifier(), newData);
        }
        else {
            childMap = prev.getChildren();
            parentMap.put(data.getIdentifier(), prev.withDataPoint(data.isSerial(), data.getDurationNanos()));
View Full Code Here

Examples of com.ajjpj.asysmon.datasink.aggregation.AMinMaxAvgData

        callStack.pop();
    }

    private void doStoreJdbc(AHierarchicalData jdbcData, Iterable<AHierarchicalData> callStack, Map<String, AMinMaxAvgData> parentMap) {
        for(AHierarchicalData data: callStack) {
            final AMinMaxAvgData aggregated = registerData(data.getIdentifier(), parentMap, data.isSerial(), data.getDurationNanos());
            parentMap = aggregated.getChildren();
        }
    }
View Full Code Here

Examples of com.ajjpj.asysmon.datasink.aggregation.AMinMaxAvgData

            parentMap = aggregated.getChildren();
        }
    }

    private AMinMaxAvgData registerData(String key, Map<String, AMinMaxAvgData> map, boolean isSerial, long durationNanos) {
        AMinMaxAvgData result = map.get(key);
        if(result == null) {
            result = new AMinMaxAvgData(isSerial, durationNanos);
        }
        else {
            result = result.withDataPoint(isSerial, durationNanos);
        }
        map.put(key, result);
        return result;
    }
View Full Code Here

Examples of com.ajjpj.asysmon.datasink.aggregation.AMinMaxAvgData

            writeColumn(out, CSS_COLUMN_MEDIUM, "min");
            writeColumn(out, CSS_COLUMN_MEDIUM, "avg");
            writeColumn(out, CSS_COLUMN_MEDIUM, "max");
            out.println("</div></div>");

            final AMinMaxAvgData data = entry.getValue();
            writeTreeNodeRec(out, rootIdent, data, idGenerator, 0, totalNanos, 1);
        }
    }
View Full Code Here

Examples of com.ajjpj.asysmon.datasink.aggregation.AMinMaxAvgData

    private List<Map.Entry<String, AMinMaxAvgData>> getSorted(Map<String, AMinMaxAvgData> raw, long selfNanos, int numParent) {
        final List<Map.Entry<String, AMinMaxAvgData>> result = new ArrayList<Map.Entry<String, AMinMaxAvgData>>(raw.entrySet());

        if(selfNanos != 0) {
            final AMinMaxAvgData selfData = new AMinMaxAvgData(true, numParent, 0, 0, selfNanos / numParent, selfNanos, new ConcurrentHashMap<String, AMinMaxAvgData>());
            result.add(new AbstractMap.SimpleEntry<String, AMinMaxAvgData>("<self>", selfData));
        }

        Collections.sort(result, new Comparator<Map.Entry<String, AMinMaxAvgData>>() {
            @Override public int compare(Map.Entry<String, AMinMaxAvgData> o1, Map.Entry<String, AMinMaxAvgData> o2) {
View Full Code Here

Examples of com.ajjpj.asysmon.datasink.aggregation.AMinMaxAvgData

    private List<TreeNode> getDataRec(Map<String, AMinMaxAvgData> map, int level, double jdbcTimeInParent, double totalJdbcTime, int totalNumCallsInContext) {
        final List<TreeNode> result = new ArrayList<TreeNode>();

        for(Map.Entry<String, AMinMaxAvgData> entry: getSorted(map, level == 0)) {
            final AMinMaxAvgData inputData = entry.getValue();

            final double jdbcTimeHere = (level == 0) ? inputData.getTotalNanos() : jdbcTimeInParent * inputData.getTotalNumInContext() / totalNumCallsInContext;
            final double timeFracLocal = jdbcTimeHere / jdbcTimeInParent;
            final double timeFracGlobal = jdbcTimeHere / totalJdbcTime;

            final long[] dataRaw = new long[] {
                    (long)(timeFracGlobal * 100 * 10),
                    (long)(timeFracLocal * 100 * 10),
                    inputData.getTotalNumInContext(),
                    inputData.getAvgNanos() / MILLION,
                    inputData.getMinNanos() / MILLION,
                    inputData.getMaxNanos() / MILLION
            };

            int totalChildCalls = 0;
            for(AMinMaxAvgData childData: inputData.getChildren().values()) {
                totalChildCalls += childData.getTotalNumInContext();
            }

            result.add(new TreeNode(entry.getKey(), inputData.isSerial(), dataRaw, getDataRec(inputData.getChildren(), level+1, jdbcTimeHere, totalJdbcTime, totalChildCalls)));
        }

        return result;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.