Java 类com.vmware.vim25.PerfEntityMetricBase 实例源码

项目:vijava    文件:RealtimePerfMonitor.java   
static void displayValues(PerfEntityMetricBase[] values)
{
  for(int i=0; i<values.length; ++i) 
  {
    String entityDesc = values[i].getEntity().getType() 
        + ":" + values[i].getEntity().get_value();
    System.out.println("Entity:" + entityDesc);
    if(values[i] instanceof PerfEntityMetric)
    {
      printPerfMetric((PerfEntityMetric)values[i]);
    }
    else if(values[i] instanceof PerfEntityMetricCSV)
    {
      printPerfMetricCSV((PerfEntityMetricCSV)values[i]);
    }
    else
    {
      System.out.println("UnExpected sub-type of " +
            "PerfEntityMetricBase.");
    }
  }
}
项目:vijava    文件:GetMultiPerf.java   
static void printPerfMetric(PerfEntityMetricBase val)
{
  String entityDesc = val.getEntity().getType() 
      + ":" + val.getEntity().get_value();
  System.out.println("Entity:" + entityDesc);
  if(val instanceof PerfEntityMetric)
  {
    printPerfMetric((PerfEntityMetric)val);
  }
  else if(val instanceof PerfEntityMetricCSV)
  {
    printPerfMetricCSV((PerfEntityMetricCSV)val);
  }
  else
  {
    System.out.println("UnExpected sub-type of " +
            "PerfEntityMetricBase.");
  }
}
项目:photon-model    文件:StatsClient.java   
/**
 * See <a href="https://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.PerformanceManager.html#queryStats">queryStats method</a>
 * @param ctx
 * @return
 * @throws RuntimeFaultFaultMsg
 */
private List<ServiceStat> querySingleEntity(StatCollectionContext ctx)
        throws RuntimeFaultFaultMsg {
    List<PerfEntityMetricBase> metrics = getVimPort().queryPerf(PERF_MGR_MOREF,
            Collections.singletonList(ctx.getSpec()));

    List<ServiceStat> res = new ArrayList<>();

    if (metrics.isEmpty()) {
        // nothing fetched
        return Collections.emptyList();
    }

    // the metrics for the single entity
    PerfEntityMetric m = (PerfEntityMetric) metrics.get(0);

    for (PerfMetricSeries pms : m.getValue()) {
        PerfMetricId metricId = pms.getId();
        PerfMetricIntSeries series = (PerfMetricIntSeries) pms;
        SamplesAggregator factory = ctx.getFactory(metricId.getCounterId());

        PerfCounterInfo counter = this.perfCounterLookup
                .getCounterByKey(metricId.getCounterId());

        ServiceStat stat = factory.createStat(counter, m.getSampleInfo(), series.getValue());
        if (stat != null) {
            res.add(stat);
        }
    }

    return res;
}
项目:vijava    文件:RealtimePerfMonitor.java   
public static void main(String[] args) throws Exception
{
  if(args.length != 4)
  {
    System.out.println("Usage: java RealtimePerfMonitor " 
      + "<url> <username> <password> <vmname>");
    return;
  }

  ServiceInstance si = new ServiceInstance(
    new URL(args[0]), args[1], args[2], true);

  String vmname = args[3];
  ManagedEntity vm = new InventoryNavigator(
    si.getRootFolder()).searchManagedEntity(
      "VirtualMachine", vmname);

  if(vm == null)
  {
    System.out.println("Virtual Machine " + vmname 
        + " cannot be found.");
    si.getServerConnection().logout();
    return;
  }

  PerformanceManager perfMgr = si.getPerformanceManager();

  // find out the refresh rate for the virtual machine
  PerfProviderSummary pps = perfMgr.queryPerfProviderSummary(vm);
  int refreshRate = pps.getRefreshRate().intValue();

  // retrieve all the available perf metrics for vm
  PerfMetricId[] pmis = perfMgr.queryAvailablePerfMetric(
      vm, null, null, refreshRate);

  PerfQuerySpec qSpec = createPerfQuerySpec(
      vm, pmis, 3, refreshRate);

  while(true) 
  {
    PerfEntityMetricBase[] pValues = perfMgr.queryPerf(
      new PerfQuerySpec[] {qSpec});
    if(pValues != null)
    {
      displayValues(pValues);
    }
    System.out.println("Sleeping 60 seconds...");
    Thread.sleep(refreshRate*3*1000);
  }
}
项目:vijava    文件:GetMultiPerf.java   
public static void main(String[] args) throws Exception
{
  if(args.length != 4)
  {
    System.out.println("Usage: java GetMultiPerf " 
      + "<url> <username> <password> <vmname>");
    return;
  }

  ServiceInstance si = new ServiceInstance(
    new URL(args[0]), args[1], args[2], true);

  String vmname = args[3];
  VirtualMachine vm = (VirtualMachine) new InventoryNavigator(
    si.getRootFolder()).searchManagedEntity(
      "VirtualMachine", vmname);

  if(vm == null)
  {
    System.out.println("Virtual Machine " + vmname 
        + " cannot be found.");
    si.getServerConnection().logout();
    return;
  }

  PerformanceManager perfMgr = si.getPerformanceManager();

  int perfInterval = 1800; // 30 minutes for PastWeek

  // retrieve all the available perf metrics for vm
  PerfMetricId[] pmis = perfMgr.queryAvailablePerfMetric(
      vm, null, null, perfInterval);

  Calendar curTime = si.currentTime();

  PerfQuerySpec qSpec = new PerfQuerySpec();
  qSpec.setEntity(vm.getRuntime().getHost());
  //metricIDs must be provided, or InvalidArgumentFault 
  qSpec.setMetricId(pmis);
  qSpec.setFormat("normal"); //optional since it's default
  qSpec.setIntervalId(perfInterval); 

  Calendar startTime = (Calendar) curTime.clone();
  startTime.roll(Calendar.DATE, -4);
  System.out.println("start:" + startTime.getTime());
  qSpec.setStartTime(startTime);

  Calendar endTime = (Calendar) curTime.clone();
  endTime.roll(Calendar.DATE, -3);
  System.out.println("end:" + endTime.getTime());
  qSpec.setEndTime(endTime);

  PerfCompositeMetric pv = perfMgr.queryPerfComposite(qSpec);
  if(pv != null)
  {
    printPerfMetric(pv.getEntity());
    PerfEntityMetricBase[] pembs = pv.getChildEntity();
    for(int i=0; pembs!=null && i< pembs.length; i++)
    {
      printPerfMetric(pembs[i]);
    }
  }
  si.getServerConnection().logout();
}
项目:opennmszh    文件:VmwareViJavaAccess.java   
/**
 * This method queries performance values for a given managed entity.
 *
 * @param managedEntity the managed entity to query
 * @return the perfomance values
 * @throws RemoteException
 */
public VmwarePerformanceValues queryPerformanceValues(ManagedEntity managedEntity) throws RemoteException {

    VmwarePerformanceValues vmwarePerformanceValues = new VmwarePerformanceValues();

    int refreshRate = getPerformanceManager().queryPerfProviderSummary(managedEntity).getRefreshRate();

    PerfQuerySpec perfQuerySpec = new PerfQuerySpec();
    perfQuerySpec.setEntity(managedEntity.getMOR());
    perfQuerySpec.setMaxSample(Integer.valueOf(1));

    perfQuerySpec.setIntervalId(refreshRate);

    PerfEntityMetricBase[] perfEntityMetricBases = getPerformanceManager().queryPerf(new PerfQuerySpec[]{perfQuerySpec});

    if (perfEntityMetricBases != null) {
        for (int i = 0; i < perfEntityMetricBases.length; i++) {
            PerfMetricSeries[] perfMetricSeries = ((PerfEntityMetric) perfEntityMetricBases[i]).getValue();

            for (int j = 0; perfMetricSeries != null && j < perfMetricSeries.length; j++) {

                if (perfMetricSeries[j] instanceof PerfMetricIntSeries) {
                    long[] longs = ((PerfMetricIntSeries) perfMetricSeries[j]).getValue();

                    if (longs.length == 1) {

                        PerfCounterInfo perfCounterInfo = getPerfCounterInfoMap().get(perfMetricSeries[j].getId().getCounterId());
                        String instance = perfMetricSeries[j].getId().getInstance();
                        String name = getHumanReadableName(perfCounterInfo);

                        if (instance != null && !"".equals(instance)) {
                            vmwarePerformanceValues.addValue(name, instance, longs[0]);
                        } else {
                            vmwarePerformanceValues.addValue(name, longs[0]);
                        }
                    }
                }
            }
        }
    }

    return vmwarePerformanceValues;
}
项目:cloudstack    文件:PerfManagerMO.java   
public List<PerfEntityMetricBase> queryPerf(PerfQuerySpec[] specs) throws Exception {
    return _context.getService().queryPerf(_mor, Arrays.asList(specs));
}
项目:jcloud-vsphere    文件:PerformanceManagerApi.java   
List<PerfEntityMetricBase> queryPerf(List<PerfQuerySpec> querySpec) throws RuntimeFault, RemoteException;