private bool disposedValue = false; // To detect redundant calls public JaegerUdpBatcher(JaegerExporterOptions options) { if (options is null) { throw new ArgumentNullException(nameof(options)); } if (options.MaxFlushInterval <= TimeSpan.Zero) { options.MaxFlushInterval = TimeSpan.FromSeconds(10); } this.maxPacketSize = (!options.MaxPacketSize.HasValue || options.MaxPacketSize == 0) ? JaegerExporterOptions.DefaultMaxPacketSize : options.MaxPacketSize.Value; this.protocolFactory = new TCompactProtocol.Factory(); this.clientTransport = new JaegerThriftClientTransport(options.AgentHost, options.AgentPort); this.thriftClient = new JaegerThriftClient(this.protocolFactory.GetProtocol(this.clientTransport)); this.Process = new Process(options.ServiceName, options.ProcessTags); this.maxFlushInterval = options.MaxFlushInterval; this.maxFlushIntervalTimer = new System.Timers.Timer { AutoReset = false, Enabled = false, Interval = this.maxFlushInterval.TotalMilliseconds, }; this.maxFlushIntervalTimer.Elapsed += async(sender, args) => { await this.FlushAsyncInternal(false, CancellationToken.None).ConfigureAwait(false); }; }
private bool disposedValue = false; // To detect redundant calls public JaegerUdpBatcher(JaegerExporterOptions options) { this.maxPacketSize = options.MaxPacketSize == 0 ? DefaultMaxPacketSize : options.MaxPacketSize; this.protocolFactory = new TCompactProtocol.Factory(); this.clientTransport = new JaegerThriftClientTransport(options.AgentHost, options.AgentPort.Value); this.thriftClient = new JaegerThriftClient(this.protocolFactory.GetProtocol(this.clientTransport)); this.process = new Process(options.ServiceName, options.ProcessTags); this.processByteSize = this.GetSize(this.process); this.batchByteSize = this.processByteSize; }