jrhee17
jrhee17
I ran `com.linecorp.armeria.core.HttpServerBenchmark.plainText` a couple times ```sh ./gradlew :benchmarks:jmh:jmh \ -Pjmh.includes='com.linecorp.armeria.core.HttpServerBenchmark.plainText' -Pjmh.params='protocol=H1C' -Pjmh.profilers="async:libPath=$HOME/Projects/async-profiler/build/lib/libasyncProfiler.dylib;output=flamegraph;dir=$HOME/result" ``` base --- ``` Benchmark (chunkCount) (protocol) Mode Cnt Score Error Units HttpServerBenchmark.plainText 100 H1C thrpt 5...
> I'd also suggest renaming connectionAcquisitionDurationNanos to newConnectionAcquisitionDurationNanos. This way, the name is the most clear. Rather, I was thinking that `existingConnectionAcquisitionDurationNanos` would be included in `connectionAcquisitionDurationNanos`. 1. If a...
Note: @ikhoon also suggested that we change the naming of the metric collected in `RequestMetricSupport`: https://github.com/line/armeria/blob/f2116739018c15f230dd8f0e5a4dd5db1fefc888/core/src/main/java/com/linecorp/armeria/internal/common/metric/RequestMetricSupport.java#L289-L296 He suggested that we use tags to differentiate connection acquisition e.g. `connection.acquisition.duration` - `acquisition_type`...
I think the original intention is that `blockingTaskExecutor` set from `ServiceConfigBuilder` can be used for each gRPC service. Currently, the `ServerBuilder#route` API can be used to declare gRPC services in...
> exposing ServiceRequestContext.setBlockingTaskExecutor API and allow users to potentially select appropriate task executor within the decorator-based middleware I think this is a reasonable API proposal. `ServiceRequestContext.blockingTaskExecutor` can be populated with...
> An alternative option is to provide a way to create a service per gRPC method, e.g. I see, I think this might be a better way to handle this....
The macOS build is flaky at the moment, I'm still looking into it. The timeout failures will be handled by https://github.com/line/armeria/pull/5010
Hi @my4-dev , really sorry about the late comment 😅 I think one of the concerns that was pointed out is that it is difficult to specify multiple mappings. For...
@ikhoon also gave the good idea that we may want to accept the predicate first when designing the API ``` ConditionalResponseAs andThen(Predicate predicate, ResponseAs responseAs) ```
> But I think it would be difficult to specify a lambda function converting res.content into user defined clazz as a first argument of addThen. To supplement what I had...