/
vshmidt
/
masstransit
Обзор
Документация
Войти
/
vshmidt
/
masstransit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/MassTransit/UsageTracking/UsageTelemetryEndpointConfigurationObserver.cs
35 строк
1 KB
Chris Patterson
Adding usage telemetry reporting, to track feature usage
13 мар 2025, 21:52
13 мар 2025, 21:52
e3b5b18
Код
Авторство
О чём код?
namespace MassTransit.UsageTracking; using System.Collections.Generic; using UsageTelemetry; public class UsageTelemetryEndpointConfigurationObserver : IEndpointConfigurationObserver, IUsageTelemetrySource { readonly BusUsageTelemetry _busUsageTelemetry; readonly MassTransitUsageTelemetry _usageTelemetry; readonly List<IUsageTelemetrySource> _sources; public UsageTelemetryEndpointConfigurationObserver(BusUsageTelemetry busUsageTelemetry, MassTransitUsageTelemetry usageTelemetry) { _busUsageTelemetry = busUsageTelemetry; _usageTelemetry = usageTelemetry; _sources = []; } public void EndpointConfigured<T>(T configurator) where T : IReceiveEndpointConfigurator { var endpointUsageInfo = _busUsageTelemetry.AddEndpoint(configurator, _usageTelemetry); if (endpointUsageInfo is not null) _sources.Add(new UsageTelemetryConfigurationObserver(configurator, endpointUsageInfo)); } public void Update() { _sources.ForEach(x => x.Update()); } }