Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce BraveRpcService #6115

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Introduce BraveRpcService #6115

wants to merge 3 commits into from

Conversation

jrhee17
Copy link
Contributor

@jrhee17 jrhee17 commented Feb 20, 2025

Motivation:

The motivation for this PR is better described in #6084

The changeset in this PR attempts to:

  • Expose ArmeriaHttpServerParser and ArmeriaRpcServerParser
    • By doing so, users can choose what information must be extracted from BraveService or BraveRpcService. This can provide more flexibility on whether to use only BraveService, only BraveRpcService, or both BraveService and BraveRpcService
  • Introduce BraveRpcService which allows users to perform sampling or request/response parsing based on RpcRequest

Modifications:

  • Added BraveRpcService. By default, armeria-specific tags/annotations recorded by BraveRpcService is the same as BraveService
  • Exposed ArmeriaHttpServerParser and ArmeriaRpcServerParser to allow users to easily construct a RpcTracing or HttpTracing

Result:

  • Users may use RpcRequest, RpcResponse to apply sampling/tags/annotations

@jrhee17 jrhee17 added this to the 1.33.0 milestone Feb 20, 2025
@jrhee17 jrhee17 force-pushed the feat/brave-rpc branch 2 times, most recently from 1c0572c to c53cb0a Compare February 21, 2025 05:39
@jrhee17 jrhee17 marked this pull request as ready for review February 21, 2025 08:07
* Decorates an {@link RpcService} to trace inbound {@link RpcRequest}s using
* <a href="https://github.com/openzipkin/brave">Brave</a>.
*/
public final class BraveRpcService extends SimpleDecoratingRpcService {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question) Is it possible to share the common logic with BraveService by adding AbstractBraveService and extending it, as you did in AbstractMetricCollectingClient?

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

Successfully merging this pull request may close these issues.

2 participants