open-telemetry / open-telemetry/opentelemetry-lambda

Collector v0.16.0 crashes when provided service.telemetry.metrics.address in YAML config

Open
#1,891 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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::address setting is ignored. In earlier versions, it could be configured with:

service:
 telemetry:
   metrics:
     address: 0.0.0.0:8888

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.