open-telemetry / open-telemetry/opentelemetry-lambda
Collector v0.16.0 crashes when provided service.telemetry.metrics.address in YAML config
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 432
- Forks
- 246
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 47
Description
Describe the bug
Collector v0.16.0 will fail to start as an extension, emitting the following error:
{
"level": "warn",
"ts": 1752100574.8841333,
"logger": "lifecycle.manager",
"msg": "Failed to start the extension",
"error": "failed to get config: cannot unmarshal the configuration: decoding failed due to the following error(s):\n\n'service.telemetry.metrics' decoding failed due to the following error(s):\n\n'' has invalid keys: address"
}
Steps to reproduce
I assume using the default config (i.e., providing no OPENTELEMETRY_COLLECTOR_CONFIG_URI) will elicit this behavior for any user of the Collector layer, since the default config still includes this property, but you can also use the collector-v0.16.0 branch of my repo to reproduce this issue.
The presence of
service:
# ...
telemetry:
metrics:
address: localhost:8888
is sufficient to crash the Collector extension layer.
Removing the entire telemetry portion will allow the Collector to successfully start; I'm not yet sure how this impacts the end user (e.g., if metrics are no longer received/exported).
What did you expect to see?
I expected to see the Collector extension layer start successfully and the Lambda execute successfully.
What did you see instead?
The extension crashes and the Lambda fails to execute.
What version of collector/language SDK version did you use?
This affects Collector v0.16.0.
What language layer did you use?
NodeJS v0.15.0
Additional context
Maybe this is expected behavior and the service.telemetry.metrics.address setting is deprecated or entirely unnecessary.
Update: I just found this in the documentation on the Collector's internal metrics:
Internal telemetry configuration changes
As of Collector v0.123.0, the
service::telemetry::metrics::addresssetting is ignored. In earlier versions, it could be configured with:service: telemetry: metrics: address: 0.0.0.0:8888
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with collector/config.yaml, especially service.telemetry.metrics.address, and compare it with the Collector v0.16.0 configuration schema and the linked internal-telemetry documentation. Confirm whether the setting should be removed or updated, then verify that the default Collector extension starts successfully with the resulting configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, go, yaml
- Domain
- cloud, observability
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100