在MiniProfiler的CustomTiming中添加更多信息

时间:2018-02-25 17:52:53

标签: mvc-mini-profiler

我正在使用MiniProfiler使用CustomTiming s来监控对外部API的请求:

var externalApiClient = new ExternalApiClient();
using(MiniProfiler.Current.CustomTiming("ExternalAPI","ExternalAPI.Method"))
{
    externalApiClient.Method();
}

这很好用,但我想添加更多数据,例如状态代码,结果计数......我还没有找到任何可以让我这样做的内置数据。

我错过了什么吗?什么是最好的方式?我可以创建一个继承自CustomTiming的新类,但是看code,我担心从长远来看这不可靠(使用像[DataMember(Order = 8)]这样的东西)。

1 个答案:

答案 0 :(得分:0)

您可以向其中添加信息的一个地方是命令字符串本身:

using (CustomTiming ct = MiniProfiler.Current.CustomTiming("http", "GET http://foo.bar"))
{
    var response = await http.GetAsync("http://foo.bar");
    var bytes = (await response.Content.ReadAsByteArrayAsync()).Length;

    // Command string will look like "GET http://foo.bar OK 50301[B]"
    ct.CommandString = string.Format("{0} {1} {2}[B]", ct.CommandString, 
                                     response.StatusCode, bytes);
}