微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将自定义操作添加到Azure Application Insights的“性能”选项卡?

如何解决如何将自定义操作添加到Azure Application Insights的“性能”选项卡?

我们有一个在.Net Core上运行的GraphQL API。由于所有查询均针对/ graphql端点进行,因此我们在Azure Application Insights的性能页上仅获得一个操作“ POST / graphql”,而REST API允许Aplication Insights自动为我们提供每个端点的性能(例如GET /用户,POST /事件等...)。

为了仍然获得性能指标,我在代码添加自定义遥测技术。当调用用于检索用户代码时,我这样做:

RequestTelemetry requestTelemetry = new RequestTelemetry
{
    Name = "UsersRequest"
};
var operation = _telemetryClient.StartOperation(requestTelemetry);

完成后,我会这样做:

operation.Telemetry.Success = true;
_telemetryClient.StopOperation(operation);
return result;

然后,当我打开“ POST / graphql”操作(如下面的屏幕快照)时,可以看到包装在“ UsersRequest”中的依赖项调用(假设“ CustomMiddleware”说“ UsersRequest”):

enter image description here

这已经是一个很大的帮助,这比让所有数据库请求相互之间无结构的情况更为明显。

唯一缺少的是,我看不到性能页面上的“ UsersRequest”或“ CustomMiddleware”作为一项操作本身。这将是巨大的帮助,性能页面提供了惊人的见解。能够看到“ UsersRequest”在最近24小时内被调用了500次,在最近7天中性能一直在下降,或者平均持续时间为50ms,这将非常有帮助。

enter image description here

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。