From 14a46667503df28a2e1cc82f56e3b3ad261f621d Mon Sep 17 00:00:00 2001 From: Joshua MacDonald Date: Wed, 20 Dec 2023 15:19:38 -0800 Subject: [PATCH] (concurrentbatchprocessor) Fail fast when size limit is exceeded (#126) Fixes #124 Unrelated cleanups: - rename max_in_flight_bytes_mib to max_in_flight_size_mib ("bytes" is redundant), since it's unreleased - add a brief README.md - remove an accidental profile output named `out`. --- .../concurrentbatchprocessor/README.md | 28 ++ .../batch_processor.go | 14 +- .../batch_processor_test.go | 124 ++++---- .../concurrentbatchprocessor/config.go | 16 +- .../concurrentbatchprocessor/config_test.go | 2 +- .../concurrentbatchprocessor/factory.go | 7 +- .../processor/concurrentbatchprocessor/out | 286 ------------------ .../testdata/config.yaml | 2 +- 8 files changed, 127 insertions(+), 352 deletions(-) create mode 100644 collector/processor/concurrentbatchprocessor/README.md delete mode 100644 collector/processor/concurrentbatchprocessor/out diff --git a/collector/processor/concurrentbatchprocessor/README.md b/collector/processor/concurrentbatchprocessor/README.md new file mode 100644 index 00000000..c2925348 --- /dev/null +++ b/collector/processor/concurrentbatchprocessor/README.md @@ -0,0 +1,28 @@ +# Concurrent Batch Processor + +This component is an experimental processor, forked from the [core +OpenTelemetry Collector `batchprocessor` +component](https://github.com/open-telemetry/opentelemetry-collector/blob/main/processor/batchprocessor/README.md). +The differences in this component, relative to that component are: + +1. Synchronous pipeline support: this component blocks each producer + until the request returns with success or an error status code. +2. Maximim in-flight-bytes setting. This component measures the + in-memory size of each request it admits to the pipeline and + otherwise stalls requests until they timeout. +3. Unlimited concurrency: this component will start as many goroutines + as needed to send batches through the pipeline. + +Here is an example configuration: + +``` + processors: + concurrentbatch: + send_batch_max_size: 1500 + send_batch_size: 1000 + timeout: 1s + max_in_flight_size_mib: 128 +``` + +In this configuration, the component will admit up to 128MiB of +request data before stalling. diff --git a/collector/processor/concurrentbatchprocessor/batch_processor.go b/collector/processor/concurrentbatchprocessor/batch_processor.go index c6283401..db4f3e3b 100644 --- a/collector/processor/concurrentbatchprocessor/batch_processor.go +++ b/collector/processor/concurrentbatchprocessor/batch_processor.go @@ -68,7 +68,9 @@ type batchProcessor struct { // batcher will be either *singletonBatcher or *multiBatcher batcher batcher - sem *semaphore.Weighted + // in-flight bytes limit mechanism + limitBytes int64 + sem *semaphore.Weighted } type batcher interface { @@ -150,12 +152,14 @@ var _ consumer.Logs = (*batchProcessor)(nil) // newBatchProcessor returns a new batch processor component. func newBatchProcessor(set processor.CreateSettings, cfg *Config, batchFunc func() batch, useOtel bool) (*batchProcessor, error) { + // use lower-case, to be consistent with http/2 headers. mks := make([]string, len(cfg.MetadataKeys)) for i, k := range cfg.MetadataKeys { mks[i] = strings.ToLower(k) } sort.Strings(mks) + limitBytes := int64(cfg.MaxInFlightSizeMiB) << 20 bp := &batchProcessor{ logger: set.Logger, @@ -166,7 +170,8 @@ func newBatchProcessor(set processor.CreateSettings, cfg *Config, batchFunc func shutdownC: make(chan struct{}, 1), metadataKeys: mks, metadataLimit: int(cfg.MetadataCardinalityLimit), - sem: semaphore.NewWeighted(int64(cfg.MaxInFlightBytesMiB)<<20), + limitBytes: limitBytes, + sem: semaphore.NewWeighted(limitBytes), } if len(bp.metadataKeys) == 0 { bp.batcher = &singleShardBatcher{batcher: bp.newShard(nil)} @@ -392,6 +397,11 @@ func (b *shard) consumeAndWait(ctx context.Context, data any) error { } bytes := int64(b.batch.sizeBytes(data)) + + if bytes > b.processor.limitBytes { + return fmt.Errorf("request size exceeds max-in-flight bytes: %d", bytes) + } + err := b.processor.countAcquire(ctx, bytes) if err != nil { return err diff --git a/collector/processor/concurrentbatchprocessor/batch_processor_test.go b/collector/processor/concurrentbatchprocessor/batch_processor_test.go index 1868278b..b9bff399 100644 --- a/collector/processor/concurrentbatchprocessor/batch_processor_test.go +++ b/collector/processor/concurrentbatchprocessor/batch_processor_test.go @@ -206,12 +206,12 @@ func TestBatchProcessorLogsPanicRecover(t *testing.T) { } type blockingConsumer struct { - lock sync.Mutex - numItems int + lock sync.Mutex + numItems int numBytesAcquired int64 - blocking chan struct{} - sem *semaphore.Weighted - szr *ptrace.ProtoMarshaler + blocking chan struct{} + sem *semaphore.Weighted + szr *ptrace.ProtoMarshaler } func (bc *blockingConsumer) getItemsWaiting() int { @@ -243,9 +243,9 @@ func (bc *blockingConsumer) Capabilities() consumer.Capabilities { return consumer.Capabilities{MutatesData: false} } -// helper function to help determine a setting for cfg.MaxInFlightBytesMiB based +// helper function to help determine a setting for cfg.MaxInFlightSizeMiB based // on the number of requests and number of spans per request. -func calculateMaxInFlightBytesMiB(numRequests, spansPerRequest int) uint32 { +func calculateMaxInFlightSizeMiB(numRequests, spansPerRequest int) uint32 { sentResourceSpans := ptrace.NewTraces().ResourceSpans() td := testdata.GenerateTraces(spansPerRequest) spans := td.ResourceSpans().At(0).ScopeSpans().At(0).Spans() @@ -270,13 +270,13 @@ func TestBatchProcessorCancelContext(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.SendBatchSize = 128 cfg.Timeout = 10 * time.Second - cfg.MaxInFlightBytesMiB = calculateMaxInFlightBytesMiB(requestCount, spansPerRequest) + cfg.MaxInFlightSizeMiB = calculateMaxInFlightSizeMiB(requestCount, spansPerRequest) creationSet := processortest.NewNopCreateSettings() creationSet.MetricsLevel = configtelemetry.LevelDetailed bc := &blockingConsumer{ blocking: make(chan struct{}, 1), - sem: semaphore.NewWeighted(int64(cfg.MaxInFlightBytesMiB<<20)), - szr: &ptrace.ProtoMarshaler{}, + sem: semaphore.NewWeighted(int64(cfg.MaxInFlightSizeMiB << 20)), + szr: &ptrace.ProtoMarshaler{}, } bp, err := newBatchTracesProcessor(creationSet, bc, cfg, true) require.NoError(t, err) @@ -308,9 +308,9 @@ func TestBatchProcessorCancelContext(t *testing.T) { return bc.getItemsWaiting() == numSpans }, 5*time.Second, 10*time.Millisecond) - // MaxInFlightBytesMiB is the upperbound on in flight bytes, so calculate + // MaxInFlightSizeMiB is the upperbound on in flight bytes, so calculate // how many free bytes the semaphore has. - excess := int64(cfg.MaxInFlightBytesMiB<<20) - bc.numBytesAcquired + excess := int64(cfg.MaxInFlightSizeMiB<<20) - bc.numBytesAcquired assert.False(t, bp.sem.TryAcquire(excess+1)) // cancel context and wait for ConsumeTraces to return. @@ -321,9 +321,9 @@ func TestBatchProcessorCancelContext(t *testing.T) { // signal to the blockingConsumer to return response to waiters. bc.unblock() - // Semaphore should be released once all responses are returned. Confirm we can acquire MaxInFlightBytesMiB bytes. + // Semaphore should be released once all responses are returned. Confirm we can acquire MaxInFlightSizeMiB bytes. require.Eventually(t, func() bool { - return bp.sem.TryAcquire(int64(cfg.MaxInFlightBytesMiB<<20)) + return bp.sem.TryAcquire(int64(cfg.MaxInFlightSizeMiB << 20)) }, 5*time.Second, 10*time.Millisecond) require.NoError(t, bp.Shutdown(context.Background())) } @@ -591,9 +591,9 @@ func TestBatchProcessorSentByTimeout(t *testing.T) { func TestBatchProcessorTraceSendWhenClosing(t *testing.T) { cfg := Config{ - Timeout: 3 * time.Second, - SendBatchSize: 1000, - MaxInFlightBytesMiB: defaultMaxMiB, + Timeout: 3 * time.Second, + SendBatchSize: 1000, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } sink := new(consumertest.TracesSink) @@ -626,9 +626,9 @@ func TestBatchMetricProcessor_ReceivingData(t *testing.T) { // Instantiate the batch processor with low config values to test data // gets sent through the processor. cfg := Config{ - Timeout: 200 * time.Millisecond, - SendBatchSize: 50, - MaxInFlightBytesMiB: defaultMaxMiB, + Timeout: 200 * time.Millisecond, + SendBatchSize: 50, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } requestCount := 100 @@ -692,9 +692,9 @@ func testBatchMetricProcessorBatchSize(t *testing.T, tel testTelemetry, useOtel // Instantiate the batch processor with low config values to test data // gets sent through the processor. cfg := Config{ - Timeout: 2 * time.Second, - SendBatchSize: 50, - MaxInFlightBytesMiB: defaultMaxMiB, + Timeout: 2 * time.Second, + SendBatchSize: 50, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } requestCount := 100 @@ -766,9 +766,9 @@ func TestBatchMetrics_UnevenBatchMaxSize(t *testing.T) { func TestBatchMetricsProcessor_Timeout(t *testing.T) { cfg := Config{ - Timeout: 100 * time.Millisecond, - SendBatchSize: 101, - MaxInFlightBytesMiB: defaultMaxMiB, + Timeout: 100 * time.Millisecond, + SendBatchSize: 101, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } requestCount := 5 metricsPerRequest := 10 @@ -812,9 +812,9 @@ func TestBatchMetricsProcessor_Timeout(t *testing.T) { func TestBatchMetricProcessor_Shutdown(t *testing.T) { cfg := Config{ - Timeout: 3 * time.Second, - SendBatchSize: 1000, - MaxInFlightBytesMiB: defaultMaxMiB, + Timeout: 3 * time.Second, + SendBatchSize: 1000, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } requestCount := 5 metricsPerRequest := 10 @@ -905,9 +905,9 @@ func BenchmarkTraceSizeSpanCount(b *testing.B) { func BenchmarkBatchMetricProcessor(b *testing.B) { b.StopTimer() cfg := Config{ - Timeout: 100 * time.Millisecond, - SendBatchSize: 2000, - MaxInFlightBytesMiB: defaultMaxMiB, + Timeout: 100 * time.Millisecond, + SendBatchSize: 2000, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } runMetricsProcessorBenchmark(b, cfg) } @@ -915,10 +915,10 @@ func BenchmarkBatchMetricProcessor(b *testing.B) { func BenchmarkMultiBatchMetricProcessor(b *testing.B) { b.StopTimer() cfg := Config{ - Timeout: 100 * time.Millisecond, - SendBatchSize: 2000, - MetadataKeys: []string{"test", "test2"}, - MaxInFlightBytesMiB: defaultMaxMiB, + Timeout: 100 * time.Millisecond, + SendBatchSize: 2000, + MetadataKeys: []string{"test", "test2"}, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } runMetricsProcessorBenchmark(b, cfg) } @@ -966,9 +966,9 @@ func TestBatchLogProcessor_ReceivingData(t *testing.T) { // Instantiate the batch processor with low config values to test data // gets sent through the processor. cfg := Config{ - Timeout: 200 * time.Millisecond, - SendBatchSize: 50, - MaxInFlightBytesMiB: defaultMaxMiB, + Timeout: 200 * time.Millisecond, + SendBatchSize: 50, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } requestCount := 100 @@ -1032,9 +1032,9 @@ func testBatchLogProcessorBatchSize(t *testing.T, tel testTelemetry, useOtel boo // Instantiate the batch processor with low config values to test data // gets sent through the processor. cfg := Config{ - Timeout: 2 * time.Second, - SendBatchSize: 50, - MaxInFlightBytesMiB: defaultMaxMiB, + Timeout: 2 * time.Second, + SendBatchSize: 50, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } requestCount := 100 @@ -1084,9 +1084,9 @@ func testBatchLogProcessorBatchSize(t *testing.T, tel testTelemetry, useOtel boo func TestBatchLogsProcessor_Timeout(t *testing.T) { cfg := Config{ - Timeout: 3 * time.Second, - SendBatchSize: 100, - MaxInFlightBytesMiB: defaultMaxMiB, + Timeout: 3 * time.Second, + SendBatchSize: 100, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } requestCount := 5 logsPerRequest := 10 @@ -1130,9 +1130,9 @@ func TestBatchLogsProcessor_Timeout(t *testing.T) { func TestBatchLogProcessor_Shutdown(t *testing.T) { cfg := Config{ - Timeout: 3 * time.Second, - SendBatchSize: 1000, - MaxInFlightBytesMiB: defaultMaxMiB, + Timeout: 3 * time.Second, + SendBatchSize: 1000, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } requestCount := 5 logsPerRequest := 10 @@ -1400,7 +1400,7 @@ func TestBatchZeroConfig(t *testing.T) { // This is a no-op configuration. No need for a timer, no // minimum, no mxaimum, just a pass through. cfg := Config{ - MaxInFlightBytesMiB: defaultMaxMiB, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } require.NoError(t, cfg.Validate()) @@ -1442,8 +1442,8 @@ func TestBatchSplitOnly(t *testing.T) { const logsPerRequest = 100 cfg := Config{ - SendBatchMaxSize: maxBatch, - MaxInFlightBytesMiB: defaultMaxMiB, + SendBatchMaxSize: maxBatch, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, } require.NoError(t, cfg.Validate()) @@ -1472,3 +1472,25 @@ func TestBatchSplitOnly(t *testing.T) { require.Equal(t, maxBatch, ld.LogRecordCount()) } } + +func TestBatchTooLarge(t *testing.T) { + cfg := Config{ + SendBatchMaxSize: 100000, + SendBatchSize: 100000, + MaxInFlightSizeMiB: 1, + } + + require.NoError(t, cfg.Validate()) + + sink := new(consumertest.LogsSink) + creationSet := processortest.NewNopCreateSettings() + creationSet.MetricsLevel = configtelemetry.LevelDetailed + batcher, err := newBatchLogsProcessor(creationSet, sink, &cfg, true) + require.NoError(t, err) + require.NoError(t, batcher.Start(context.Background(), componenttest.NewNopHost())) + + ld := testdata.GenerateLogs(100000) + err = batcher.ConsumeLogs(context.Background(), ld) + assert.Error(t, err) + assert.Contains(t, err.Error(), "request size exceeds max-in-flight bytes") +} diff --git a/collector/processor/concurrentbatchprocessor/config.go b/collector/processor/concurrentbatchprocessor/config.go index 6fa48503..3a277339 100644 --- a/collector/processor/concurrentbatchprocessor/config.go +++ b/collector/processor/concurrentbatchprocessor/config.go @@ -45,11 +45,11 @@ type Config struct { // combination of MetadataKeys. MetadataCardinalityLimit uint32 `mapstructure:"metadata_cardinality_limit"` - // MaxInFlightBytes limits the number of bytes in queue waiting to be + // MaxInFlightSizeMiB limits the number of bytes in queue waiting to be // processed by the senders. - MaxInFlightBytesMiB uint32 `mapstructure:"max_in_flight_bytes_mib"` + MaxInFlightSizeMiB uint32 `mapstructure:"max_in_flight_size_mib"` - // Deprecated: Use MaxInFlightBytesMiB instead. + // Deprecated: Use MaxInFlightSizeMiB instead. MaxInFlightBytes uint32 `mapstructure:"max_in_flight_bytes"` } @@ -72,18 +72,18 @@ func (cfg *Config) Validate() error { return errors.New("timeout must be greater or equal to 0") } - if cfg.MaxInFlightBytes != 0 && cfg.MaxInFlightBytesMiB != 0 { - return errors.New("max_in_flight_bytes is deprecated, use only max_in_flight_bytes_mib instead") + if cfg.MaxInFlightBytes != 0 && cfg.MaxInFlightSizeMiB != 0 { + return errors.New("max_in_flight_bytes is deprecated, use only max_in_flight_size_mib instead") } if cfg.MaxInFlightBytes > 0 { // Round up - cfg.MaxInFlightBytesMiB = (cfg.MaxInFlightBytes - 1 + 1<<20) >> 20 + cfg.MaxInFlightSizeMiB = (cfg.MaxInFlightBytes - 1 + 1<<20) >> 20 cfg.MaxInFlightBytes = 0 } - if cfg.MaxInFlightBytesMiB < 0 { - return errors.New("max_in_flight_bytes_mib must be greater than or equal to 0") + if cfg.MaxInFlightSizeMiB < 0 { + return errors.New("max_in_flight_size_mib must be greater than or equal to 0") } return nil } diff --git a/collector/processor/concurrentbatchprocessor/config_test.go b/collector/processor/concurrentbatchprocessor/config_test.go index 0a1cff20..2a393581 100644 --- a/collector/processor/concurrentbatchprocessor/config_test.go +++ b/collector/processor/concurrentbatchprocessor/config_test.go @@ -35,7 +35,7 @@ func TestUnmarshalConfig(t *testing.T) { SendBatchMaxSize: uint32(11000), Timeout: time.Second * 10, MetadataCardinalityLimit: 1000, - MaxInFlightBytesMiB: 12345, + MaxInFlightSizeMiB: 12345, }, cfg) } diff --git a/collector/processor/concurrentbatchprocessor/factory.go b/collector/processor/concurrentbatchprocessor/factory.go index 2c66276f..03e0bf35 100644 --- a/collector/processor/concurrentbatchprocessor/factory.go +++ b/collector/processor/concurrentbatchprocessor/factory.go @@ -18,8 +18,9 @@ const ( defaultSendBatchSize = uint32(8192) defaultTimeout = 200 * time.Millisecond - // default inflight bytes is 2 MiB - defaultMaxMiB = 2 + + // default inflight bytes is 32 MiB + defaultMaxInFlightSizeMiB = 32 // defaultMetadataCardinalityLimit should be set to the number // of metadata configurations the user expects to submit to @@ -45,7 +46,7 @@ func createDefaultConfig() component.Config { return &Config{ SendBatchSize: defaultSendBatchSize, Timeout: defaultTimeout, - MaxInFlightBytesMiB: defaultMaxMiB, + MaxInFlightSizeMiB: defaultMaxInFlightSizeMiB, MetadataCardinalityLimit: defaultMetadataCardinalityLimit, } } diff --git a/collector/processor/concurrentbatchprocessor/out b/collector/processor/concurrentbatchprocessor/out deleted file mode 100644 index 7ced4719..00000000 --- a/collector/processor/concurrentbatchprocessor/out +++ /dev/null @@ -1,286 +0,0 @@ -mode: set -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:140.39,141.19 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:141.19,143.3 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:144.2,144.55 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:152.130,155.37 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:155.37,157.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:158.2,171.31 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:171.31,173.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:173.8,177.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:179.2,180.16 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:180.16,182.3 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:183.2,185.16 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:189.67,204.2 5 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:206.64,208.2 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:211.72,213.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:216.59,222.2 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:224.25,230.64 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:230.64,233.3 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:234.2,234.6 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:234.6,235.10 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:236.32,238.8 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:238.8,239.12 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:240.30,241.25 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:242.13,243.16 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:247.4,247.31 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:247.31,251.5 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:252.4,252.10 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:253.28,254.24 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:254.24,255.13 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:257.4,257.23 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:258.18,259.31 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:259.31,261.5 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:262.4,262.18 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:267.44,279.2 6 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:281.30,284.101 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:284.101,287.3 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:289.2,289.10 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:289.10,292.3 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:295.33,297.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:299.29,300.37 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:300.37,302.3 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:305.30,306.18 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:306.18,308.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:311.44,322.59 7 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:322.59,324.61 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:324.61,330.4 5 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:330.9,336.26 4 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:336.26,338.5 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:338.10,340.5 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:344.2,344.12 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:344.12,346.26 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:346.26,350.4 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:352.3,352.17 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:352.17,354.4 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:354.9,356.4 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:359.2,359.29 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:363.69,370.30 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:371.21,372.33 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:373.23,374.38 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:375.17,376.38 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:379.2,381.16 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:381.16,383.3 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:387.2,387.15 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:387.15,388.22 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:388.22,391.4 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:396.3,396.13 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:396.13,397.31 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:397.31,401.24 3 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:401.24,402.14 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:404.5,404.10 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:406.4,406.24 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:410.2,410.9 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:411.20,412.19 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:413.25,413.25 0 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:416.2,416.6 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:416.6,417.10 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:418.27,421.25 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:421.25,423.5 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:425.4,426.23 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:426.23,427.13 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:430.4,430.14 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:431.21,433.14 2 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:436.2,436.12 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:445.76,447.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:449.64,451.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:464.75,470.36 4 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:470.36,476.19 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:476.19,478.4 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:478.9,480.4 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:482.2,485.9 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:485.9,487.59 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:487.59,490.4 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:494.3,496.14 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:496.14,498.4 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:499.3,499.19 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:502.2,502.45 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:505.40,507.2 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:509.63,513.2 3 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:516.86,518.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:521.89,523.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:526.80,528.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:531.134,532.50 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:532.50,532.81 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:536.136,537.50 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:537.50,537.82 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:541.130,542.50 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:542.50,542.79 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:545.34,546.30 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:546.30,548.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:558.64,560.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:563.38,567.23 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:567.23,569.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:571.2,572.66 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:575.48,577.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:579.76,583.2 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:585.107,588.63 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:588.63,592.3 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:592.8,597.3 4 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:598.2,598.18 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:601.40,603.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:612.67,614.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:616.49,618.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:620.77,624.2 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:626.108,629.66 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:629.66,633.3 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:633.8,638.3 4 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:640.2,640.18 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:643.41,645.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:647.39,651.28 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:651.28,653.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:654.2,655.71 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:665.58,667.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:669.46,671.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:673.74,677.2 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:679.105,683.60 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:683.60,687.3 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:687.8,692.3 4 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:693.2,693.18 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:696.38,698.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:700.36,704.23 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:704.23,706.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/batch_processor.go:707.2,708.62 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/config.go:56.37,57.74 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/config.go:57.74,59.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/config.go:60.2,61.37 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/config.go:61.37,63.29 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/config.go:63.29,65.4 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/config.go:66.3,66.17 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/config.go:68.2,68.21 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/config.go:68.21,70.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/config.go:71.2,71.12 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/factory.go:35.37,42.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/factory.go:44.45,51.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/factory.go:58.29,60.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/factory.go:67.30,69.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/factory.go:76.27,78.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:46.13,49.2 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:52.33,95.2 6 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:112.150,114.16 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:114.16,116.3 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:118.2,126.92 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:126.92,128.3 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:130.2,130.17 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:133.125,134.18 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:134.18,136.3 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:138.2,173.84 11 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:173.84,176.4 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:178.2,180.15 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:183.80,184.17 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:184.17,186.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:186.8,188.3 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:191.86,193.17 2 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:194.24,195.44 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:196.22,197.42 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:200.2,201.18 2 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:201.18,203.3 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:206.88,207.17 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:208.24,209.94 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:210.22,211.92 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:214.2,215.18 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/metrics.go:215.18,217.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:11.51,12.34 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:12.34,14.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:15.2,18.65 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:18.65,20.36 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:20.36,22.4 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:25.3,26.49 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:26.49,30.4 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:32.3,34.63 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:34.63,36.37 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:36.37,38.5 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:41.4,42.47 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:42.47,46.5 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:48.4,50.69 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:50.69,52.38 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:52.38,54.6 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:55.5,57.16 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:59.4,59.16 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:61.3,61.38 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:64.2,64.13 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:68.52,69.44 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:69.44,71.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitlogs.go:72.2,72.8 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:11.66,13.24 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:13.24,15.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:16.2,19.74 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:19.74,21.36 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:21.36,23.4 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:26.3,27.60 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:27.60,31.4 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:33.3,35.72 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:35.72,37.37 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:37.37,39.5 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:42.4,43.58 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:43.58,47.5 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:49.4,51.66 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:51.66,53.38 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:53.38,55.6 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:58.5,59.58 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:59.58,63.6 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:66.5,68.18 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:70.4,70.16 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:72.3,72.41 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:75.2,75.13 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:79.57,82.34 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:82.34,84.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:85.2,85.23 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:89.52,92.32 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:92.32,94.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:95.2,95.23 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:99.39,100.19 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:101.31,102.39 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:103.29,104.37 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:105.35,106.43 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:107.46,108.54 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:109.33,110.41 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:112.2,112.10 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:117.65,122.19 4 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:123.31,124.97 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:125.29,129.82 4 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:130.35,133.97 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:134.46,137.119 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:138.33,139.102 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:141.2,141.20 1 0 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:144.89,147.53 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:147.53,148.15 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:148.15,152.4 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:153.3,153.15 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:155.2,155.20 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:158.95,161.56 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:161.56,162.15 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:162.15,166.4 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:167.3,167.15 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:169.2,169.20 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:172.117,175.67 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:175.67,176.15 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:176.15,180.4 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:181.3,181.15 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:183.2,183.20 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:186.91,189.54 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:189.54,190.15 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:190.15,194.4 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:195.3,195.15 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splitmetrics.go:197.2,197.20 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:11.61,12.29 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:12.29,14.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:15.2,18.69 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:18.69,20.31 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:20.31,22.4 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:25.3,26.43 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:26.43,30.4 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:32.3,34.67 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:34.67,36.32 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:36.32,38.5 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:41.4,42.41 2 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:42.41,46.5 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:48.4,50.59 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:50.59,52.33 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:52.33,54.6 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:55.5,57.16 3 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:59.4,59.16 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:61.3,61.39 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:64.2,64.13 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:68.54,69.45 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:69.45,71.3 1 1 -github.com/open-telemetry/otel-arrow/collector/processor/concurrentbatchprocessor/splittraces.go:72.2,72.8 1 1 diff --git a/collector/processor/concurrentbatchprocessor/testdata/config.yaml b/collector/processor/concurrentbatchprocessor/testdata/config.yaml index c860cb06..d549d7d7 100644 --- a/collector/processor/concurrentbatchprocessor/testdata/config.yaml +++ b/collector/processor/concurrentbatchprocessor/testdata/config.yaml @@ -1,4 +1,4 @@ timeout: 10s send_batch_size: 10000 send_batch_max_size: 11000 -max_in_flight_bytes_mib: 12345 \ No newline at end of file +max_in_flight_size_mib: 12345