Skip to content

http_client_requests_seconds Prometheus metrics missing with retry enabled #1294

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions