Package com.dianping.cat.consumer.heartbeat.model.entity

Examples of com.dianping.cat.consumer.heartbeat.model.entity.Period


    List<Period> periods = machine.getPeriods();
    int size = periods.size();

    for (; size > 0; size--) {
      Period period = periods.get(size - 1);
      int minute = period.getMinute();

      m_periods.add(period);
      m_activeThreads[minute] = period.getThreadCount();
      m_daemonThreads[minute] = period.getDaemonCount();
      m_totalThreads[minute] = period.getTotalStartedCount();
      m_catThreads[minute] = period.getCatThreadCount();
      m_pigeonThreads[minute] = period.getPigeonThreadCount();
      m_httpThreads[minute] = period.getHttpThreadCount();
      m_catMessageProduced[minute] = period.getCatMessageProduced();
      m_catMessageOverflow[minute] = period.getCatMessageOverflow();
      period.setCatMessageSize((double) (period.getCatMessageSize() / K / K));
      m_catMessageSize[minute] = period.getCatMessageSize();
      m_newGcCount[minute] = period.getNewGcCount();
      m_oldGcCount[minute] = period.getOldGcCount();

      period.setHeapUsage(period.getHeapUsage() / K / K);
      m_heapUsage[minute] = period.getHeapUsage();

      period.setNoneHeapUsage(period.getNoneHeapUsage() / K / K);
      m_noneHeapUsage[minute] = period.getNoneHeapUsage();

      period.setMemoryFree(period.getMemoryFree() / K / K);
      m_memoryFree[minute] = period.getMemoryFree();

      m_systemLoadAverage[minute] = period.getSystemLoadAverage();

      for (Entry<String, Extension> entry : period.getExtensions()
          .entrySet()) {
        Map<String, double[]> groups = m_extensions.get(entry.getKey());

        if (groups == null) {
          groups = new LinkedHashMap<String, double[]>();
View Full Code Here


    }

    Calendar cal = Calendar.getInstance();
    cal.setTimeInMillis(timestamp);
    int minute = cal.get(Calendar.MINUTE);
    Period period = new Period(minute);

    try {
      ThreadsInfo thread = info.getThread();

      period.setThreadCount(thread.getCount());
      period.setDaemonCount(thread.getDaemonCount());
      period.setTotalStartedCount(thread.getTotalStartedCount());
      period.setCatThreadCount(thread.getCatThreadCount());
      period.setPigeonThreadCount(thread.getPigeonThreadCount());
      period.setHttpThreadCount(thread.getHttpThreadCount());

      MessageInfo catInfo = info.getMessage();

      period.setCatMessageProduced(catInfo.getProduced());
      period.setCatMessageOverflow(catInfo.getOverflowed());
      period.setCatMessageSize(catInfo.getBytes());

      MemoryInfo memeryInfo = info.getMemory();
      List<GcInfo> gcs = info.getMemory().getGcs();

      for (GcInfo gc : gcs) {
        String name = gc.getName();

        if ("ParNew".equals(name) || "PS Scavenge".equals(name)) {
          period.setNewGcCount(gc.getCount());
        } else if ("ConcurrentMarkSweep".equals(name) || "PS MarkSweep".equals(name)) {
          period.setOldGcCount(gc.getCount());
        }
      }

      period.setHeapUsage(memeryInfo.getHeapUsage());
      period.setNoneHeapUsage(memeryInfo.getNonHeapUsage());
      period.setMemoryFree(memeryInfo.getFree());
      period.setSystemLoadAverage(info.getOs().getSystemLoadAverage());

      DiskInfo diskInfo = info.getDisk();

      if (diskInfo != null) {
        for (DiskVolumeInfo volumeInfo : diskInfo.getDiskVolumes()) {
          Disk disk = new Disk(volumeInfo.getId());

          disk.setTotal(volumeInfo.getTotal());
          disk.setFree(volumeInfo.getFree());
          disk.setUsable(volumeInfo.getUsable());
          period.addDisk(disk);
        }
      }

      for (Entry<String, Extension> entry : info.getExtensions().entrySet()) {
        String id = entry.getKey();
        Extension ext = entry.getValue();

        com.dianping.cat.consumer.heartbeat.model.entity.Extension extension = period.findOrCreateExtension(id);
        for (Entry<String, String> kv : ext.getDynamicAttributes().entrySet()) {
          double value = Double.valueOf(kv.getValue());
          extension.getDetails().put(kv.getKey(), new Detail(kv.getKey()).setValue(value));
        }
      }
View Full Code Here

    }
  }

  private void processHeartbeat(HeartbeatReport report, Heartbeat heartbeat, MessageTree tree) {
    String ip = tree.getIpAddress();
    Period period = getHeartBeatInfo(heartbeat, tree.getMessage().getTimestamp());

    if (period != null) {
      report.findOrCreateMachine(ip).getPeriods().add(period);
    }
  }
View Full Code Here

  private Map<String, double[]> generateArgumentMap(Machine machine) {
    Map<String, double[]> map = new HashMap<String, double[]>();
    List<Period> periods = machine.getPeriods();

    for (int index = 0; index < periods.size(); index++) {
      Period period = periods.get(index);

      buildArray(map, index, "ThreadCount", period.getThreadCount());
      buildArray(map, index, "DaemonCount", period.getDaemonCount());
      buildArray(map, index, "TotalStartedCount", period.getTotalStartedCount());
      buildArray(map, index, "CatThreadCount", period.getCatThreadCount());
      buildArray(map, index, "PiegonThreadCount", period.getPigeonThreadCount());
      buildArray(map, index, "HttpThreadCount", period.getHttpThreadCount());
      buildArray(map, index, "NewGcCount", period.getNewGcCount());
      buildArray(map, index, "OldGcCount", period.getOldGcCount());
      buildArray(map, index, "MemoryFree", period.getMemoryFree());
      buildArray(map, index, "HeapUsage", period.getHeapUsage());
      buildArray(map, index, "NoneHeapUsage", period.getNoneHeapUsage());
      buildArray(map, index, "SystemLoadAverage", period.getSystemLoadAverage());
      buildArray(map, index, "CatMessageOverflow", period.getCatMessageOverflow());
      buildArray(map, index, "CatMessageSize", period.getCatMessageSize());
    }
    convertToDeltaArray(map, "TotalStartedCount");
    convertToDeltaArray(map, "NewGcCount");
    convertToDeltaArray(map, "OldGcCount");
    convertToDeltaArray(map, "CatMessageSize");
View Full Code Here

TOP

Related Classes of com.dianping.cat.consumer.heartbeat.model.entity.Period

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.