コード例 #1
0
        private static void QueryAndPushTracingSession(IConnection connection, Guid tracingId, InstrumentationToken token, IInstrumentation instrumentation)
        {
            string queryEvents = "select * from system_traces.events where session_id=" + tracingId;
            IDataMapperFactory facEvents = new DataMapperFactory<TracingEvent>(null);
            var obsEvents = CQLCommandHelpers.CreateQuery(connection, queryEvents, ConsistencyLevel.ONE, facEvents, ExecutionFlags.None).Cast<TracingEvent>();
            var tracingEvents = obsEvents.AsFuture().Result.ToList();
            tracingEvents.Sort(CompareTracingEvent);
            TracingEvent[] events = tracingEvents.ToArray();

            string querySession = "select * from system_traces.sessions where session_id=" + tracingId;

            IDataMapperFactory facSession = new DataMapperFactory<TracingSession>(null);
            var obsSession =
                    CQLCommandHelpers.CreateQuery(connection, querySession, ConsistencyLevel.ONE, facSession, ExecutionFlags.None).Cast<TracingSession>();
            TracingSession tracingSession = obsSession.AsFuture().Result.Single();
            tracingSession.TracingEvents = events;

            instrumentation.ServerTrace(token, tracingSession);
        }