public static XRaySegment Create(IAWSXRayRecorder xRayRecorder, string serviceName)
        {
            xRayRecorder.BeginSegment(serviceName);
            xRayRecorder.AddAnnotation("Environment", "Test");
            xRayRecorder.AddAnnotation("Version", "1.0");

            return(new XRaySegment(xRayRecorder));
        }
        public static XRaySegment Create(IAWSXRayRecorder xRayRecorder, string serviceName, string traceHeader, SampleDecision sampleDecision = SampleDecision.Unknown)
        {
            GetSamplingDetails(xRayRecorder, serviceName, traceHeader, out string traceId, out SamplingResponse samplingResponse, out string parentId);

            xRayRecorder.BeginSegment(
                serviceName, traceId, parentId, sampleDecision == SampleDecision.Unknown ? samplingResponse : new SamplingResponse(sampleDecision));
            xRayRecorder.AddAnnotation("Environment", "Test");
            xRayRecorder.AddAnnotation("Version", "1.0");

            return(new XRaySegment(xRayRecorder));
        }
示例#3
0
        void logArgs(MethodInfo m, object[] args)
        {
            for (int i = 0; i < args.Length; i++)
            {
                var val   = args[i];
                var safe  = convertArg(val);
                var param = m.GetParameters()[i];

                _recorder.AddMetadata("args." + param.Name, safe);

                AnnotatedArgumentByNameEntry annotateByName;
                if (safe != null && Options.AnnotatedArgumentsByName.TryGetValue(param.Name, out annotateByName))
                {
                    _recorder.AddAnnotation(annotateByName.AnnotationName ?? param.Name, safe);
                }

                foreach (var annotater in getAnnotaters(param.ParameterType))
                {
                    var ann = annotater(val);
                    _recorder.AddAnnotation(ann.Item2, convertArg(ann.Item1));
                }
            }
        }