コード例 #1
0
        public void SendTraceEventsToAirlock_GotItAtCassandra()
        {
            const int eventCount = 10;
            var       spans      = GenerateSpans(eventCount);

            PushToAirlock(spans);

            var contrailsClient = new ContrailsClient(new ContrailsClientSettings
            {
                CassandraNodes = new[] { "localhost:9042" },
                Keyspace       = "airlock",
                CassandraRetryExecutionStrategySettings = new CassandraRetryExecutionStrategySettings(),
            }, IntegrationTestsEnvironment.Log);

            WaitHelper.Wait(
                () =>
            {
                foreach (var span in spans)
                {
                    var tracesById = contrailsClient.GetTracesById(span.TraceId, null, null, null, null, true).GetAwaiter().GetResult().ToArray();
                    if (tracesById.Length == 0)
                    {
                        return(false);
                    }
                    var spanResult = tracesById[0];

                    IntegrationTestsEnvironment.Log.Debug("got span " + spanResult.ToJson());
                    Assert.AreEqual(1, tracesById.Length);
                    Assert.AreEqual(span.SpanId, spanResult.SpanId);
                }
                return(true);
            });
        }
コード例 #2
0
        protected sealed override void DoInitialize(ILog log, IMetricScope rootMetricScope, AirlockEnvironmentVariables environmentVariables, out IRoutingKeyFilter routingKeyFilter, out IAirlockEventProcessorProvider processorProvider)
        {
            routingKeyFilter = new DefaultRoutingKeyFilter(RoutingKey.TracesSuffix);
            var contrailsClientSettings = GetContrailsClientSettings(log, environmentVariables);
            var contrailsClient         = new ContrailsClient(contrailsClientSettings, log);

            processorProvider = new DefaultAirlockEventProcessorProvider <Span, SpanAirlockSerializer>(project => new TracingAirlockEventProcessor(contrailsClient, log, maxCassandraTasks: 1000));
        }