private BufferingTraceConsumer(ITraceConsumer consumer, int bufferSize = DefaultBufferSize) { _consumer = GaxPreconditions.CheckNotNull(consumer, nameof(consumer)); _bufferSize = bufferSize; _traces = new Traces(); _size = 0; }
private SimpleManagedTracer(ITraceConsumer consumer, Cloudtrace.V1.Trace trace, ulong?rootSpanParentId = null) { _consumer = GaxPreconditions.CheckNotNull(consumer, nameof(consumer)); _trace = GaxPreconditions.CheckNotNull(trace, nameof(trace)); _traceStack = new Stack <TraceSpan>(); _spanIdFactory = SpanIdFactory.Create(); _rootSpanParentId = rootSpanParentId; }
/// <summary> /// Creates a <see cref="SimpleManagedTracer"/>> /// </summary> /// <param name="consumer">The consumer to push finised traces to.</param> /// <param name="trace">The current trace.</param> /// <param name="rootSpanParentId">Optional, the parent span id of the root span of the passed in trace.</param> public static SimpleManagedTracer Create(ITraceConsumer consumer, Cloudtrace.V1.Trace trace, ulong?rootSpanParentId = null) { return(new SimpleManagedTracer(consumer, trace, rootSpanParentId)); }
/// <summary> /// Creates a new <see cref="BufferingTraceConsumer"/> that will flush traces to the /// given <see cref="ITraceConsumer"/>. /// </summary> /// <param name="consumer">The consumer to flush traces to, cannot be null.</param> /// <param name="bufferSize">Optional, buffer size in bytes.</param> /// <returns></returns> public static BufferingTraceConsumer Create(ITraceConsumer consumer, int bufferSize = DefaultBufferSize) { return(new BufferingTraceConsumer(consumer, bufferSize)); }