Files
MarioandGitHub e0354d1bed Update Prometheus to v0.307.2, OTel collector contrib to v0.138.0, OTel to v1.44.0 (#5810)
* Update Prometheus to v0.307.2

* Update otel collector

* Update OTel collector
2025-10-28 11:30:17 +01:00

44 lines
1.3 KiB
Go

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
package otelconftelemetry // import "go.opentelemetry.io/collector/service/telemetry/otelconftelemetry"
import (
"context"
"fmt"
"go.opentelemetry.io/otel/attribute"
sdkresource "go.opentelemetry.io/otel/sdk/resource"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/pdata/pcommon"
"go.opentelemetry.io/collector/service/internal/resource"
"go.opentelemetry.io/collector/service/telemetry"
)
func createResource(
_ context.Context,
set telemetry.Settings,
componentConfig component.Config,
) (pcommon.Resource, error) {
res := newResource(set, componentConfig.(*Config))
pcommonRes := pcommon.NewResource()
for _, keyValue := range res.Attributes() {
key := string(keyValue.Key)
pcommonRes.Attributes().PutStr(key, mustAttributeValueString(key, keyValue.Value))
}
return pcommonRes, nil
}
func newResource(set telemetry.Settings, cfg *Config) *sdkresource.Resource {
return resource.New(set.BuildInfo, cfg.Resource)
}
func mustAttributeValueString(k string, v attribute.Value) string {
if v.Type() != attribute.STRING {
// We only support string-type resource attributes in the configuration.
panic(fmt.Errorf("attribute %q: expected string, got %s", k, v.Type()))
}
return v.AsString()
}