Esempio n. 1
0
        public TraceSegmentRequest Transform()
        {
            var upstreamSegment = new TraceSegmentRequest
            {
                Segment = new TraceSegmentObjectRequest
                {
                    SegmentId       = TraceSegmentId,
                    ApplicationCode = ApplicationCode,
                    Identity        = Identity,
                    Spans           = _spans.Select(x => x.Transform()).ToArray()
                }
            };

            return(upstreamSegment);
        }
Esempio n. 2
0
        public TraceSegmentRequest Transform()
        {
            var upstreamSegment = new TraceSegmentRequest
            {
                UniqueIds = _relatedGlobalTraces.GetRelatedGlobalTraces()
                            .Select(x => x.ToUniqueId()).ToArray()
            };

            upstreamSegment.Segment = new TraceSegmentObjectRequest
            {
                SegmentId             = TraceSegmentId.Transform(),
                Spans                 = _spans.Select(x => x.Transform()).ToArray(),
                ApplicationId         = ApplicationId,
                ApplicationInstanceId = ApplicationInstanceId
            };

            return(upstreamSegment);
        }
        public static UpstreamSegment Map(TraceSegmentRequest request)
        {
            var upstreamSegment = new UpstreamSegment();

            upstreamSegment.GlobalTraceIds.AddRange(request.UniqueIds.Select(MapToUniqueId).ToArray());

            var traceSegment = new TraceSegmentObject
            {
                TraceSegmentId        = MapToUniqueId(request.Segment.SegmentId),
                ApplicationId         = request.Segment.ApplicationId,
                ApplicationInstanceId = request.Segment.ApplicationInstanceId,
                IsSizeLimited         = false
            };

            traceSegment.Spans.Add(request.Segment.Spans.Select(MapToSpan).ToArray());

            upstreamSegment.Segment = traceSegment.ToByteString();
            return(upstreamSegment);
        }