Skip to content

feat: add metric.nginxplus.http.upstream.peer.response_time_hist - #1890

Draft
xynicole wants to merge 3 commits into
nginx:mainfrom
xynicole:res-time-hist
Draft

xynicole wants to merge 3 commits into
nginx:mainfrom
xynicole:res-time-hist

Conversation

@xynicole

Copy link
Copy Markdown

Proposed changes

Emit nginx.http.upstream.peer.response_time_hist from the NGINX Plus
receiver . Update the scraper to perform one targeted GET of /api//http/upstreams
and decode it into a local struct in
record/http_upstreams_payload.go.

mdatagen does not support the histogram type for receiver metrics.
mdatagen v0.157.0 defines a Histogram metadata type, but it is only
wired into the internal telemetry instruments; the receiver metrics
builder template emits no bucket counts or explicit bounds at all.
Declaring the metric as histogram in metadata.yaml therefore produces no
usable recorder, and the only type that generates is a scalar gauge, which can carry a single number, not a distribution.

nginx-plus-go-client does not expose response_time_hist. response_time_hist does not appear anywhere in the module, so GetStats() silently drops the object during unmarshaling.

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING document
  • I have run make install-tools and have attached any dependency changes to this pull request
  • If applicable, I have added tests that prove my fix is effective or that my feature works
  • If applicable, I have checked that any relevant tests pass after adding my changes
  • If applicable, I have updated any relevant documentation (README.md)
  • If applicable, I have tested my cross-platform changes on Ubuntu 22, Redhat 8, SUSE 15 and FreeBSD 13

vivki and others added 3 commits August 17, 2026 11:25
Required by mdatagen for nginxplusreceiver, nginxreceiver, and
containermetricsreceiver metrics. No behaviour change.
Emit nginx.http.upstream.peer.response_time_hist from the NGINX Plus
receiver . Update the scraper to perform one targeted GET of /api/<version>/http/upstreams
and decode it into a local struct in
record/http_upstreams_payload.go.

mdatagen does not support the histogram type for receiver metrics.
mdatagen v0.157.0 defines a Histogram metadata type, but it is only
wired into the internal telemetry instruments; the receiver metrics
builder template emits no bucket counts or explicit bounds at all.
Declaring the metric as histogram in metadata.yaml therefore produces no
usable recorder, and the only type that generates is a scalar gauge, which can carry a single number, not a distribution.

nginx-plus-go-client does not expose response_time_hist.  response_time_hist does not appear anywhere in the module, so GetStats() silently drops the object during unmarshaling.
@github-actions github-actions Bot added chore Pull requests for routine tasks dependencies documentation Improvements or additions to documentation enhancement New feature or request labels Aug 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🎉 Thank you for your contribution! It appears you have not yet signed the F5 Contributor License Agreement (CLA), which is required for your changes to be incorporated into an F5 Open Source Software (OSS) project. Please kindly read the F5 CLA and reply on a new comment with the following text to agree:


I have hereby read the F5 CLA and agree to its terms


1 out of 2 committers have signed the CLA.
✅ (vivki)[https://github.com/vivki]
@xynicole
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@oCHRISo oCHRISo added the v3.x Issues and Pull Requests related to the major version v3 label Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Pull requests for routine tasks dependencies documentation Improvements or additions to documentation enhancement New feature or request v3.x Issues and Pull Requests related to the major version v3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants