示例#1
0
        /// <summary>
        /// .ctor
        /// </summary>
        /// <param name="zipkinConfig"></param>
        /// <param name="traceInfoAccessor"></param>
        /// <param name="spanTracer"></param>
        /// <param name="logger"></param>
        public ZipkinClient(ZipkinConfig zipkinConfig, ITraceInfoAccessor traceInfoAccessor, ISpanTracer spanTracer,
                            ILogger <ZipkinClient> logger)
        {
            if (zipkinConfig == null)
            {
                throw new ArgumentNullException(nameof(zipkinConfig));
            }
            if (traceInfoAccessor == null)
            {
                throw new ArgumentNullException(nameof(traceInfoAccessor));
            }
            if (spanTracer == null)
            {
                throw new ArgumentNullException(nameof(spanTracer));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            _zipkinConfig      = zipkinConfig;
            _logger            = logger;
            _spanTracer        = spanTracer;
            _traceInfoAccessor = traceInfoAccessor;
        }
示例#2
0
        public ZipkinMiddleware(RequestDelegate next, ITraceInfoAccessor traceInfoAccessor, ISpanProcessor spanProcessor, ZipkinConfig zipkinConfig)
        {
            if (traceInfoAccessor == null)
            {
                throw new ArgumentNullException(nameof(traceInfoAccessor));
            }
            if (spanProcessor == null)
            {
                throw new ArgumentNullException(nameof(spanProcessor));
            }
            if (zipkinConfig == null)
            {
                throw new ArgumentNullException(nameof(zipkinConfig));
            }

            _next              = next;
            _zipkinConfig      = zipkinConfig;
            _traceInfoAccessor = traceInfoAccessor;

            spanProcessor.Start();
        }