You've already forked opentelemetry-go
mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-12-03 23:21:27 +02:00
40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
|
|
// Copyright The OpenTelemetry Authors
|
||
|
|
// SPDX-License-Identifier: Apache-2.0
|
||
|
|
|
||
|
|
package log // import "go.opentelemetry.io/otel/sdk/log"
|
||
|
|
|
||
|
|
import (
|
||
|
|
"context"
|
||
|
|
"fmt"
|
||
|
|
|
||
|
|
"go.opentelemetry.io/otel"
|
||
|
|
"go.opentelemetry.io/otel/metric"
|
||
|
|
"go.opentelemetry.io/otel/sdk"
|
||
|
|
"go.opentelemetry.io/otel/sdk/log/internal/x"
|
||
|
|
semconv "go.opentelemetry.io/otel/semconv/v1.37.0"
|
||
|
|
"go.opentelemetry.io/otel/semconv/v1.37.0/otelconv"
|
||
|
|
)
|
||
|
|
|
||
|
|
// newRecordCounterIncr returns a function that increments the log record
|
||
|
|
// counter metric. If observability is disabled, it returns nil.
|
||
|
|
func newRecordCounterIncr() (func(context.Context), error) {
|
||
|
|
if !x.SelfObservability.Enabled() {
|
||
|
|
return nil, nil
|
||
|
|
}
|
||
|
|
|
||
|
|
m := otel.GetMeterProvider().Meter(
|
||
|
|
"go.opentelemetry.io/otel/sdk/log",
|
||
|
|
metric.WithInstrumentationVersion(sdk.Version()),
|
||
|
|
metric.WithSchemaURL(semconv.SchemaURL),
|
||
|
|
)
|
||
|
|
|
||
|
|
created, err := otelconv.NewSDKLogCreated(m)
|
||
|
|
if err != nil {
|
||
|
|
err = fmt.Errorf("failed to create log created metric: %w", err)
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
inst := created.Inst()
|
||
|
|
f := func(ctx context.Context) { inst.Add(ctx, 1) }
|
||
|
|
return f, nil
|
||
|
|
}
|