You've already forked opentelemetry-go
mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-11-29 23:07:45 +02:00
Self-Observability is a redundant term, the self being instrumented is always the self that observability is being provided for. Remove this redundancy. Continue to provide backwards compatibility for any users already using `OTEL_GO_X_SELF_OBSERVABILITY` to enable the feature. --------- Co-authored-by: Damien Mathieu <42@dmathieu.com>
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.Observability.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
|
|
}
|