internal override ISpanData ToSpanData() { if (!Options.HasFlag(SpanOptions.RECORD_EVENTS)) { throw new InvalidOperationException("Getting SpanData for a Span without RECORD_EVENTS option."); } Attributes attributesSpanData = attributes == null?Attributes.Create(new Dictionary <string, IAttributeValue>(), 0) : Attributes.Create(attributes, attributes.NumberOfDroppedAttributes); ITimedEvents <IAnnotation> annotationsSpanData = CreateTimedEvents(InitializedAnnotations, timestampConverter); ITimedEvents <IMessageEvent> messageEventsSpanData = CreateTimedEvents(InitializedMessageEvents, timestampConverter); LinkList linksSpanData = links == null?LinkList.Create(new List <ILink>(), 0) : LinkList.Create(links.Events.ToList(), links.NumberOfDroppedEvents); return(SpanData.Create( Context, parentSpanId, hasRemoteParent, name, timestampConverter.ConvertNanoTime(startNanoTime), attributesSpanData, annotationsSpanData, messageEventsSpanData, linksSpanData, null, // Not supported yet. hasBeenEnded ? StatusWithDefault : null, hasBeenEnded ? timestampConverter.ConvertNanoTime(endNanoTime) : null)); }
public void ConvertNanoTime() { mockClock.Setup(clock => clock.Now).Returns(timestamp); mockClock.Setup(clock => clock.NowNanos).Returns(1234L); ITimestampConverter timeConverter = TimestampConverter.Now(mockClock.Object); Assert.Equal(Timestamp.Create(1234, 10678), timeConverter.ConvertNanoTime(6234)); Assert.Equal(Timestamp.Create(1234, 5444), timeConverter.ConvertNanoTime(1000)); Assert.Equal(Timestamp.Create(1235, 0), timeConverter.ConvertNanoTime(999995556)); }
internal ITimedEvent <T> ToSpanDataTimedEvent(ITimestampConverter timestampConverter) { return(TimedEvent <T> .Create(timestampConverter.ConvertNanoTime(this.nanoTime), this.@event)); }