Skip to content

Commit

Permalink
[batchprocessor] use mdatagen for async metric
Browse files Browse the repository at this point in the history
Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
  • Loading branch information
codeboten committed May 27, 2024
1 parent 6364644 commit 48a26e4
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 8 deletions.
8 changes: 8 additions & 0 deletions processor/batchprocessor/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,14 @@ Number of times the batch was sent due to a size trigger
| ---- | ----------- | ---------- | --------- |
| 1 | Sum | Int | true |

### processor_batch_metadata_cardinality

Number of distinct metadata value combinations being processed

| Unit | Metric Type | Value Type | Monotonic |
| ---- | ----------- | ---------- | --------- |
| 1 | Sum | Int | false |

### processor_batch_timeout_trigger_send

Number of times the batch was sent due to a timeout trigger
Expand Down
28 changes: 24 additions & 4 deletions processor/batchprocessor/internal/metadata/generated_telemetry.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions processor/batchprocessor/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,10 @@ telemetry:
unit: By
histogram:
value_type: int
processor_batch_metadata_cardinality:
enabled: true
description: Number of distinct metadata value combinations being processed
unit: 1
sum:
value_type: int
async: true
8 changes: 4 additions & 4 deletions processor/batchprocessor/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,15 @@ func (bpt *batchProcessorTelemetry) createOtelMetrics(set component.TelemetrySet
meter = noopmetric.Meter{}
}

bpt.telemetryBuilder, err = metadata.NewTelemetryBuilder(set)
bpt.telemetryBuilder, err = metadata.NewTelemetryBuilder(set, metadata.WithProcessorBatchMetadataCardinalityCallback(func() int64 { return int64(currentMetadataCardinality()) }))
errors = multierr.Append(errors, err)

bpt.batchMetadataCardinality, err = meter.Int64ObservableUpDownCounter(
processorhelper.BuildCustomMetricName(typeStr, "metadata_cardinality"),
metric.WithDescription("Number of distinct metadata value combinations being processed"),
processorhelper.BuildCustomMetricName(typeStr, ""),
metric.WithDescription(""),
metric.WithUnit("1"),
metric.WithInt64Callback(func(_ context.Context, obs metric.Int64Observer) error {
obs.Observe(int64(currentMetadataCardinality()))

return nil
}),
)
Expand Down

0 comments on commit 48a26e4

Please sign in to comment.