/// <summary> /// Creates a new <see cref="ManagedTracerFactory"/>. /// </summary> /// <param name="projectId">The Google Cloud Platform project ID. Cannot be null.</param> /// <param name="consumer">A trace consumer for the tracer. Cannot be null.</param> /// <param name="optionsFactory">An options factory to fall back to if the /// <see cref="TraceHeaderContext"/> does not provide enough context. Cannot be null.</param> /// <param name="traceIdFactory">A trace Id factory. Cannot be null.</param> internal ManagedTracerFactory( string projectId, IConsumer <TraceProto> consumer, ITraceOptionsFactory optionsFactory, TraceIdFactory traceIdFactory ) { _projectId = GaxPreconditions.CheckNotNull(projectId, nameof(projectId)); _consumer = GaxPreconditions.CheckNotNull(consumer, nameof(consumer)); _optionsFactory = GaxPreconditions.CheckNotNull(optionsFactory, nameof(optionsFactory)); _traceIdFactory = GaxPreconditions.CheckNotNull(traceIdFactory, nameof(traceIdFactory)); }
private static ManagedTracerFactory CreateFactory(ITraceOptionsFactory optionsFactory) => new ManagedTracerFactory(ProjectId, s_comsumer, optionsFactory, s_traceIdFactory);