Skip to content

Commit eed2261

Browse files
wu-shengclaude
andcommitted
Fix javadoc heading levels in GRPCServer and HTTPServer
Downgrade h3→h2 and h4→h3 to comply with javadoc's implicit h1 class heading. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 7dad902 commit eed2261

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/grpc/GRPCServer.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
* gRPC server backed by Netty. Used by up to 4 OAP server endpoints (core-grpc,
4545
* receiver-grpc, ebpf-grpc, als-grpc). gRPC is the primary telemetry ingestion path.
4646
*
47-
* <h3>Thread model</h3>
47+
* <h2>Thread model</h2>
4848
* gRPC-netty uses a three-tier thread model:
4949
* <ol>
5050
* <li><b>Boss event loop</b> — 1 thread. Accepts TCP connections, creates Netty channels,
@@ -61,7 +61,7 @@
6161
* between messages the thread returns to the pool.</li>
6262
* </ol>
6363
*
64-
* <h3>Application executor</h3>
64+
* <h2>Application executor</h2>
6565
* gRPC's default application executor is an <b>unbounded {@code CachedThreadPool}</b>
6666
* ({@code Executors.newCachedThreadPool()}, named {@code grpc-default-executor}).
6767
* gRPC chose this for safety — application code may block (JDBC, file I/O, synchronized),
@@ -81,7 +81,7 @@
8181
* {@code BatchQueue.produce()} with {@code BLOCKING} strategy which can block the thread
8282
* — that would freeze the event loop and stall all connections.
8383
*
84-
* <h3>Thread policies</h3>
84+
* <h2>Thread policies</h2>
8585
* <pre>
8686
* gRPC default SkyWalking
8787
* Boss EL: 1, shared (unchanged)
@@ -90,7 +90,7 @@
9090
* JDK &lt;25: gRPC default (unchanged)
9191
* </pre>
9292
*
93-
* <h4>Worker event loop: {@code cores}, shared by gRPC (default, unchanged)</h4>
93+
* <h3>Worker event loop: {@code cores}, shared by gRPC (default, unchanged)</h3>
9494
* <pre>
9595
* cores: 2 4 8 10 24
9696
* threads: 2 4 8 10 24
@@ -100,7 +100,7 @@
100100
* all {@code NettyServerBuilder} instances that use the default. No custom configuration
101101
* needed.
102102
*
103-
* <h3>Comparison with HTTP (Armeria)</h3>
103+
* <h2>Comparison with HTTP (Armeria)</h2>
104104
* <pre>
105105
* gRPC HTTP (Armeria)
106106
* Event loop: cores, shared (gRPC default) min(5, cores), shared
@@ -111,7 +111,7 @@
111111
* handlers may block on long I/O (storage queries, extension callbacks). On JDK 25+,
112112
* virtual threads replace both pools.
113113
*
114-
* <h3>User-configured thread pool</h3>
114+
* <h2>User-configured thread pool</h2>
115115
* When {@code threadPoolSize > 0} is set via config, it overrides the default with a
116116
* per-server fixed pool of that size. On JDK 25+ it is ignored — virtual threads
117117
* are always used.

oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/http/HTTPServer.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
* Armeria-based HTTP server shared by all OAP HTTP endpoints (core-http, receiver-http,
5151
* promql-http, logql-http, zipkin-query-http, zipkin-http, firehose-http — up to 7 servers).
5252
*
53-
* <h3>Thread model</h3>
53+
* <h2>Thread model</h2>
5454
* Armeria uses a two-tier thread model:
5555
* <ul>
5656
* <li><b>Event loop threads</b> — non-blocking I/O multiplexers (epoll/kqueue). Handle
@@ -66,15 +66,15 @@
6666
* requests spend most of their time (waiting on I/O), while event loop threads just
6767
* shuttle bytes and are immediately available for the next connection.
6868
*
69-
* <h3>Thread policies</h3>
69+
* <h2>Thread policies</h2>
7070
* <pre>
7171
* Armeria default SkyWalking
7272
* Event loop: cores * 2 per server min(5, cores) shared across all servers
7373
* Blocking exec: cached, up to 200 JDK 25+: virtual threads
7474
* JDK &lt;25: Armeria default (unchanged)
7575
* </pre>
7676
*
77-
* <h4>Event loop: {@code min(5, cores)}, shared</h4>
77+
* <h3>Event loop: {@code min(5, cores)}, shared</h3>
7878
* <pre>
7979
* cores: 2 4 8 10 24
8080
* threads: 2 4 5 5 5
@@ -83,7 +83,7 @@
8383
* HTTP servers means 7 * cores * 2 = 140 threads on 10-core — far more than needed for
8484
* HTTP traffic. All servers share one {@link EventLoopGroup} with min(5, cores) threads.
8585
*
86-
* <h4>Blocking executor: Armeria default on JDK &lt;25, virtual threads on JDK 25+</h4>
86+
* <h3>Blocking executor: Armeria default on JDK &lt;25, virtual threads on JDK 25+</h3>
8787
* On JDK &lt;25, Armeria's default cached pool (up to 200 on-demand threads) is kept
8888
* unchanged. HTTP handlers block on storage/DB queries (BanyanDB, Elasticsearch) which
8989
* can take 10ms–seconds. A bounded pool would cause request queuing and UI timeouts
@@ -92,7 +92,7 @@
9292
* On JDK 25+, virtual threads replace this pool entirely — each blocking request
9393
* gets its own virtual thread backed by ~cores shared carrier threads.
9494
*
95-
* <h3>Comparison with gRPC</h3>
95+
* <h2>Comparison with gRPC</h2>
9696
* gRPC is the primary telemetry ingestion path. HTTP is secondary (UI queries, PromQL,
9797
* LogQL, and optionally telemetry), so it uses fewer event loop threads.
9898
* <pre>

0 commit comments

Comments
 (0)