381
382
// UnmarshalYAML loads the state of a generic exporter from parsed YAML
383
>
func (e *exporter) UnmarshalYAML(n *yaml.Node) error {
config.go
384
>
type exp exporter
385
>
type overlay struct {
386
>
*exp `yaml:",inline"`
387
>
Spec yaml.Node `yaml:"spec"`
388
>
}
389
>
obj := overlay{exp: (*exp)(e)}
390
>
err := n.Decode(&obj)
391
>
if err != nil {
392
return err
393
}
394
>
descriptor := fmt.Sprintf("%v+%v+%v", e.Kind.Signal, e.Kind.Model, e.Kind.Protocol)
config.go
395
>
switch descriptor {
396
>
case "traces+otlp+grpc", "trace+otlp+grpc":
397
>
e.Spec = new(otlpGrpcSpanExporter)
398
case "metrics+otlp+grpc", "metric+otlp+grpc":
399
e.Spec = new(otlpGrpcMetricExporter)