Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions collector/receiver/telemetryapireceiver/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,16 @@ package telemetryapireceiver // import "github.com/open-telemetry/opentelemetry-

import (
"fmt"
"strings"
)

// Config defines the configuration for the various elements of the receiver agent.
type Config struct {
extensionID string
Port int `mapstructure:"port"`
Types []string `mapstructure:"types"`
LogReport bool `mapstructure:"log_report"`
extensionID string
Port int `mapstructure:"port"`
Types []string `mapstructure:"types"`
LogReport bool `mapstructure:"log_report"`
MetricsTemporality string `mapstructure:"metrics_temporality"`
}

// Validate validates the configuration by checking for missing or invalid fields
Expand All @@ -33,5 +35,11 @@ func (cfg *Config) Validate() error {
return fmt.Errorf("unknown extension type: %s", t)
}
}
if cfg.MetricsTemporality != "" {
temporality := strings.ToLower(cfg.MetricsTemporality)
if temporality != "delta" && temporality != "cumulative" {
return fmt.Errorf("unknown metrics temporality: %s", cfg.MetricsTemporality)
}
}
return nil
}
14 changes: 14 additions & 0 deletions collector/receiver/telemetryapireceiver/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ func NewFactory(extensionID string) receiver.Factory {
}
},
receiver.WithTraces(createTracesReceiver, stability),
receiver.WithMetrics(createMetricsReceiver, stability),
receiver.WithLogs(createLogsReceiver, stability))
}

Expand All @@ -66,6 +67,19 @@ func createTracesReceiver(ctx context.Context, params receiver.Settings, rConf c
return r, nil
}

func createMetricsReceiver(ctx context.Context, params receiver.Settings, rConf component.Config, next consumer.Metrics) (receiver.Metrics, error) {
cfg, ok := rConf.(*Config)
if !ok {
return nil, errConfigNotTelemetryAPI
}
r := receivers.GetOrAdd(cfg, func() component.Component {
t, _ := newTelemetryAPIReceiver(cfg, params)
return t
})
r.Unwrap().(*telemetryAPIReceiver).registerMetricsConsumer(next)
return r, nil
}

func createLogsReceiver(ctx context.Context, params receiver.Settings, rConf component.Config, next consumer.Logs) (receiver.Logs, error) {
cfg, ok := rConf.(*Config)
if !ok {
Expand Down
4 changes: 2 additions & 2 deletions collector/receiver/telemetryapireceiver/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ replace github.com/open-telemetry/opentelemetry-lambda/collector => ../../

require (
github.com/golang-collections/go-datastructures v0.0.0-20150211160725-59788d5eb259
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.143.0
github.com/open-telemetry/opentelemetry-lambda/collector v0.98.0
github.com/stretchr/testify v1.11.1
go.opentelemetry.io/collector/component v1.49.0
Expand All @@ -16,7 +17,6 @@ require (
go.opentelemetry.io/collector/pdata v1.49.0
go.opentelemetry.io/collector/receiver v1.49.0
go.opentelemetry.io/collector/receiver/receivertest v0.143.0
go.opentelemetry.io/collector/semconv v0.128.0
go.uber.org/zap v1.27.1
)

Expand Down Expand Up @@ -50,7 +50,7 @@ require (
go.opentelemetry.io/collector/pdata/pprofile v0.143.0 // indirect
go.opentelemetry.io/collector/pipeline v1.49.0 // indirect
go.opentelemetry.io/collector/receiver/xreceiver v0.143.0 // indirect
go.opentelemetry.io/otel v1.39.0 // indirect
go.opentelemetry.io/otel v1.39.0
go.opentelemetry.io/otel/metric v1.39.0 // indirect
go.opentelemetry.io/otel/sdk v1.39.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.39.0 // indirect
Expand Down
6 changes: 3 additions & 3 deletions collector/receiver/telemetryapireceiver/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.143.0 h1:M2bfp6Dz3ENrsHG401rneY/A9PepsAEzi0rWsAtPQE4=
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.143.0/go.mod h1:MFCX7ipRa+GD7b+DBRSJd1ngZ3NXxwd5FTwPiCeUARE=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
Expand All @@ -57,7 +59,7 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/collector v0.142.0 h1:1PFBnYwphCN7wWXU85/G5SN08hzRua8AkEI1yPIvVMk=
go.opentelemetry.io/collector v0.143.0 h1:XN+TmsZoSgJLdJTvTzFkUEs7171yDjfFoFHp6tYemc0=
go.opentelemetry.io/collector/component v1.49.0 h1:iJ56qiTWNtTyqafDx/X6zMukGEF8UZJA/+HNyPGVbks=
go.opentelemetry.io/collector/component v1.49.0/go.mod h1:EZd8hSQkzy/SJwahBKLF/NXsdhBEteiP4B6KXN7Ttpg=
go.opentelemetry.io/collector/component/componenttest v0.143.0 h1:63Z2/UaFQSHnBs5fKLZ2BP9WTM7OL6CalMadq86PpeQ=
Expand Down Expand Up @@ -92,8 +94,6 @@ go.opentelemetry.io/collector/receiver/receivertest v0.143.0 h1:nwGd/h6PraF+9K9g
go.opentelemetry.io/collector/receiver/receivertest v0.143.0/go.mod h1:tccvoL3foW+zyy5ZKZwad4DbISXXBAmZgWXwM23gkhg=
go.opentelemetry.io/collector/receiver/xreceiver v0.143.0 h1:+1ZDl5V/OXhOBBMnkAgjE8PeLvvJFu47+LGBVOvb/lg=
go.opentelemetry.io/collector/receiver/xreceiver v0.143.0/go.mod h1:Oc5jtKLz3cPEVcNrr3QGCvXPvSrKvajTNpVBi4FnL/0=
go.opentelemetry.io/collector/semconv v0.128.0 h1:MzYOz7Vgb3Kf5D7b49pqqgeUhEmOCuT10bIXb/Cc+k4=
go.opentelemetry.io/collector/semconv v0.128.0/go.mod h1:OPXer4l43X23cnjLXIZnRj/qQOjSuq4TgBLI76P9hns=
go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48=
go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8=
go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0=
Expand Down
Loading
Loading