mirror of
https://github.com/hanzoai/traces.git
synced 2026-11-03 04:05:45 +00:00
* Update Prometheus to v0.307.2 * Update otel collector * Update OTel collector
71 lines
1.8 KiB
Go
71 lines
1.8 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package otelconf // import "go.opentelemetry.io/contrib/otelconf/v0.3.0"
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"reflect"
|
|
)
|
|
|
|
// UnmarshalYAML implements yaml.Unmarshaler.
|
|
func (j *AttributeNameValueType) UnmarshalYAML(unmarshal func(any) error) error {
|
|
var v struct {
|
|
Value any
|
|
}
|
|
if err := unmarshal(&v.Value); err != nil {
|
|
return err
|
|
}
|
|
var ok bool
|
|
for _, expected := range enumValuesAttributeNameValueType {
|
|
if reflect.DeepEqual(v.Value, expected) {
|
|
ok = true
|
|
break
|
|
}
|
|
}
|
|
if !ok {
|
|
return fmt.Errorf("invalid value (expected one of %#v): %#v", enumValuesAttributeNameValueType, v.Value)
|
|
}
|
|
*j = AttributeNameValueType(v)
|
|
return nil
|
|
}
|
|
|
|
// UnmarshalYAML implements yaml.Unmarshaler.
|
|
func (j *NameStringValuePair) UnmarshalYAML(unmarshal func(any) error) error {
|
|
var raw map[string]any
|
|
if err := unmarshal(&raw); err != nil {
|
|
return err
|
|
}
|
|
if _, ok := raw["name"]; !ok {
|
|
return errors.New("yaml: cannot unmarshal field name in NameStringValuePair required")
|
|
}
|
|
if _, ok := raw["value"]; !ok {
|
|
return errors.New("yaml: cannot unmarshal field value in NameStringValuePair required")
|
|
}
|
|
var name, value string
|
|
var ok bool
|
|
if name, ok = raw["name"].(string); !ok {
|
|
return errors.New("yaml: cannot unmarshal field name in NameStringValuePair must be string")
|
|
}
|
|
if value, ok = raw["value"].(string); !ok {
|
|
return errors.New("yaml: cannot unmarshal field value in NameStringValuePair must be string")
|
|
}
|
|
*j = NameStringValuePair{
|
|
Name: name,
|
|
Value: &value,
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// UnmarshalYAML implements yaml.Unmarshaler.
|
|
func (j *LanguageSpecificInstrumentation) UnmarshalYAML(unmarshal func(any) error) error {
|
|
var raw map[string]any
|
|
if err := unmarshal(&raw); err != nil {
|
|
return err
|
|
}
|
|
|
|
*j = raw
|
|
return nil
|
|
}
|