Search in sources :

Example 6 with ActiveTraceHistogramBo

use of com.navercorp.pinpoint.common.server.bo.ActiveTraceHistogramBo in project pinpoint by naver.

the class LegacyAgentStatMapper method mapRow.

public List<AgentStat> mapRow(Result result, int rowNum) throws Exception {
    if (result.isEmpty()) {
        return Collections.emptyList();
    }
    final byte[] rowKey = getOriginalKey(result.getRow());
    final String agentId = BytesUtils.toString(rowKey, 0, AGENT_NAME_MAX_LEN).trim();
    final long reverseTimestamp = BytesUtils.bytesToLong(rowKey, AGENT_NAME_MAX_LEN);
    final long timestamp = TimeUtils.recoveryTimeMillis(reverseTimestamp);
    NavigableMap<byte[], byte[]> qualifierMap = result.getFamilyMap(AGENT_STAT_CF_STATISTICS);
    if (qualifierMap.containsKey(AGENT_STAT_CF_STATISTICS_V1)) {
        // FIXME (2014.08) Legacy support for TAgentStat Thrift DTO stored directly into hbase.
        return readAgentStatThriftDto(agentId, timestamp, qualifierMap.get(AGENT_STAT_CF_STATISTICS_V1));
    } else if (qualifierMap.containsKey(AGENT_STAT_CF_STATISTICS_MEMORY_GC) || qualifierMap.containsKey(AGENT_STAT_CF_STATISTICS_CPU_LOAD)) {
        // FIXME (2015.10) Legacy column for storing serialzied Bos separately.
        return readSerializedBos(agentId, timestamp, qualifierMap);
    }
    AgentStat agentStat = new AgentStat(agentId, timestamp);
    if (qualifierMap.containsKey(AGENT_STAT_COL_INTERVAL)) {
        agentStat.setCollectInterval(Bytes.toLong(qualifierMap.get(AGENT_STAT_COL_INTERVAL)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_GC_TYPE)) {
        agentStat.setGcType(Bytes.toString(qualifierMap.get(AGENT_STAT_COL_GC_TYPE)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_GC_OLD_COUNT)) {
        agentStat.setGcOldCount(Bytes.toLong(qualifierMap.get(AGENT_STAT_COL_GC_OLD_COUNT)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_GC_OLD_TIME)) {
        agentStat.setGcOldTime(Bytes.toLong(qualifierMap.get(AGENT_STAT_COL_GC_OLD_TIME)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_HEAP_USED)) {
        agentStat.setHeapUsed(Bytes.toLong(qualifierMap.get(AGENT_STAT_COL_HEAP_USED)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_HEAP_MAX)) {
        agentStat.setHeapMax(Bytes.toLong(qualifierMap.get(AGENT_STAT_COL_HEAP_MAX)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_NON_HEAP_USED)) {
        agentStat.setNonHeapUsed(Bytes.toLong(qualifierMap.get(AGENT_STAT_COL_NON_HEAP_USED)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_NON_HEAP_MAX)) {
        agentStat.setNonHeapMax(Bytes.toLong(qualifierMap.get(AGENT_STAT_COL_NON_HEAP_MAX)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_JVM_CPU)) {
        agentStat.setJvmCpuUsage(Bytes.toDouble(qualifierMap.get(AGENT_STAT_COL_JVM_CPU)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_SYS_CPU)) {
        agentStat.setSystemCpuUsage(Bytes.toDouble(qualifierMap.get(AGENT_STAT_COL_SYS_CPU)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_TRANSACTION_SAMPLED_NEW)) {
        agentStat.setSampledNewCount(Bytes.toLong(qualifierMap.get(AGENT_STAT_COL_TRANSACTION_SAMPLED_NEW)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_TRANSACTION_SAMPLED_CONTINUATION)) {
        agentStat.setSampledContinuationCount(Bytes.toLong(qualifierMap.get(AGENT_STAT_COL_TRANSACTION_SAMPLED_CONTINUATION)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_TRANSACTION_UNSAMPLED_NEW)) {
        agentStat.setUnsampledNewCount(Bytes.toLong(qualifierMap.get(AGENT_STAT_COL_TRANSACTION_UNSAMPLED_NEW)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_TRANSACTION_UNSAMPLED_CONTINUATION)) {
        agentStat.setUnsampledContinuationCount(Bytes.toLong(qualifierMap.get(AGENT_STAT_COL_TRANSACTION_UNSAMPLED_CONTINUATION)));
    }
    if (qualifierMap.containsKey(AGENT_STAT_COL_ACTIVE_TRACE_HISTOGRAM)) {
        ActiveTraceHistogramBo activeTraceHistogramBo = new ActiveTraceHistogramBo(qualifierMap.get(AGENT_STAT_COL_ACTIVE_TRACE_HISTOGRAM));
        agentStat.setHistogramSchema(BaseHistogramSchema.getDefaultHistogramSchemaByTypeCode(activeTraceHistogramBo.getHistogramSchemaType()));
        agentStat.setActiveTraceCounts(activeTraceHistogramBo.getActiveTraceCountMap());
    }
    List<AgentStat> agentStats = new ArrayList<>();
    agentStats.add(agentStat);
    return agentStats;
}
Also used : AgentStat(com.navercorp.pinpoint.web.vo.AgentStat) TAgentStat(com.navercorp.pinpoint.thrift.dto.TAgentStat) ActiveTraceHistogramBo(com.navercorp.pinpoint.common.server.bo.ActiveTraceHistogramBo) ArrayList(java.util.ArrayList)

Aggregations

ActiveTraceHistogramBo (com.navercorp.pinpoint.common.server.bo.ActiveTraceHistogramBo)6 Test (org.junit.Test)3 SlotType (com.navercorp.pinpoint.common.trace.SlotType)1 TActiveTrace (com.navercorp.pinpoint.thrift.dto.TActiveTrace)1 TAgentStat (com.navercorp.pinpoint.thrift.dto.TAgentStat)1 TCpuLoad (com.navercorp.pinpoint.thrift.dto.TCpuLoad)1 TJvmGc (com.navercorp.pinpoint.thrift.dto.TJvmGc)1 TTransaction (com.navercorp.pinpoint.thrift.dto.TTransaction)1 AgentStat (com.navercorp.pinpoint.web.vo.AgentStat)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Put (org.apache.hadoop.hbase.client.Put)1