Untitled
unknown
plain_text
a year ago
1.6 kB
5
Indexable
// Файл Program.cs (точка входа) using Jaeger; using Jaeger.Samplers; using OpenTracing.Util; using Jaeger.Reporters; using Jaeger.Senders.Thrift; // Создаём экземпляр трассировщика Jaeger var reporter = new RemoteReporter.Builder() .WithSender(new UdpSender("host.docker.internal", 6831, 0)) .Build(); var tracer = new Tracer.Builder("addos") .WithReporter(reporter) .WithSampler(new ConstSampler(true)) .Build(); // Устанавливаем трассировщик как глобальный трассировщик в OpenTracing GlobalTracer.Register(tracer); // Файл DdosDetector.cs using OpenTracing.Util; // В функции public async Task MonitorConnectionsAsync(): using (var scope = GlobalTracer.Instance.BuildSpan("AcceptConnection").StartActive(true)) { // Отслеживаем подключение в объекте connectionTracker connectionTracker.TrackConnection(client); // Увеличиваем счётчики подключений totalConnections++; connectionsPerMinute++; // Увеличиваем метрики подключений s_totalConnections.Inc(); s_connectionsPerMinute.Inc(); // Добавьте теги или логи в спан, если это необходимо scope.Span.SetTag("client-ip", client.Client.RemoteEndPoint.ToString()); scope.Span.Log(new Dictionary<string, object> { ["event"] = "connection-accepted", ["value"] = totalConnections }); }
Editor is loading...
Leave a Comment