2011-05-24 54 views
0

我是Azure开发新手,我一直在努力追踪工作(到Azure存储)。Azure WorkerRole和WebRole跟踪延迟OnStart?

我终于设法使其工作,但第一个跟踪消息似乎并没有转移到WADLogsTable。

作为一项工作阶段,我暂时修复了在启动DiagnosticMonitor后添加10秒睡眠。

我开始在WorkerRole的OnStart方法使用这样的:

var config = DiagnosticMonitor.GetDefaultInitialConfiguration(); 

config.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1); 
config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose; 

DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config); 

现在我改变了它的建议:

string wadConnectionString = "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"; 
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue(wadConnectionString)); 

RoleInstanceDiagnosticManager roleInstanceDiagnosticManager = cloudStorageAccount 
    .CreateRoleInstanceDiagnosticManager(RoleEnvironment.DeploymentId, 
    RoleEnvironment.CurrentRoleInstance.Role.Name, 
    RoleEnvironment.CurrentRoleInstance.Id); 

DiagnosticMonitorConfiguration diagnosticMonitorConfiguration = DiagnosticMonitor.GetDefaultInitialConfiguration(); 

diagnosticMonitorConfiguration.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1); 

roleInstanceDiagnosticManager.SetCurrentConfiguration(diagnosticMonitorConfiguration); 

但我仍然得到同样的行为(现在睡眠10s是不够的,我不得不改变它到20s)。

有没有人遇到同样的问题? 有没有人有更好的解决方法? 我做错了什么?

+1

请注意对于ScheduledTransferPeriod:“此值四舍五入到最接近的分钟...”(http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.diagnostics.diagnosticdatabufferconfiguration.scheduledtransferperiod.aspx ) – 2011-05-24 23:56:22

+0

@Oliver Bock - 非常感谢,我不知道这件事! :) – Maghis 2011-05-25 00:07:27

+0

我的博客涵盖此:http://blogs.msdn.com/b/windowsazure/archive/2012/10/25/using-trace-in-windows-azure-cloud-applications-1.aspx – RickAndMSFT 2012-12-28 20:30:57

回答

0

这可能与在本地dev结构模拟器中运行有关。您应该尝试在实际的Windows Azure Compute实例中运行此操作,以查看问题是否消失。

+0

我是现在部署。 – Maghis 2011-05-25 00:10:40

+0

在实际天蓝色部署上的相同行为:( – Maghis 2011-05-25 00:29:27

0

您使用的是什么SDK?从1.3 SDK及更高版本开始的诊断监视器作为后台任务运行,因此您不应该在其上启动Start。相反,你应该配置要么你.wadcfg文件或程序,像这样:

http://convective.wordpress.com/2010/12/01/configuration-changes-to-windows-azure-diagnostics-in-azure-sdk-v1-3/

注意,关于1.3的错误博客作者会谈,但已被固定在1.4。

+0

我正在使用1.4。我已经试过那个(从http://blog.bareweb.eu/2011/03/implementing-azure-diagnostics-with-sdk-v1 -4 /),我得到了同样的行为。 – Maghis 2011-05-25 16:49:12