Skip to content

http_client_requests_seconds Prometheus metrics missing with retry enabled #1294

@gianvitom

Description

@gianvitom

Looks like when retry is enabled for the Prometheus does not return the http_client_requests_seconds metric for the configured client

Description

The stack we are using is SpringBoot 2.6.8, Riptide 3.2.2 and Kotlin/target Java 17 (eclipse-temurin), GET operation on the client.
With this configuration:

factoring-service:
      base-url: https://xxx.zalan.do/
      tracing:
        tags:
          peer.service: factoring-service
      retry:
        enabled: true
        fixed-delay: 10 milliseconds
        max-retries: 1

The prometheus actuator doesn't return the http_client_requests_seconds metric (for other clients without retry everything is fine).
While disabling it, so with just:

factoring-service:
      base-url: https://xxx.zalan.do/
      tracing:
        tags:
          peer.service: factoring-service

Everything is fine.

Expected Behavior

http_client_requests_seconds is returned in any case, when the client operation is called.

Actual Behavior

http_client_requests_seconds is missing for the client configured with retry enabled, while it is returned for all the other clients

Steps to Reproduce

  • Configure a project with the previous stack (defined at the beginning of the description)
  • Configure 2 clients, one with retry and another without
  • Verify, after calling the client operations, that only for one of them the metric http_client_requests_seconds is available.

Context

Upgrade SpringBoot/Riptide/JDK in the project

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions