I'm attempting to query for VM stats, but I'm running into an error that I don't fully understand. What I did was grab the Vmware.Vim dll from the PowerCLI install and have been using that. Below is the relevant code.
VimClient vimClient = new VMware.Vim.VimClientImpl();
var serviceContent = vimClient.Connect(hostname, VMware.Vim.CommunicationProtocol.Https, null);
var userSession = vimClient.Login(un, pwd);
String viewProperties = null;
NameValueCollection filter = new NameValueCollection();
var ret = vimClient.FindEntityViews(typeof(VMware.Vim.VirtualMachine), null, filter, viewProperties);
var VMs = ret.Cast<VMware.Vim.VirtualMachine>().ToList();
var vm = VMs.FirstOrDefault();
var pm = new VMware.Vim.PerformanceManager(vimClient, vm.MoRef);
var summary = pm.QueryAvailablePerfMetric(vm.MoRef, DateTime.Now.AddDays(-1), DateTime.Now, null);
The above QueryAvailablePerfMetric is failing with the following error:
VMware.Vim.VimException: 'The request refers to an unexpected or unknown type.'
I'm unsure exacty what this exception means, but I'm guessing it doesn't like the MoRef I sent in? I can pull stats off this same VM using the PowerCLI Get-Stat and Get-StatType cmdlets.
Can someone help me out? What am I missing here?