Skip to content

Feature Request: Add tracing for client-side Do* methods #454

Open

Description

@timofurrer

We are heavily using rueidisotel and have some flaky latency in our system. We see on the redis server side that request / response times are pretty constant. Now we are investigating where this variance is coming from.

Thus, it would be super useful to have tracing in rueidisotel that would only span across initiating a Do* call and handing the request over to the networking stack on client side. That is, without the entire round trip.

Activity

  1. rueian commented on Jan 22, 2024

    @rueian
    Collaborator

    Hi @timofurrer,

    To log more detailed traces is hard. The only solution I have come up with is injecting hook functions into the ctx and invoking them at the various stages in the pipeline. But I am concerned about its overhead since we need to check if there are hooks in the ctx every time.

    Flaky latencies could be caused by several factors, such as huge requests or responses. But mostly the cause could be your CPUs are busy with other things. If you have to make sure your CPUs are underutilized then you could try to increase the PipelineMultiplex option slightly (by 1 or 2) to see if the flaky is relieved.

  2. rueian commented on Mar 15, 2024

    @rueian
    Collaborator

    https://go.dev/blog/execution-traces-2024

    This may serve as an alternative.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions