我试图捕获到天青WebRole以下PerformanceCounters:

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);

正如所看到的,我设置调度XFER的PERF的计数器周期为1分钟。

现在,我可以让我的dev的面料在WADPerformanceCounters表这些计数器,但我不能让他们在Azure云?任何人都可以点出我来错在这里能干什么?

卡皮尔西

有帮助吗?

解决方案

问题理应是不是在我一直在寻找的地方。对此问题进行修复是相当简单的,我删除了先前存在的部署和上传我的cspkg文件作为新的部署。看来,日PERF的柜台是基于WAD控制容器的blob下一个XML文件回升。此xml文件是为每个调配而成。我意识到,XML文件没有得到我的情况更新,当我删除了部署,并创造了新的部署,它正在采取新的价值。

由于 卡皮尔

其他提示

在诊断设置的任何更改只得到在进行全面部署,而不是更新更新。 为了进行全面部署,到发布配置文件,并设置,高级设置,并取消部署更新的复选框。当您发布此,这将是一个全面部署。

此外,也可以不执行部署更新您的设置。 在服务器资源管理器,进入到Windows Azure =>云服务=> =>生产=>您的辅助角色,并在其上单击鼠标右键,点击更新诊断设置。这将获取实际部署当前诊断设置,你可以在这里更新他们没有进行任何部署。 当然,如果你想验证您的代码实际上是设置正确的方式,那么你就需要做上面提到会锻炼你的代码,然后验证全面部署。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top