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.compomentId 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.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.All issues and pull requests are here