/// <summary> /// Creates tracerSdk factory. /// </summary> /// <param name="configure">Function that configures tracerSdk factory.</param> public static TracerFactory Create(Action <TracerBuilder> configure) { if (configure == null) { throw new ArgumentNullException(nameof(configure)); } var builder = new TracerBuilder(); configure(builder); var factory = new TracerFactory(builder); if (builder.CollectorFactories != null) { foreach (var collector in builder.CollectorFactories) { var tracer = factory.GetTracer(collector.Name, collector.Version); factory.collectors.Add(collector.Factory(tracer)); } } return(factory); }