docs/en/changes/changes-10.3.0.md
MetricsPersistentWorker, remove DataCarrier queue from Hour/Day dimensions metrics persistent process.
This is important to reduce memory cost and Hour/Day dimensions metrics persistent latency.hot/warm/cold stages configuration.hot/warm/cold stages TTL query in the status API and graphQL API.limit and regex match.@ShardingKey for Measure tags.componentId to componentIds in the K8SServiceRelation Scope./debugging/config/dump status API.accept header values, e.g. Accept: application/json; charset=utf-8.SpanAttachedEventRecord for SkyWalking trace and Zipkin trace.Accept http header process.event from metrics to records.disable.oal does not work.dameng JDBC driver.TopN pre-aggregation rules configuration in file bydb-topn.yml.toString implementation for StorageID.Health Check.health_check_xx metrics make response 1 represents healthy, 0 represents unhealthy.SKIPPING/TREE, and update the record log's trace_id indexType to SKIPPINGindex-only from tag setting.service layer optional.sort_values sorts according to the aggregation result and labels rather than the simple time series values.metrics_aggregation_queue_used_percentage and metrics_persistent_collection_cached_size metrics for the OAP server.OAL and MAL workers and consume pools. The dataflow signal drives the new MAL consumer,
the following table shows the pool size, driven mode and queue size for each worker.| Worker | poolSize | isSignalDrivenMode | queueChannelSize | queueBufferSize |
|---|---|---|---|---|
| MetricsAggregateOALWorker | Math.ceil(availableProcessors * 2 * 1.5) | false | 2 | 10000 |
| MetricsAggregateMALWorker | availableProcessors * 2 / 8, at least 1 | true | 1 | 1000 |
| MetricsPersistentMinOALWorker | availableProcessors * 2 / 8, at least 1 | false | 1 | 2000 |
| MetricsPersistentMinMALWorker | availableProcessors * 2 / 16, at least 1 | true | 1 | 1000 |
replicas and user/password for basic authentication.QUERY.IllegalArgumentException: Incorrect number of labels, tags in the LogReportServiceHTTPHandler and LogReportServiceGrpcHandler inconsistent with LogHandler.annotationQueryMAX_THREADS from each server config.CommonPools for the whole JVM.
In the CommonPools, the max threads for EventLoopGroup is processor * 2, and for BlockingTaskExecutor is 200 and can be recycled if over the keepAliveTimeMillis (60000L by default).
Here is a summary of the thread dump without UI query in a simple Kind env deployed by SkyWalking showcase:| Thread Type | Count | Main State | Description |
|---|---|---|---|
| JVM System Threads | 12 | RUNNABLE/WAITING | Includes Reference Handler, Finalizer, Signal Dispatcher, Service Thread, C2/C1 CompilerThreads, Sweeper thread, Common-Cleaner, etc. |
| Netty I/O Worker Threads | 32 | RUNNABLE | Threads named "armeria-common-worker-epoll-*", handling network I/O operations. |
| gRPC Worker Threads | 16 | RUNNABLE | Threads named "grpc-default-worker-*". |
| HTTP Client Threads | 4 | RUNNABLE | Threads named "HttpClient-*-SelectorManager". |
| Data Consumer Threads | 47 | TIMED_WAITING (sleeping) | Threads named "DataCarrier.*", used for metrics data consumption. |
| Scheduled Task Threads | 10 | TIMED_WAITING (parking) | Threads named "pool--thread-". |
| ForkJoinPool Worker Threads | 2 | WAITING (parking) | Threads named "ForkJoinPool-*". |
| BanyanDB Processor Threads | 2 | TIMED_WAITING (parking) | Threads named "BanyanDB BulkProcessor". |
| gRPC Executor Threads | 3 | TIMED_WAITING (parking) | Threads named "grpc-default-executor-*". |
| JVM GC Threads | 13 | RUNNABLE | Threads named "GC Thread#*" for garbage collection. |
| Other JVM Internal Threads | 3 | RUNNABLE | Includes VM Thread, G1 Main Marker, VM Periodic Task Thread. |
| Attach Listener | 1 | RUNNABLE | JVM attach listener thread. |
| Total | 158 | - | - |
BanyanDBMetricsDAO output scan all blocks info log only when the model is not indexModel.BanyanDBMetricsDAO.multiGet not work properly in IndexMode.@StoreIDAsTag, and automatically create a virtual String tag id for the SeriesID in IndexMode.appendMutant from StorageID.health-checker module by default due to latest UI changes. Change the default check period to 30s.AlarmStatusQueryHandler.@BanyanDB.TimestampColumn, the column should not be indexed.protocol, add Zipkin span dropped metrics.getInstance by instance ID.List/Tree/Table graph to support displaying multiple refs of spans and distinguishing different parents./debugging/config/dump in the UI.metrics aggregation queue used percentage and metrics persistent collection cached size.Data Lifecycle Stages(Hot/Warm/Cold) documentation.SWIP-9 Support flink monitoring.Metrics Attributes menu link.Fluent Bit dead links.All issues and pull requests are here