我正在使用MiniProfiler使用CustomTiming
s来监控对外部API的请求:
var externalApiClient = new ExternalApiClient();
using(MiniProfiler.Current.CustomTiming("ExternalAPI","ExternalAPI.Method"))
{
externalApiClient.Method();
}
这很好用,但我想添加更多数据,例如状态代码,结果计数......我还没有找到任何可以让我这样做的内置数据。
我错过了什么吗?什么是最好的方式?我可以创建一个继承自CustomTiming
的新类,但是看code,我担心从长远来看这不可靠(使用像[DataMember(Order = 8)]
这样的东西)。
答案 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);
}