mirror of
https://github.com/hanzoai/traces.git
synced 2026-11-03 04:05:45 +00:00
903b77efbd
Bumps the opentelemetry-collector group with 4 updates: [go.opentelemetry.io/collector/exporter/otlpexporter](https://github.com/open-telemetry/opentelemetry-collector), [go.opentelemetry.io/collector/exporter/otlphttpexporter](https://github.com/open-telemetry/opentelemetry-collector), [go.opentelemetry.io/collector/otelcol](https://github.com/open-telemetry/opentelemetry-collector) and [go.opentelemetry.io/collector/receiver/otlpreceiver](https://github.com/open-telemetry/opentelemetry-collector). Updates `go.opentelemetry.io/collector/exporter/otlpexporter` from 0.131.0 to 0.132.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md) - [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.131.0...v0.132.0) Updates `go.opentelemetry.io/collector/exporter/otlphttpexporter` from 0.131.0 to 0.132.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md) - [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.131.0...v0.132.0) Updates `go.opentelemetry.io/collector/otelcol` from 0.131.0 to 0.132.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md) - [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.131.0...v0.132.0) Updates `go.opentelemetry.io/collector/receiver/otlpreceiver` from 0.131.0 to 0.132.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md) - [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.131.0...v0.132.0) --- updated-dependencies: - dependency-name: go.opentelemetry.io/collector/exporter/otlpexporter dependency-version: 0.132.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: opentelemetry-collector - dependency-name: go.opentelemetry.io/collector/exporter/otlphttpexporter dependency-version: 0.132.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: opentelemetry-collector - dependency-name: go.opentelemetry.io/collector/otelcol dependency-version: 0.132.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: opentelemetry-collector - dependency-name: go.opentelemetry.io/collector/receiver/otlpreceiver dependency-version: 0.132.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: opentelemetry-collector ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
78 lines
2.2 KiB
Go
78 lines
2.2 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package otlpreceiver // import "go.opentelemetry.io/collector/receiver/otlpreceiver"
|
|
|
|
import (
|
|
"encoding"
|
|
"errors"
|
|
"fmt"
|
|
"net/url"
|
|
"path"
|
|
|
|
"go.opentelemetry.io/collector/component"
|
|
"go.opentelemetry.io/collector/config/configgrpc"
|
|
"go.opentelemetry.io/collector/config/confighttp"
|
|
"go.opentelemetry.io/collector/config/configoptional"
|
|
)
|
|
|
|
type SanitizedURLPath string
|
|
|
|
var _ encoding.TextUnmarshaler = (*SanitizedURLPath)(nil)
|
|
|
|
func (s *SanitizedURLPath) UnmarshalText(text []byte) error {
|
|
u, err := url.Parse(string(text))
|
|
if err != nil {
|
|
return fmt.Errorf("invalid HTTP URL path set for signal: %w", err)
|
|
}
|
|
|
|
if !path.IsAbs(u.Path) {
|
|
u.Path = "/" + u.Path
|
|
}
|
|
|
|
*s = SanitizedURLPath(u.Path)
|
|
return nil
|
|
}
|
|
|
|
type HTTPConfig struct {
|
|
ServerConfig confighttp.ServerConfig `mapstructure:",squash"`
|
|
|
|
// The URL path to receive traces on. If omitted "/v1/traces" will be used.
|
|
TracesURLPath SanitizedURLPath `mapstructure:"traces_url_path,omitempty"`
|
|
|
|
// The URL path to receive metrics on. If omitted "/v1/metrics" will be used.
|
|
MetricsURLPath SanitizedURLPath `mapstructure:"metrics_url_path,omitempty"`
|
|
|
|
// The URL path to receive logs on. If omitted "/v1/logs" will be used.
|
|
LogsURLPath SanitizedURLPath `mapstructure:"logs_url_path,omitempty"`
|
|
|
|
// prevent unkeyed literal initialization
|
|
_ struct{}
|
|
}
|
|
|
|
// Protocols is the configuration for the supported protocols.
|
|
type Protocols struct {
|
|
GRPC configoptional.Optional[configgrpc.ServerConfig] `mapstructure:"grpc"`
|
|
HTTP configoptional.Optional[HTTPConfig] `mapstructure:"http"`
|
|
// prevent unkeyed literal initialization
|
|
_ struct{}
|
|
}
|
|
|
|
// Config defines configuration for OTLP receiver.
|
|
type Config struct {
|
|
// Protocols is the configuration for the supported protocols, currently gRPC and HTTP (Proto and JSON).
|
|
Protocols `mapstructure:"protocols"`
|
|
// prevent unkeyed literal initialization
|
|
_ struct{}
|
|
}
|
|
|
|
var _ component.Config = (*Config)(nil)
|
|
|
|
// Validate checks the receiver configuration is valid
|
|
func (cfg *Config) Validate() error {
|
|
if !cfg.GRPC.HasValue() && !cfg.HTTP.HasValue() {
|
|
return errors.New("must specify at least one protocol when using the OTLP receiver")
|
|
}
|
|
return nil
|
|
}
|