如何从Glimpse获取时间轴数据进行报告?

mad*_*dhu 4 glimpse asp.net-mvc-4

我正在使用Glimpse和MVC4,我想捕获Glimpse的时间线选项卡数据并将其存储在数据库或文件中以用于报告目的.

nik*_*d23 5

有几种方法可以做到这一点,但我会为您提供最高级别的粒度,而Scott Hanselman的博客也对此进行了介绍.

Hanselman演示了如何创建以下IInspector实现:

using Glimpse.Core.Extensibility;
using Glimpse.Core.Message;

public class TimelineTracer : IInspector
{
    public void Setup(IInspectorContext context) {
        context.MessageBroker.Subscribe<ITimelineMessage>(TraceMessage);
    }

    private void TraceMessage(ITimelineMessage message) {
        var output = string.Format(
            "{0} - {1} ms from beginning of request. Took {2} ms to execute.",
            message.EventName,
            message.Offset.Milliseconds,
            message.Duration.Milliseconds);

        System.Diagnostics.Trace.TraceInformation(output, message.EventCategory.Name);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您将此类添加到您的解决方案中,它将由Glimpse自动发现,并且TraceMessage每次将记录添加到Glimpse时间轴时都会调用该方法.

Scott只是将信息跟踪出来,可以在Azure Streaming Diagnostics服务中看到.您可以将数据保存到数据库(或其他内容),以便稍后进行分析.