Skip to content

Customizing DispatchingExecutorServiceFactory in EnvironmentBuilder #542

@laststem

Description

@laststem

Is your feature request related to a problem? Please describe.

I want to check metrics between Netty Inboud handler and Frame Handler execution.

For example,

  1. Consumer started
  2. Message was published to the stream
  3. Broker sent message to the consumer
  4. StreamHandler.channelRead was called
  5. FrameHandler task was submitted to dispatchingExecutorService
  6. When the time comes, dispatchingExecutorService will execute the task.

In this situation, there are latency between 5 ~ 6 that refers to the time waiting for actual execution but couldn't check.

Describe the solution you'd like

  1. Move ExecutorServiceFactory from stream.impl package to stream package.
  2. Add ExecutorServiceFactory to the EnvironmentBuilder(StreamEnvironmentBuilder), then StreamEnvironmentBuilder.ClientParameters holds ExecutorServiceFactory reference.
  3. create ExecutorServiceFactory that can provide metrics. (This must be implemented by the library user)
  4. Add it to EnvironmentBuilder

Is this a possible scenario? Or is there another way to measure it?

Thank you.

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions