private void DoFetchTrace() { try { using (var sessRows = _session.Execute(string.Format(SelectSessionsFormat, _traceId))) { foreach (var sessRow in sessRows.GetRows()) { _requestType = sessRow.GetValue <string>("request"); if (!sessRow.IsNull("duration")) { _duration = sessRow.GetValue <int>("duration"); } _coordinator = sessRow.GetValue <IPAddress>("coordinator"); if (!sessRow.IsNull("parameters")) { _parameters = sessRow.GetValue <IDictionary <string, string> >("parameters"); } _startedAt = sessRow.GetValue <DateTimeOffset>("started_at").ToFileTime(); //.getTime(); break; } } _events = new List <Event>(); using (var evRows = _session.Execute(string.Format(SelectEventsFormat, _traceId))) { foreach (var evRow in evRows.GetRows()) { _events.Add(new Event(evRow.GetValue <string>("activity"), new DateTimeOffset(Utils.GetTimestampFromGuid(evRow.GetValue <Guid>("event_id")) + (new DateTimeOffset(1582, 10, 15, 0, 0, 0, TimeSpan.Zero)).Ticks, TimeSpan.Zero), evRow.GetValue <IPAddress>("source"), evRow.IsNull("source_elapsed") ? 0 : evRow.GetValue <int>("source_elapsed"), evRow.GetValue <string>("thread"))); } } } catch (Exception ex) { _logger.Error("Unexpected exception while fetching query trace", ex); throw new TraceRetrievalException("Unexpected exception while fetching query trace", ex); } }
private void DoFetchTrace() { try { var sessionStatement = new SimpleStatement(string.Format(SelectSessionsFormat, _traceId)) .SetConsistencyLevel(ConsistencyLevel.One); var sessionRow = _session.Execute(sessionStatement).First(); _requestType = sessionRow.GetValue <string>("request"); if (!sessionRow.IsNull("duration")) { _duration = sessionRow.GetValue <int>("duration"); } _coordinator = sessionRow.GetValue <IPAddress>("coordinator"); if (!sessionRow.IsNull("parameters")) { _parameters = sessionRow.GetValue <IDictionary <string, string> >("parameters"); } _startedAt = sessionRow.GetValue <DateTimeOffset>("started_at").ToFileTime(); if (sessionRow.GetColumn("client") != null) { ClientAddress = sessionRow.GetValue <IPAddress>("client"); } _events = new List <Event>(); var eventStatement = new SimpleStatement(string.Format(SelectEventsFormat, _traceId)) .SetConsistencyLevel(ConsistencyLevel.One); var eventRows = _session.Execute(eventStatement); foreach (var row in eventRows) { _events.Add(new Event(row.GetValue <string>("activity"), new DateTimeOffset( Utils.GetTimestampFromGuid(row.GetValue <Guid>("event_id")) + (new DateTimeOffset(1582, 10, 15, 0, 0, 0, TimeSpan.Zero)).Ticks, TimeSpan.Zero), row.GetValue <IPAddress>("source"), row.IsNull("source_elapsed") ? 0 : row.GetValue <int>("source_elapsed"), row.GetValue <string>("thread"))); } } catch (Exception ex) { _logger.Error("Unexpected exception while fetching query trace", ex); throw new TraceRetrievalException("Unexpected exception while fetching query trace", ex); } }