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

时间:2014-09-19 04:22:02

标签: asp.net-mvc-4 glimpse

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

1 个答案:

答案 0 :(得分:5)

有几种方法可以做到这一点,但我会为您提供答案,为您提供最高级别的粒度,也是covered on Scott Hanselman's blog

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

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

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