当前位置: 首页>>代码示例>>Java>>正文


Java Statistics类代码示例

本文整理汇总了Java中com.github.dockerjava.api.model.Statistics的典型用法代码示例。如果您正苦于以下问题:Java Statistics类的具体用法?Java Statistics怎么用?Java Statistics使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Statistics类属于com.github.dockerjava.api.model包,在下文中一共展示了Statistics类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: statsContainer

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
public Statistics statsContainer(String id) throws IOException {
    this.readWriteLock.readLock().lock();

    try {
        StatsCmd statsCmd = this.dockerClient.statsCmd(id);
        CountDownLatch countDownLatch = new CountDownLatch(1);
        StatsLogsResultCallback statslogs = new StatsLogsResultCallback(countDownLatch);
        try {
            StatsLogsResultCallback statscallback = statsCmd.exec(statslogs);
            countDownLatch.await(5, TimeUnit.SECONDS);
            statscallback.close();
        } catch (InterruptedException e) {
            throw new IOException(e);
        }
        return statslogs.getStatistics();
    } finally {
        this.readWriteLock.readLock().unlock();
    }
}
 
开发者ID:arquillian,项目名称:arquillian-cube,代码行数:20,代码来源:DockerClientExecutor.java

示例2: onStats

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
@Override
public void onStats(Statistics statistics) {

    LOGGER.debug("Received Docker Statistics Event: " + statistics);

    final Exchange exchange = getEndpoint().createExchange();
    Message message = exchange.getIn();
    message.setBody(statistics);

    try {
        LOGGER.trace("Processing exchange [{}]...", exchange);
        getAsyncProcessor().process(exchange, new AsyncCallback() {
            @Override
            public void done(boolean doneSync) {
                LOGGER.trace("Done processing exchange [{}]...", exchange);
            }
        });
    } catch (Exception e) {
        exchange.setException(e);
    }
    if (exchange.getException() != null) {
        getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException());
    }

}
 
开发者ID:HydAu,项目名称:Camel,代码行数:26,代码来源:DockerStatsConsumer.java

示例3: getNetInfo

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
protected NetInfo getNetInfo() {
  NetInfo netInfo = new NetInfo();
  Statistics stats = docker.getStatistics(containerId);
  Map<String, Object> networksStats = stats.getNetworks();

  for (String key : networksStats.keySet()) {
    Map<String, Object> iface = (Map<String, Object>) networksStats.get(key);
    int rxBytes = (Integer) iface.get("rx_bytes");
    int txBytes = (Integer) iface.get("tx_bytes");

    netInfo.putNetInfo(key, rxBytes, txBytes);
  }
  return netInfo;
}
 
开发者ID:Kurento,项目名称:kurento-java,代码行数:17,代码来源:KmsDockerMonitor.java

示例4: onNext

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
@Override
public void onNext(Statistics stats) {
    if (stats != null) {
        this.stats = Optional.of(stats);
        completed.countDown();
        onComplete();
    }
}
 
开发者ID:vespa-engine,项目名称:vespa,代码行数:9,代码来源:DockerImpl.java

示例5: getStatistics

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
public Statistics getStatistics(String containerId) {
  FirstObjectResultCallback<Statistics> resultCallback = new FirstObjectResultCallback<>();

  try {
    return getClient().statsCmd(containerId).exec(resultCallback).waitForObject();
  } catch (InterruptedException e) {
    throw new KurentoException("Interrupted while waiting for statistics");
  }
}
 
开发者ID:Kurento,项目名称:kurento-java,代码行数:10,代码来源:Docker.java

示例6: getCpuUsage

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
protected double getCpuUsage() {
  double cpuUsage = 0;
  Statistics stats = docker.getStatistics(containerId);
  Map<String, Object> cpuStats = stats.getCpuStats();

  if (cpuStats != null) {
    Map<String, Object> cpuUsageMap = (Map<String, Object>) cpuStats.get("cpu_usage");
    long systemUsage = Long.parseLong(cpuStats.get("system_cpu_usage").toString());
    long totalUsage = Long.parseLong(cpuUsageMap.get("total_usage").toString());

    List<Object> perCpuUsage = (List<Object>) cpuUsageMap.get("percpu_usage");

    if (previousCpu != -1 && previousSystem != -1) {
      // Using same formula than
      // https://github.com/docker/docker/blob/master/api/client/stats.go

      float cpuDelta = totalUsage - previousCpu;
      float systemDelta = systemUsage - previousSystem;

      if (cpuDelta > 0 && systemDelta > 0) {
        cpuUsage = cpuDelta / systemDelta * perCpuUsage.size() * 100;
      }
    }

    previousCpu = totalUsage;
    previousSystem = systemUsage;
  }

  return cpuUsage;
}
 
开发者ID:Kurento,项目名称:kurento-java,代码行数:33,代码来源:KmsDockerMonitor.java

示例7: getMem

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
@Override
protected double[] getMem() {
  double[] out = { 0, 0 };

  Statistics stats = docker.getStatistics(containerId);
  Map<String, Object> memoryStats = stats.getMemoryStats();
  int usage = (Integer) memoryStats.get("usage");
  float limit = (Long) memoryStats.get("limit");
  double memPercent = usage / limit * 100;

  out[0] = usage;
  out[1] = memPercent;

  return out;
}
 
开发者ID:Kurento,项目名称:kurento-java,代码行数:16,代码来源:KmsDockerMonitor.java

示例8: callbackNotifier

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
@Override
protected AbstractCallbackNotifier<Statistics> callbackNotifier(StatsCmd command,
        ResultCallback<Statistics> resultCallback) {

    WebTarget webTarget = getBaseResource().path("/containers/{id}/stats").resolveTemplate("id",
            command.getContainerId());

    LOGGER.trace("GET: {}", webTarget);

    return new GETCallbackNotifier<Statistics>(new JsonStreamProcessor<Statistics>(Statistics.class),
            resultCallback, webTarget.request());
}
 
开发者ID:docker-java,项目名称:docker-java,代码行数:13,代码来源:StatsCmdExec.java

示例9: onNext

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
@Override
public void onNext(Statistics stats) {
    LOG.info("Received stats #{}: {}", countDownLatch.getCount(), stats);
    if (stats != null) {
        gotStats = true;
    }
    countDownLatch.countDown();
}
 
开发者ID:docker-java,项目名称:docker-java,代码行数:9,代码来源:StatsCmdIT.java

示例10: onNext

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
@Override
public void onNext(Statistics statistics) {
    if (statistics != null) {
        this.statistics = statistics;
        this.onComplete();
    }
    this.countDownLatch.countDown();
}
 
开发者ID:arquillian,项目名称:arquillian-cube,代码行数:9,代码来源:StatsLogsResultCallback.java

示例11: onNext

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
@Override
public void onNext(Statistics stats) {
	listCommands.refresh();
	BoxContainer boxContainer = listCommands
			.getBoxContainerWithID(containerID);
	Container container = listCommands.getFromAllWithName(boxContainer
			.getName());
	
	NumberFormat formatter = new DecimalFormat("#0.00");

	double memoryUsage = Double.parseDouble(formatter
			.format((((Integer) stats.getMemoryStats().get("usage"))
					.doubleValue() / ((Integer) stats.getMemoryStats().get(
					"limit")).doubleValue()) * 100D));
	Object totalUsage = ((LinkedHashMap) stats.getCpuStats().get(
			"cpu_usage")).get("total_usage");
	double totalUsageDouble = 0D;
	if (totalUsage instanceof Integer) {
		totalUsageDouble = ((Integer) totalUsage).doubleValue();
	} else if (totalUsage instanceof Long) {
		totalUsageDouble = ((Long) totalUsage).doubleValue();
	}
	double cpuUsage = Double.parseDouble(formatter.format(totalUsageDouble
			/ ((Long) stats.getCpuStats().get("system_cpu_usage"))
					.doubleValue() * 100D));

	boxContainer.setMemoryUsage(memoryUsage);
	boxContainer.setCpuUsage(cpuUsage);

	if (sendMessages) {
		basicCommands.printContainerInfo(boxContainer, container);
		sendMessage(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD
				+ "Memory Usage: " + EnumChatFormatting.RESET + memoryUsage
				+ "%");
		sendMessage(EnumChatFormatting.GRAY + "" + EnumChatFormatting.BOLD
				+ "CPU Usage: " + EnumChatFormatting.RESET + cpuUsage + "%");
	}

	try {
		super.close();
	} catch (IOException exception) {
		throw new MobycraftException(exception);
	}
}
 
开发者ID:AdityaGupta1,项目名称:mobycraft,代码行数:45,代码来源:StatisticsResultCallback.java

示例12: getStats

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
public Statistics getStats() {
	return stats;
}
 
开发者ID:iotracks,项目名称:iofabric,代码行数:4,代码来源:StatsCallback.java

示例13: onNext

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
@Override
public void onNext(Statistics stats) {
   	this.stats = stats;
}
 
开发者ID:iotracks,项目名称:iofabric,代码行数:5,代码来源:StatsCallback.java

示例14: getStatistics

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
public Statistics getStatistics() {
    return this.statistics;
}
 
开发者ID:arquillian,项目名称:arquillian-cube,代码行数:4,代码来源:StatsLogsResultCallback.java

示例15: updateStats

import com.github.dockerjava.api.model.Statistics; //导入依赖的package包/类
public static CubeStatistics updateStats(Statistics statistics) {

        CubeStatistics stats = new CubeStatistics();

        Map<String, Long> blkio = extractIORW(statistics.getBlkioStats());
        Map<String, Long> memory = extractMemoryStats(statistics.getMemoryStats(), "usage", "max_usage", "limit");

        stats.setIoBytesRead(blkio.get("io_bytes_read"));
        stats.setIoBytesWrite(blkio.get("io_bytes_write"));
        stats.setMaxUsage(memory.get("max_usage"));
        stats.setUsage(memory.get("usage"));
        stats.setLimit(memory.get("limit"));

        stats.setNetworks(extractNetworksStats(statistics.getNetworks()));


        return stats;
    }
 
开发者ID:arquillian,项目名称:arquillian-cube,代码行数:19,代码来源:ContainerStatsBuilder.java


注:本文中的com.github.dockerjava.api.model.Statistics类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。