[chore] use mdatagen for batch processor (#9183)

Signed-off-by: Alex Boten <aboten@lightstep.com>
This commit is contained in:
Alex Boten 2023-12-22 11:12:32 -08:00 committed by GitHub
parent 6155cc25dd
commit 36bdd22601
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 51 additions and 18 deletions

View File

@ -1,12 +1,16 @@
# Batch Processor
<!-- status autogenerated section -->
| Status | |
| ------------------------ | --------------------- |
| Stability | traces [beta] |
| | metrics [beta] |
| | logs [beta] |
| Supported pipeline types | traces, metrics, logs |
| ------------- |-----------|
| Stability | [beta]: traces, metrics, logs |
| Distributions | [core], [contrib] |
| Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aprocessor%2Fbatch%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aprocessor%2Fbatch) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aprocessor%2Fbatch%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aprocessor%2Fbatch) |
[beta]: https://github.com/open-telemetry/opentelemetry-collector#beta
[core]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol
[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib
<!-- end autogenerated section -->
The batch processor accepts spans, metrics, or logs and places them into
batches. Batching helps better compress the data and reduce the number of
@ -109,7 +113,3 @@ metadata-key values.
The number of batch processors currently in use is exported as the
`otelcol_processor_batch_metadata_cardinality` metric.
[beta]: https://github.com/open-telemetry/opentelemetry-collector#beta
[contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib
[core]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol

View File

@ -1,6 +1,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
//go:generate mdatagen metadata.yaml
package batchprocessor // import "go.opentelemetry.io/collector/processor/batchprocessor"
import (
@ -11,12 +13,10 @@ import (
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/internal/obsreportconfig"
"go.opentelemetry.io/collector/processor"
"go.opentelemetry.io/collector/processor/batchprocessor/internal/metadata"
)
const (
// The value of "type" key in configuration.
typeStr = "batch"
defaultSendBatchSize = uint32(8192)
defaultTimeout = 200 * time.Millisecond
@ -29,11 +29,11 @@ const (
// NewFactory returns a new factory for the Batch processor.
func NewFactory() processor.Factory {
return processor.NewFactory(
typeStr,
metadata.Type,
createDefaultConfig,
processor.WithTraces(createTraces, component.StabilityLevelStable),
processor.WithMetrics(createMetrics, component.StabilityLevelStable),
processor.WithLogs(createLogs, component.StabilityLevelStable))
processor.WithTraces(createTraces, metadata.TracesStability),
processor.WithMetrics(createMetrics, metadata.MetricsStability),
processor.WithLogs(createLogs, metadata.LogsStability))
}
func createDefaultConfig() component.Config {

View File

@ -0,0 +1,25 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
const (
Type = "batch"
TracesStability = component.StabilityLevelBeta
MetricsStability = component.StabilityLevelBeta
LogsStability = component.StabilityLevelBeta
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("otelcol/batch")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("otelcol/batch")
}

View File

@ -0,0 +1,7 @@
type: batch
status:
class: processor
stability:
beta: [traces, metrics, logs]
distributions: [core, contrib]

View File

@ -34,6 +34,7 @@ var (
type trigger int
const (
typeStr = "batch"
triggerTimeout trigger = iota
triggerBatchSize
)