2010-10-02 52 views
0

我试图捕捉在Azure WebRole以下PerformanceCounters:无法捕捉性能计数器的Azure的Web角色

private string[] perfCounters = { @"\Processor(_Total)\% Processor Time", 
           @"\ASP.NET Applications(__Total__)\Requests/Sec", 
           @"\Memory\Available Bytes", 
           @"\ASP.NET\Request Execution Time", 
           @"\ASP.NET\Requests Queued"}; 

我在WebRole.cs下面的代码,使这些PERF的计数器捕获因为这个:

DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration(); 

    int loggingInterval = Int32.Parse(RoleEnvironment.GetConfigurationSettingValue("loggingInterval")); 
    config.Logs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(loggingInterval); 

    foreach (String s in perCounters) 
    { 
     PerformanceCounterConfiguration procTimeConfig = new PerformanceCounterConfiguration(); 
     procTimeConfig.CounterSpecifier = s; 
     procTimeConfig.SampleRate = System.TimeSpan.FromMinutes(1.0); 
     config.PerformanceCounters.DataSources.Add(procTimeConfig); 
    } 
    config.PerformanceCounters.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(1.0); 
    DiagnosticMonitor.Start("DiagnosticsConnectionString", config); 

正如你所看到的,我将perf计数器的预定xfer周期设置为1分钟。

现在,我可以在我的开发结构中的WADPerformanceCounters表中获得这些计数器,但是我无法将它们置于天蓝色的云上?任何人都可以指出我在这里做错了什么?

卡皮尔

回答

1

这个问题应该不是我在看的地方。对此的修复非常简单,我删除了预先部署的部署,并将我的cspkg文件上传为全新部署。看起来,根据wad-control-container blob下的一个xml文件选择了性能计数器。这个xml文件是为每个部署制作的。我意识到xml文件在我的情况下没有得到更新,当我删除了部署并创建了新的部署时,它获得了新的价值。当进行全面部署,而不是更新

感谢 卡皮尔

+1

执行VIP交换部署对我来说并没有什么用。 – camflint 2014-01-20 17:59:16

0

既然你要在开发面料柜台,但不是在Azure结构,让我问的很明显:你有没有改变你的DiagnosticsConnectionString设置为引用您的Azure存储连接字符串?

+0

是的,我已经完成了所有这些。实际上,我能够在我的Azure存储中获取我的WADLogs表(来自云应用程序的跟踪日志),但不能访问我的WADPerformanceCountersTable – Kapil 2010-10-04 08:13:16

1

的诊断设置的任何更改只得到更新。 为了执行完整部署,请转到发布配置文件,设置和高级设置,并取消选中部署更新复选框。当你发布这个,它将是一个完整的部署。

此外,可以在不执行部署的情况下更新设置。 在服务器资源管理器中,转到Windows Azure => Cloud Services => => Production =>您的辅助角色并右键单击它,单击更新诊断设置。这将获取实际部署的当前诊断设置,并且您可以在这里更新它们而不执行任何部署。 当然,如果你想验证你的代码实际上是以正确的方式进行设置的话,那么你将需要完成上面提到的完整部署,它将执行你的代码并进行验证。

http://msdn.microsoft.com/library/azure/dn186185.aspx