The panel decides which probes link to which agents (probes dial out): an auto-link setting plus per-pair manual overrides with a link matrix in the admin, and the hovered overview card is lifted above its neighbours.
64 lines
2.8 KiB
C#
64 lines
2.8 KiB
C#
using Fleet.Server;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
namespace Monitor.Backend.Application;
|
|
|
|
public static class ApplicationServiceCollectionExtensions
|
|
{
|
|
/// <summary>
|
|
/// 注册 Application 层的全部服务。需要事先注册端口的实现(存储、<see cref="IAgentGateway"/>)和 <see cref="TimeProvider"/>。
|
|
/// 后台任务按这里的顺序启动:<see cref="StartupTasks"/> 必须在最前面。
|
|
/// </summary>
|
|
public static IServiceCollection AddMonitorApplication(this IServiceCollection services, BackendOptions options)
|
|
{
|
|
services.AddSingleton(options);
|
|
services.AddHostedService<StartupTasks>();
|
|
|
|
services.AddSingleton<AgentRuntime>();
|
|
services.AddSingleton<LiveHub>();
|
|
services.AddSingleton<HotLayer>();
|
|
services.AddSingleton<BackendCounters>();
|
|
services.AddSingleton<RawQueryGate>();
|
|
services.AddSingleton<LoginRateLimiter>();
|
|
|
|
services.AddSingleton<TaskPlanner>();
|
|
services.AddSingleton<TaskService>();
|
|
services.AddSingleton<AgentService>();
|
|
services.AddSingleton<AgentEventService>();
|
|
services.AddSingleton<HostStatusService>();
|
|
services.AddSingleton<NodeInfoService>();
|
|
services.AddSingleton<ProbeService>();
|
|
services.AddSingleton<LinkService>();
|
|
services.AddSingleton<LineService>();
|
|
services.AddSingleton<TestService>();
|
|
services.AddSingleton<IngestService>();
|
|
services.AddSingleton<WindowComputer>();
|
|
services.AddSingleton<AuthService>();
|
|
services.AddSingleton<SettingsService>();
|
|
services.AddSingleton<ReleaseService>();
|
|
services.AddSingleton<JoinTokenService>();
|
|
services.AddSingleton<RawBrowserService>();
|
|
services.AddSingleton<EventService>();
|
|
services.AddSingleton<OpsService>();
|
|
|
|
services.AddSingleton<RangeResolver>();
|
|
services.AddSingleton<SourcePlanner>();
|
|
services.AddSingleton<RowLoader>();
|
|
services.AddSingleton<QueryService>();
|
|
|
|
services.AddSingleton<IEnrollmentHook, MonitorEnrollmentHook>();
|
|
services.AddSingleton<INodeEventSink, MonitorNodeEventSink>();
|
|
|
|
services.AddSingleton<AnalysisScheduler>();
|
|
services.AddHostedService(provider => provider.GetRequiredService<AnalysisScheduler>());
|
|
services.AddSingleton<MetricRecompute>();
|
|
services.AddHostedService(provider => provider.GetRequiredService<MetricRecompute>());
|
|
services.AddSingleton<TestFinalizer>();
|
|
services.AddHostedService(provider => provider.GetRequiredService<TestFinalizer>());
|
|
services.AddHostedService<HotLayerBackfill>();
|
|
services.AddHostedService<RetentionService>();
|
|
return services;
|
|
}
|
|
}
|