mirror of
https://github.com/hanzoai/otel-collector.git
synced 2026-11-03 02:20:04 +00:00
- Go module: github.com/SigNoz/signoz-otel-collector → github.com/hanzoai/otel-collector - All signoz-prefixed packages → o11y-prefixed - Docker: signoz/* → ghcr.io/hanzoai/otel-collector - ClickHouse exporter → Hanzo Datastore - Env vars: SIGNOZ_* → HANZO_* - Directory renames for all processor/receiver/exporter packages
35 lines
1.1 KiB
Go
35 lines
1.1 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package o11yawsfirehosereceiver // import "github.com/hanzoai/otel-collector/receiver/o11yawsfirehosereceiver"
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"go.opentelemetry.io/collector/config/confighttp"
|
|
)
|
|
|
|
type Config struct {
|
|
// ServerConfig is used to set up the Firehose delivery
|
|
// endpoint. The Firehose delivery stream expects an HTTPS
|
|
// endpoint, so TLSSettings must be used to enable that.
|
|
confighttp.ServerConfig `mapstructure:",squash"`
|
|
// RecordType is the key used to determine which unmarshaler to use
|
|
// when receiving the requests.
|
|
RecordType string `mapstructure:"record_type"`
|
|
}
|
|
|
|
// Validate checks that the endpoint and record type exist and
|
|
// are valid.
|
|
func (c *Config) Validate() error {
|
|
if c.NetAddr.Endpoint == "" {
|
|
return errors.New("must specify endpoint")
|
|
}
|
|
// If a record type is specified, it must be valid.
|
|
// An empty string is acceptable, however, because it will use a telemetry-type-specific default.
|
|
if c.RecordType != "" {
|
|
return validateRecordType(c.RecordType)
|
|
}
|
|
return nil
|
|
}
|