コード例 #1
0
        private static TracingConsumer <string, string> GetTracingConsumer(ITracer tracer)
        {
            var consumerConfig = new ConsumerConfig(GetClientConfig())
            {
                AutoOffsetReset = AutoOffsetReset.Latest,
                GroupId         = "kafka.jaeger"
            };

            var consumer        = new ConsumerBuilder <string, string>(consumerConfig).Build();
            var tracingConsumer = new TracingConsumer <string, string>(tracer, consumer);

            return(tracingConsumer);
        }
コード例 #2
0
        private static TracingConsumer <string, string> GetTracingConsumer(ITracer tracer)
        {
            var consumerConfig = new ConsumerConfig(GetClientConfig())
            {
                AutoOffsetReset = AutoOffsetResetType.Earliest
            };

            var consumer        = new Consumer <string, string>(consumerConfig);
            var tracingConsumer = new TracingConsumer <string, string>(tracer, consumer);

            consumer.OnLog += (sender, message) =>
                              Console.WriteLine($"CONSUMER: {message.Level} {message.Message}");
            consumer.OnError += (sender, @event) => Console.WriteLine($"CONSUMER: {@event.Code} {@event.Reason}");

            return(tracingConsumer);
        }
コード例 #3
0
        public void TestConsumer()
        {
            var cf = new ConnectionFactory()
            {
                Uri = new Uri("amqp://*****:*****@localhost:5672")
            };

            var serviceName = "initExampleService";
            var transport   = new JaegerHttpTransport("192.168.99.100");
            //var zt = new ZipkinJSONTransport(new Uri("http://192.168.99.100:9411"), 2);

            var reporter = new RemoteReporter.Builder(transport).Build();
            //var zreporter = new RemoteReporter.Builder(zt).Build();

            var sampler = new ConstSampler(true);

            var serviceProvider = new ServiceCollection()
                                  .AddLogging() //<-- You were missing this
                                  .BuildServiceProvider();
            //get logger
            var loggerFactory = serviceProvider.GetService <ILoggerFactory>();

            loggerFactory.AddConsole(LogLevel.Trace);
            loggerFactory.AddDebug(LogLevel.Trace);

            var log = loggerFactory.CreateLogger("test");

            log.LogInformation("prova log {0}", "prova");

            var logReporter = new LoggingReporter(loggerFactory);

            var tracer = new Tracer.Builder(serviceName)
                         .WithLoggerFactory(loggerFactory)
                         //.WithTransport(transport)
                         .WithReporter(logReporter)
                         .WithSampler(sampler)
                         .Build();

            var conn  = cf.CreateConnection("testtracing");
            var model = new TracingModel(conn.CreateModel(), tracer);

            // TODO: Add your test code here

            model.BasicPublish("testexchange", "", false, null, Encoding.UTF8.GetBytes("testmessage"));
            var consumer = new EventingBasicConsumer(model);

            consumer.Received += (ch, ea) =>
            {
                var body = ea.Body;
                // ... process the message
                model.BasicAck(ea.DeliveryTag, false);
            };

            var trConsumer = new TracingConsumer(consumer, tracer);

            Task.Delay(200).Wait();

            var res = model.BasicConsume("testqueueu", false, trConsumer);


            Assert.True(true, "Your first passing test");
        }