问题描述
我们使用ServiceStack $_ENV
与我们的Redis服务器对话。如何从这些调用(命令,调用成功/失败,持续时间等)将遥测发送到应用程序见解。在ICacheClient调用之后,是否有一个我可以订阅的事件被触发,我可以在其中编写一些代码以将数据发送到Applicaiton Insights?
例如,这是我为MongoDB驱动程序执行的操作:
ICacheClient
谢谢!
解决方法
您可能需要像CacheClientWithPrefix.cs这样的装饰器类来装饰所有ICacheClient
提供者,以添加prefix to all ICacheClient APIs,例如:
container.Register(c =>
c.Resolve<IRedisClientsManager>().GetCacheClient().WithTelemetry());
它在拦截每个API调用的地方也要调用遥测API。