Skip to content

[Feature Request]: Unified Telemetry with Push/Pull Model Support #4473

@aWN4Y25pa2EK

Description

@aWN4Y25pa2EK

Implementation ideas

celestia-node currently supports push-only telemetry for application metrics (OTLP) --metrics and pull-only for P2P metrics (Prometheus) --p2p.metrics. Would be great to have both models at hand as it would enable operators to choose between 2 different sets of operational logic on a telemetry level.

For example there are scenarios where someone might prefer to have a pull model because they operate a local prometheus endpoint.

Limitations

  • Application metrics cannot be scraped directly (no native Prometheus endpoint)
  • Fragmented metrics across different ports
  • Operators must choose between incomplete pull OR infrastructure-heavy push

Benefits

  • Operational Flexibility
  • Reduced Complexity
  • Consistency

So to recap:

  1. unified telemetry --metrics for everything
  2. support for pull and push model ex. --metrics --metrics.push /// --metrics --metrics.pull

Some other example flag combinations:

# Existing logic could become by default a `pull` model:
celestia light start --metrics

Simpler less flags required, unified telemetry, --metrics metrics.pull could too be supported if added as an input to keep logical consistency with the push model

# Push logic since it's more complex and requires more parameters by default could be:
celestia light start --metrics --metrics.push --metrics.tls=false --metrics.endpoint localhost:4318

Possible performance gains

Pull model provides safer resource consumption with lower operational risk we should benchmark it to know precisely what is the % overhead diff between both.

@pippokr /// @tty47

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestexternalIssues created by non node team members

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions