如何解决如何存储数据库负载并在不直接关联时通过遥测将它们发送回来?
我一直试图找到一种方法来记录在 HttpGet/Post 期间进行的所有数据库调用。我已经记录了最后一个以防发生错误,但问题是现在我需要记录所有这些。实现的日志记录目前与 Azure 洞察力很好地交互,但如果我要记录所有调用并将它们发回,我将获得未关联的数据和过多的数据。因此,我正在寻找一种仅记录和发回相关呼叫的方法。我正在考虑将所有调用存储在 Dictionary
这就是我目前将最后一个有效负载发送到 azure 的方式
public class ODataURLInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
var requestTelemetry = telemetry as RequestTelemetry;
if (requestTelemetry != null)
{
requestTelemetry.Properties.Add("Last OData URL",ODataURLCapturer.URLs);
}
}
}
所以我想真正的问题是当调用几乎没有关联时我如何存储和检索数据。
解决方法
Azure 应用程序洞察可以提供依赖项指标。您可以 add application insights sdk 进入您的应用程序并 enable-Sql-Command-Text-Instrumentation 用于记录 sql 命令。
在startup.cs中添加配置,在使用asp.net core时启用sql命令文本
public void ConfigureServices(IServiceCollection services)
{
// The following line enables Application Insights telemetry collection.
services.AddApplicationInsightsTelemetry();
services.ConfigureTelemetryModule<DependencyTrackingTelemetryModule>((module,o) => { module.EnableSqlCommandTextInstrumentation = true; });
services.AddControllersWithViews();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。