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

jfix-armeria-aggregating-profiler: being able to configure separate thread pool for profiling #20

Open
TimurKasatkin opened this issue Dec 14, 2020 · 1 comment
Labels
enhancement New feature or request wontfix This will not be worked on

Comments

@TimurKasatkin
Copy link
Member

At the moment profiling is performed at the same thread http requests are executed.
It can be checked by launching tests of jfix-armeria-aggregating-profiler module:

13:28:27.743 [armeria-common-worker-epoll-2-5] ru.fix.armeria.aggregating.profiler.ProfiledHttpClient(ProfiledHttpClient.kt:161)
DEBUG Request log = {req={startTime=2020-12-14T10:28:26.721Z(1607941706721663), length=0B, duration=20293µs(20293764ns), scheme=none+h2c, name=GET, headers=[:method=GET, :path=/ok-delayed/1000, :scheme=http, :authority=localhost:43049]}, res={startTime=2020-12-14T10:28:27.742Z(1607941707742995), length=6B, duration=268µs(268143ns), totalDuration=1021ms(1021601241ns), headers=[:status=200, content-type=text/plain; charset=utf-8, content-length=6, server=Armeria/1.2.0, date=Mon, 14 Dec 2020 10:28:27 GMT]}}; connections timings = {connectionAcquisitionStartTime=2020-12-14T10:28:26.722Z(1607941706722384), connectionAcquisitionDuration=16956µs(16956619ns), dnsResolutionStartTime=2020-12-14T10:28:26.722Z(1607941706722384), dnsResolutionDuration=257µs(257582ns), socketConnectStartTime=2020-12-14T10:28:26.724Z(1607941706724678), socketConnectDuration=14634µs(14634974ns)}

It decreases performance of http requests processing since I/O worker does some additional work (in this case, profiling).

###Proposal

Make it possible to configure thread pool (java.util.concurrent.ExecutorService), used for requests profiling.

@TimurKasatkin TimurKasatkin added the enhancement New feature or request label Dec 14, 2020
@TimurKasatkin
Copy link
Member Author

UPD after jfix-armeria-micrometer creation, Micrometer is a strategic profiler for modern systems. Thus, priority of all issues, related to integration with https://github.com/ru-fix/aggregating-profiler, is decreased.

@TimurKasatkin TimurKasatkin added the wontfix This will not be worked on label Sep 15, 2023
@TimurKasatkin TimurKasatkin changed the title ProfiledHttpClient: being able to configure separate thread pool for profiling jfix-armeria-aggregating-profiler: being able to configure separate thread pool for profiling Sep 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

1 participant