micrometer-metrics / micrometer-metrics/prometheus-rsocket-proxy

Add Logging for Instance Scrape Timeouts

Open
#66 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
Dominant language
Java
Stars
77
Forks
30
PR merge metrics
No merged PRs in 30d

Description

PR #60 introduced a per-instance scrape timeout. Currently there is no capability to determine which connected instances are timing out when scraped. For debugging purposes it would be helpful to log an occurrence of an instance timing out its scrape.

However, connected instances are currently only identified by a key pair and logging a public key to denote the instance that is failing its scrape is not particularly helpful for debugging. Thus, to produce log messages that are helpful for debugging we'll need to store additional information about connected instances. At a bare minimum this should probably include source IP address and port but could be even better if metadata/tags (denoting the app name, instance number, environment, etc. as chosen by the client) were included.

Not entirely sure how this would be implemented off the top of my head but I would think it would be possible to gather some of this data when a client connects and store it in the `scrapableApps` data structure for later logging when a timeout occurs.

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

Review PR #60 and the `scrapableApps` data structure to understand how per-instance scrape timeouts and connected instances are represented. Define and implement a way to retain useful connection information, then verify that a timeout log identifies the affected instance without relying only on its public key.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.