版本发布 8
#### Download https://skywalking.apache.org/downloads/ #### Notice **Don't download source codes from this page. Please follow [build document](https://github.com/apache/skywalking/tree/master/docs/en/guides/How-to-build.md#build-from-github), if you want to build source codes by yourself.** <img width="2770" height="1268" alt="Trace-1" src="https://github.com/user-attachments/assets/17130fbe-70d0-4994-bbb6-7fb88dbe8689" /> <img width="2740" height="1264" alt="Trace-2" src="https://github.com/user-attachments/assets/8db59ce1-69b8-44ab-b00b-9c5c9ceb25ea" /> #### Project * Bump up BanyanDB dependency version(server and java-client) to 0.9.0. * Fix CVE-2025-54057, restrict and validate url for widgets. * Fix `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. * [Break Change] BanyanDB: support new Trace model. #### OAP Server * Implement self-monitoring for BanyanDB via OAP Server. * BanyanDB: Support `hot/warm/cold` stages configuration. * Fix query continues profiling policies error when the policy is already in the cache. * Support `hot/warm/cold` stages TTL query in the status API and graphQL API. * PromQL Service: traffic query support `limit` and regex match. * Fix an edge case of HashCodeSelector(Integer#MIN_VALUE causes ArrayIndexOutOfBoundsException). * Support Flink monitoring. * BanyanDB: Support `@ShardingKey` for Measure tags. * BanyanDB: Support cold stage data query for metrics/traces/logs. * Increase the idle check interval of the message queue to 200ms to reduce CPU usage under low load conditions. * Limit max attempts of DNS resolution of Istio ServiceEntry to 3, and do not wait for first resolution result in case the DNS is not resolvable at all. * Support analysis waypoint metrics in Envoy ALS receiver. * Add Ztunnel component in the topology. * [Break Change] Change `componentId` to `componentIds` in the K8SServiceRelation Scope. * Adapt the mesh metrics if detect the ambient mesh in the eBPF access log receiver. * Add JSON format support for the `/debugging/config/dump` status API. * Enhance status APIs to support multiple `accept` header values, e.g. `Accept: application/json; charset=utf-8`. * Storage: separate `SpanAttachedEventRecord` for SkyWalking trace and Zipkin trace. * [Break Change]BanyanDB: Setup new Group policy. * Bump up commons-beanutils to 1.11.0. * Refactor: simplify the `Accept` http header process. * [Break Change]Storage: Move `event` from metrics to records. * Remove string limitation in Jackson deserializer for ElasticSearch client. * Fix `disable.oal` does not work. * Enhance the stability of e2e PHP tests and update the PHP agent version. * Add component ID for the `dameng` JDBC driver. * BanyanDB: Support custom `TopN pre-aggregation` rules configuration in file `bydb-topn.yml`. * refactor: implement OTEL handler with SPI for extensibility. * chore: add `toString` implementation for `StorageID`. * chore: add a warning log when connecting to ES takes too long. * Fix the query time range in the metadata API. * OAP gRPC-Client support `Health Check`. * [Break Change] `health_check_xx` metrics make response 1 represents healthy, 0 represents unhealthy. * Bump up grpc to 1.70.0. * BanyanDB: support new Index rule type `SKIPPING/TREE`, and update the record `log`'s `trace_id` indexType to `SKIPPING` * BanyanDB: remove `index-only` from tag setting. * Fix analysis tracing profiling span failure in ES storage. * Add UI dashboard for Ruby runtime metrics. * Tracing Query Execution HTTP APIs: make the argument `service layer` optional. * GraphQL API: metadata, topology, log and trace support query by name. * [Break Change] MQE function `sort_values` sorts according to the aggregation result and labels rather than the simple time series values. * Self Observability: add `metrics_aggregation_queue_used_percentage` and `metrics_persistent_collection_cached_size` metrics for the OAP server. * Optimize metrics aggregate/persistent worker: separate `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 | * Bump up netty to 4.2.4.Final. * Bump up commons-lang to 3.18.0. * BanyanDB: support group `replicas` and `user/password` for basic authentication. * BanyanDB: fix Zipkin query missing tag `QUERY`. * Fix `IllegalArgumentException: Incorrect number of labels`, tags in the `LogReportServiceHTTPHandler` and `LogReportServiceGrpcHandler` inconsistent with `LogHandler`. * BanyanDB: fix Zipkin query by `annotationQuery` * HTTP Server: Use the default shared thread pool rather than creating a new event loop thread pool for each server. Remove the `MAX_THREADS` from each server config. * Optimize all Armeria HTTP Server(s) to share the `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** | - | - | * BanyanDB: make `BanyanDBMetricsDAO` output `scan all blocks` info log only when the model is not `indexModel`. * BanyanDB: fix the `BanyanDBMetricsDAO.multiGet` not work properly in `IndexMode`. * BanyanDB: remove `@StoreIDAsTag`, and automatically create a virtual String tag `id` for the SeriesID in `IndexMode`. * Remove method `appendMutant` from StorageID. * Fix otlp log handler response error and otlp span convert error. * Fix service_relation source layer in mq entry span analyse. * Fix metrics comparison in promql with bool modifier. * Add rate limiter for Zipkin trace receiver to limit maximum spans per second. * Open `health-checker` module by default due to latest UI changes. Change the default check period to 30s. * Refactor Kubernetes coordinator to be more accurate about node readiness. * Bump up netty to 4.2.5.Final. * BanyanDB: fix log query missing order by condition, and fix missing service id condition when query by instance id or endpoint id. * Fix potential NPE in the `AlarmStatusQueryHandler`. * Aggregate TopN Slow SQL by service dimension. * BanyanDB: support add group prefix (namespace) for BanyanDB groups. * BanyanDB: fix when setting `@BanyanDB.TimestampColumn`, the column should not be indexed. * OAP Self Observability: make Trace analysis metrics separate by label `protocol`, add Zipkin span dropped metrics. * BanyanDB: Move data write logic from BanyanDB Java Client to OAP and support observe metrics for write operations. * Self Observability: add write latency metrics for BanyanDB and ElasticSearch. * Fix the malfunctioning alarm feature of MAL metrics due to unknown metadata in L2 aggregate worker. * Make MAL percentile align with OAL percentile calculation. * Update Grafana dashboards for OAP observability. * BanyanDB: fix query `getInstance` by instance ID. * Support the go agent(0.7.0 release) bundled pprof profiling feature. * Service and TCPService source support analyze TLS mode. * Library-pprof-parser: feat: add PprofSegmentParser. * Storage: feat: add languageType column to ProfileThreadSnapshotRecord. * Feat: add go profile analyzer * Get Alarm Runtime Status: support query the running status for the whole cluster. #### UI * Implement self-monitoring for BanyanDB via UI. * Enhance the trace `List/Tree/Table` graph to support displaying multiple refs of spans and distinguishing different parents. * Fix: correct the same labels for metrics. * Refactor: use the Fetch API to instead of Axios. * Support cold stage data for metrics, trace and log. * Add route to status API `/debugging/config/dump` in the UI. * Implement the Status API on Settings page. * Bump vite from 6.2.6 to 6.3.6. * Enhance async profiling by adding shorter and custom duration options. * Fix select wrong span to analysis in trace profiling. * Correct the service list for legends in trace graphs. * Correct endpoint topology data to avoid undefined. * Fix the snapshot charts unable to display. * Bump vue-i18n from 9.14.3 to 9.14.5. * Fix split queries for topology to avoid page crash. * Self Observability ui-template: Add new panels for monitor `metrics aggregation queue used percentage` and `metrics persistent collection cached size`. * test: introduce and set up unit tests in the UI. * test: implement comprehensive unit tests for components. * refactor: optimize data types for widgets and dashboards. * fix: optimize appearing the wrong prompt by pop-up for the HTTP environments in copy function. * refactor the configuration view and implement the optional config for displaying timestamp in Log widget. * test: implement unit tests for hooks and refactor some types. * fix: share OAP proxy services for different endpoints and use health checked endpoints group. * Optimize buttons in time picker component. * Optimize the router system and implement unit tests for router. * Bump element-plus from 2.9.4 to 2.11.0. * Adapt new trace protocol and implement new trace view. * Implement Trace page. * Support collapsing and expanding for the event widget. * UI-template: add BanyanDB and Elasticsearch write latency dashboards for OAP self observability. #### Documentation * BanyanDB: Add `Data Lifecycle Stages(Hot/Warm/Cold)` documentation. * Add `SWIP-9 Support flink monitoring`. * Fix `Metrics Attributes` menu link. * Implement the Status API on Settings page. * Fix: Add the prefix for http url. * Enhance the async-profiling duration options. * Enhance the TTL Tab on Setting page. * Fix the snapshot charts in alarm page. * Fix `Fluent Bit` dead links.
#### Download https://skywalking.apache.org/downloads/ #### Notice **Don't download source codes from this page. Please follow [build document](https://github.com/apache/skywalking/tree/master/docs/en/guides/How-to-build.md#build-from-github), if you want to build source codes by yourself.** ### No H2, More BanyanDB - **Add BanyanDB 0.8.0 support.** - **H2 storage option is removed permanently.** #### Project * Add [`doc_values`](https://www.elastic.co/guide/en/elasticsearch/reference/current/doc-values.html) for fields that need to be sorted or aggregated in Elasticsearch, and disable all others. * This change would not impact the existing deployment and its feature for our official release users. * **Warning** If there are custom query plugins for our Elasticsearch indices, this change could break them as sort queries and aggregation queries which used the unexpected fields are being blocked. * [Breaking Change] Rename `debugging-query` module to `status-query` module. Relative exposed APIs are **UNCHANGED**. * [Breaking Change] All jars of the `skywalking-oap-server` are no longer published through maven central. We will only publish the source tar and binary tar to the website download page, and docker images to docker hub. * **Warning** If you are using the `skywalking-oap-server` as a dependency in your project, you need to download the source tar from the website and publish them to your private maven repository. * [Breaking Change] Remove H2 as storage option permanently. BanyanDB 0.8(OAP 10.2 required) is easy, stable and production-ready. Don't need H2 as default storage anymore. * [Breaking Change] Bump up BanyanDB server version to 0.8.0. This version is not compatible with the previous versions. Please upgrade the BanyanDB server to 0.8.0 before upgrading OAP to 10.2.0. * Bump up nodejs to v22.14.0 for the latest UI(booster-ui) compiling. * Migrate tj-actions/changed-files to dorny/paths-filter. #### OAP Server * Skip processing OTLP metrics data points with flag `FLAG_NO_RECORDED_VALUE`, which causes exceptional result. * Add self observability metrics for GraphQL query, `graphql_query_latency`. * Reduce the count of process index and adding time range when query process index. * Bump up Apache commons-io to 2.17.0. * Polish eBPF so11y metrics and add error count for query metrics. * Support query endpoint list with duration parameter(optional). * Change the endpoint_traffic to updatable for the additional column `last_ping`. * Add Component ID(5023) for the GoZero framework. * Support Kong monitoring. * Support adding additional attr[0-5] for service/endpoint level metrics. * Support async-profiler feature for performance analysis. * Add metrics value owner for metrics topN query result. * Add naming control for `EndpointDependencyBuilder`. * The index type `BanyanDB.IndexRule.IndexType#TREE` is removed. All indices are using `IndexType#INVERTED` now. * Add max query size settings to BanyanDB. * Fix "BanyanDBTraceQueryDAO.queryBasicTraces" doesn't support querying by "trace_id". * Polish mesh data dispatcher: don't generate Instance/Endpoint metrics if they are empty. * Adapt the new metadata standardization in Istio 1.24. * Bump up netty to 4.1.115, grpc to 1.68.1, boringssl to 2.0.69. * BanyanDB: Support update the Group settings when OAP starting. * BanyanDB: Introduce index mode and refactor banyandb group settings. * BanyanDB: Introduce the new Progressive TTL feature. * BanyanDB: Support update the Schema when OAP starting. * BanyanDB: Speed up OAP booting while initializing BanyanDB. * BanyanDB: Support `@EnableSort` on the column to enable sorting for `IndexRule` and set the default to false. * Support `Get Effective TTL Configurations` API. * Fix `ServerStatusService.statusWatchers` concurrent modification. * Add protection for dynamic config change propagate chain. * Add Ruby component IDs(HttpClient=2, Redis=7, Memcached=20, Elasticsearch=47, Ruby=12000, Sinatra=12001). * Add component ID(160) for Caffeine. * Alarm: Support store and query the metrics snapshot when the alarm is triggered. * Alarm: Remove unused `Alarm Trend` query. * Fix missing remote endpoint IP address in span query of zipkin query module. * Fix `hierarchy-definition.yml` config file packaged into start.jar wrongly. * Add `bydb.dependencies.properties` config file to define server dependency versions. * Fix `AvgHistogramPercentileFunction` doesn't have proper field definition for `ranks`. * BanyanDB: Support the new Property data module. * MQE: Support `top_n_of` function for merging multiple metrics topn query. * Support `labelAvg` function in the OAL engine. * Added `maxLabelCount` parameter in the `labelCount` function of OAL to limit the number of labels can be counted. * Adapt the new Browser API(`/browser/perfData/webVitals`, `/browser/perfData/webInteractions`, `/browser/perfData/resources`) protocol. * Add Circuit Breaking mechanism. * BanyanDB: Add support for compatibility checks based on the BanyanDB server's API version. * MQE: Support `&&(and)`, `||(or)` bool operators. * OAP self observability: Add JVM heap and direct memory used metrics. * OAP self observability: Add watermark circuit break/recover metrics. * AI Pipeline: Support query baseline metrics names and predict metrics value. * Add `Get Node List in the Cluster` API. * Add type descriptor when converting Envoy logs to JSON for persistence, to avoid conversion error. * Bseline: Support query baseline with MQE and use in the Alarm Rule. * Bump up netty to 4.11.118 to fix CVE-2025-24970. * Add `Get Alarm Runtime Status` API. * Add `lock` when query the Alarm metrics window values. * Add a fail-safe mechanism to prevent traffic metrics inconsistent between in-memory and database server. * Add more clear logs when oap-cluster-internal data(metrics/traffic) format is inconsistent. * Optimize metrics cache loading when trace latency greater than cache timeout. * Allow calling `lang.groovy.GString` in DSL. * BanyanDB: fix alarm query result without sort. * Add a component ID for Virtual thread executor. * Add more model installation log info for OAP storage initialization. * BanyanDB: Separate the storage configuration to an independent file: `bydb.yaml`. * Bump Armeria to 1.32.0 and some transitive dependencies. * Skip persisting metrics/record data that have been expired. * Fix the issue of missing Last Ping data. * Add HTTP headers configuration for the alarm webhook. * Bump up BanyanDB java client to 0.8.0. #### UI * Add support for case-insensitive search in the dashboard list. * Add content decorations to Table and Card widgets. * Support the endpoint list widget query with duration parameter. * Support ranges for Value Mappings. * Add service global topN widget on `General-Root`, `Mesh-Root`, `K8S-Root` dashboard. * Fix initialization dashboards. * Update the Kubernetes metrics for reduce multiple metrics calculate in MQE. * Support view data value related dashboards in TopList widgets. * Add endpoint global topN widget on `General-Root`, `Mesh-Root`. * Implement owner option for TopList widgets in related trace options. * Hide entrances to unrelated dashboards in topn list. * Split topology metric query to avoid exceeding the maximum query complexity. * Fix view metrics related trace and metrics query. * Add support collapse span. * Refactor copy util with Web API. * Releases an existing object URL. * Optimize Trace Profiling widget. * Implement Async Profiling widget. * Fix inaccurate data query issue on endpoint topology page. * Update browser dashboard for the new metrics. * Visualize `Snapshot` on `Alerting` page. * OAP self observability dashboard: Add JVM heap and direct memory used metrics. * OAP self observability dashboard: Add watermark circuit break/recover metrics. * Implement the legend selector in metrics charts. * Fix repetitive names in router. * Bump up dependencies. * Fixes tooltips cannot completely display metrics information. * Fix time range when generate link. * Add skywalking go agent self observability menu. * add topN selector for endpoint list. #### Documentation * Update release document to adopt newly added revision-based process. * Improve BanyanDB documentation. * Improve component-libraries documentation. * Improve configuration-vocabulary documentation. * Add `Get Effective TTL Configurations` API documentation. * Add Status APIs docs. * Simplified the release process with removing maven central publish relative processes. * Add Circuit Breaking mechanism doc. * Add `Get Node List in the Cluster` API doc. * Remove `meter.md` doc, because `mal.md` has covered all the content. * Merge `browser-http-api-protocol.md` doc into `browser-protocol.md`. All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/224?closed=1) ## New Contributors * @ShyunnY made their first contribution in https://github.com/apache/skywalking/pull/12676 * @zjh129 made their first contribution in https://github.com/apache/skywalking/pull/12700 * @zhengziyi0117 made their first contribution in https://github.com/apache/skywalking/pull/12671 * @tsonglew made their first contribution in https://github.com/apache/skywalking/pull/12778 * @kemalceng made their first contribution in https://github.com/apache/skywalking/pull/12827 * @cclauss made their first contribution in https://github.com/apache/skywalking/pull/12896 * @Super-Lu made their first contribution in https://github.com/apache/skywalking/pull/12897 * @hanwha-jesoos made their first contribution in https://github.com/apache/skywalking/pull/12935 * @MasamiYui made their first contribution in https://github.com/apache/skywalking/pull/13106 **Full Changelog**: https://github.com/apache/skywalking/compare/v10.1.0...v10.2.0
#### Download https://skywalking.apache.org/downloads/ #### Notice **Don't download source codes from this page. Please follow [build document](https://github.com/apache/skywalking/tree/master/docs/en/guides/How-to-build.md#build-from-github), if you want to build source codes by yourself.** #### A Version of PERFORMANCE * **Huge UI Performance Improvement. Metrics widgets queries are bundled by leveraging the GraphQL capabilities.** * **Parallel Queries Support in GraphQL engine. Improve query performance.** * **Significantly improve the performance of OTEL metrics handler. Reduce CPU and GC costs in OTEL metrics processes.** * **With adopting BanyanDB 0.7, native database performance and stability are improved.** #### Project * E2E: bump up the version of the opentelemetry-collector to 0.102.1. * Push snapshot data-generator docker image to ghcr.io. * Bump up skywalking-infra-e2e to work around GHA removing `docker-compose` v1. * Bump up CodeQL GitHub Actions. * Fix wrong phase of delombok plugin to reduce build warnings. * Use ci-friendly revision to set the project version. #### OAP Server * Fix wrong indices in the eBPF Profiling related models. * Support exclude the specific namespaces traffic in the eBPF Access Log receiver. * Add Golang as a supported language for Elasticsearch. * Remove unnecessary BanyanDB flushing logs(info). * Increase `SW_CORE_GRPC_MAX_MESSAGE_SIZE` to 50MB. * Support to query relation metrics through PromQL. * Support trace MQE query for debugging. * Add Component ID(158) for the Solon framework. * Fix metrics tag in HTTP handler of browser receiver plugin. * Increase `alarm_record#message` column length to 2000 from 200. * Remove `alarm_record#message` column indexing. * Add Python as a supported language for Pulsar. * Make more proper histogram buckets for the `persistence_timer_bulk_prepare_latency`, `persistence_timer_bulk_execute_latency` and `persistence_timer_bulk_all_latency` metrics in PersistenceTimer. * [Break Change] Update Nacos version to 2.3.2. Nacos 1.x server can't serve as cluster coordinator and configuration server. * Support tracing trace query(SkyWalking and Zipkin) for debugging. * Fix BanyanDB metrics query: used the wrong `Downsampling` type to find the schema. * Support fetch cilium flow to monitoring network traffic between cilium services. * Support `labelCount` function in the OAL engine. * Support BanyanDB internal measure query execution tracing. * BanyanDB client config: rise the default `maxBulkSize` to 10000, add `flushTimeout` and set default to 10s. * Polish BanyanDB group and schema creation logic to fix the schema creation failure issue in distributed race conditions. * Support tracing topology query for debugging. * Fix expression of graph `Current QPS` in MySQL dashboard. * Support tracing logs query for debugging. * BanyanDB: fix Tag autocomplete data storage and query. * Support aggregation operators in PromQL query. * Update the kubernetes HTTP latency related metrics source unit from `ns` to `ms`. * Support BanyanDB internal stream query execution tracing. * Fix Elasticsearch, MySQL, RabbitMQ dashboards typos and missing expressions. * BanyanDB: Zipkin Module set service as Entity for improving the query performance. * MQE: check the metrics value before do binary operation to improve robustness. * Replace workaround with Armeria native supported context path. * Add an http endpoint wrapper for health check. * Bump up Armeria and transitive dependencies. * BanyanDB: if the model column is already a `@BanyanDB.TimestampColumn`, set `@BanyanDB.NoIndexing` on it to reduce indexes. * BanyanDB: stream sort-by `time` query, use internal time-series rather than `index` to improve the query performance. * Bump up graphql-java to 21.5. * Add Unknown Node when receive Kubernetes peer address is not aware in current cluster. * Fix CounterWindow concurrent increase cause NPE by PriorityQueue * Fix format the endpoint name with empty string. * Support async query for the composite GraphQL query. * Get endpoint list order by timestamp desc. * Support sort queries on metrics generated by eBPF receiver. * Fix the compatibility with Grafana 11 when using label_values query variables. * Nacos as config server and cluster coordinator supports configuration contextPath. * Update the endpoint name format to `<Method>:<Path>` in eBPF Access Log Receiver. * Add self-observability metrics for OpenTelemetry receiver. * Support service level metrics aggregate when missing pod context in eBPF Access Log Receiver. * Fix query `getGlobalTopology` throw exception when didn't find any services by the given Layer. * Fix the previous analysis result missing in the ALS `k8s-mesh` analyzer. * Fix `findEndpoint` query requires `keyword` when using BanyanDB. * Support to analysis the ztunnel mapped IP address and mTLS mode in eBPF Access Log Receiver. * Adapt BanyanDB Java Client 0.7.0. * Add SkyWalking Java Agent self observability dashboard. * Add Component ID(5022) for the GoFrame framework. * Bump up protobuf java dependencies to 3.25.5. * BanyanDB: support using native term searching for `keyword` in query `findEndpoint` and `getAlarm`. * BanyanDB: support TLS connection and configuration. * PromQL service: query API support RFC3399 time format. * Improve the performance of OTEL metrics handler. * PromQL service: fix operators result missing `rangeExpression` flag. * BanyanDB: use `TimestampRange` to improve "events" query for BanyanDB. * Optimize `network_address_alias` table to reduce the number of the index. * PromQL service: support round brackets operator. * Support query Alarm message Tag for auto-complete. #### UI * Highlight search log keywords. * Add Error URL in the browser log. * Add a SolonMVC icon. * Adding cilium icon and i18n for menu. * Fix the mismatch between the unit and calculation of the "Network Bandwidth Usage" widget in Windows-Service Dashboard. * Make a maximum 20 entities per query in service/instance/endpoint list widgets. * Polish error nodes in trace widget. * Introduce flame graph to the trace profiling. * Correct services and instances when changing page numbers. * Improve metric queries to make page opening brisker. * Bump up dependencies to fix CVEs. * Add a loading view for initialization page. * Fix a bug for selectors when clicking the refresh icon. * Fix health check to OAP backend. * Add `Service`, `ServiceInstance`, `Endpoint` dashboard forwarder to Kubernetes Topologies. * Fix pagination for service/instance list widgets. * Add queries for alarm tags. * Add skywalking java agent self observability menu. #### Documentation * Update the version description supported by zabbix receiver. * Move the Official Dashboard docs to marketplace docs. * Add marketplace introduction docs under `quick start` menu to reduce the confusion of finding feature docs. * Update Windows Metrics(Swap -> Virtual Memory) All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/205?closed=1)
#### Download https://skywalking.apache.org/downloads/ #### Notice **Don't download source codes from this page. Please follow [build document](https://github.com/apache/skywalking/tree/master/docs/en/guides/How-to-build.md#build-from-github), if you want to build source codes by yourself.** #### Project * Add SBOM (Software Bill of Materials) to the project. #### OAP Server * Fix LAL test query api. * Add component libraries of `Derby`/`Sybase`/`SQLite`/`DB2`/`OceanBase` jdbc driver. * Fix setting the wrong interval to day level measure schema in BanyanDB installation process. #### UI * Fix widget title and tips. * Fix statistics span data. * Fix browser log display. * Fix the topology layout for there are multiple independent network relationships. All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/218?closed=1)
#### Download https://skywalking.apache.org/downloads/ #### Notice **Don't download source codes from this page. Please follow [build document](https://github.com/apache/skywalking/tree/master/docs/en/guides/How-to-build.md#build-from-github), if you want to build source codes by yourself.** #### Project * Add SBOM (Software Bill of Materials) to the project. #### OAP Server * Fix LAL test query api. * Add component libraries of `Derby`/`Sybase`/`SQLite`/`DB2`/`OceanBase` jdbc driver. * Fix setting the wrong interval to day level measure schema in BanyanDB installation process. #### UI * Fix widget title and tips. * Fix statistics span data. * Fix browser log display. * Fix the topology layout for there are multiple independent network relationships. All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/218?closed=1)
#### Download https://skywalking.apache.org/downloads/ #### Notice **Don't download source codes from this page. Please follow [build document](https://github.com/apache/skywalking/tree/master/docs/en/guides/How-to-build.md#build-from-github), if you want to build source codes by yourself.** #### Service Hierarchy | Service Hierarchy | Hierarchy Graph | |-----------|--------------------------------| |<img width="510" alt="image" src="https://github.com/apache/skywalking/assets/5441976/54f52e45-fa1f-4a72-b77c-0946a79e6827">|<img width="235" alt="image" src="https://github.com/apache/skywalking/assets/5441976/1568adcd-b7f1-463c-9160-b7898e8fc7e6">| #### Run with BanyanDB 0.6 in the Cluster Mode  #### Project * Support Java 21 runtime. * Support oap-java21 image for Java 21 runtime. * Upgrade `OTEL collector` version to `0.92.0` in all e2e tests. * Switch CI macOS runner to m1. * Upgrade PostgreSQL driver to `42.4.4` to fix CVE-2024-1597. * Remove CLI(`swctl`) from the image. * Remove CLI_VERSION variable from Makefile build. * Add BanyanDB to docker-compose quickstart. * Bump up Armeria, jackson, netty, jetcd and grpc to fix CVEs. * Bump up BanyanDB Java Client to 0.6.0. #### OAP Server * Add `layer` parameter to the global topology graphQL query. * Add `is_present` function in MQE for check if the list metrics has a value or not. * Remove unreasonable default configurations for gRPC thread executor. * Remove `gRPCThreadPoolQueueSize (SW_RECEIVER_GRPC_POOL_QUEUE_SIZE)` configuration. * Allow excluding ServiceEntries in some namespaces when looking up ServiceEntries as a final resolution method of service metadata. * Set up the length of source and dest IDs in relation entities of service, instance, endpoint, and process to 250(was 200). * Support build Service/Instance Hierarchy and query. * Change the string field in Elasticsearch storage from **keyword** type to **text** type if it set more than `32766` length. * [Break Change] Change the configuration field of `ui_template` and `ui_menu` in Elasticsearch storage from **keyword** type to **text**. * Support Service Hierarchy auto matching, add auto matching layer relationships (upper -> lower) as following: - MESH -> MESH_DP - MESH -> K8S_SERVICE - MESH_DP -> K8S_SERVICE - GENERAL -> K8S_SERVICE * Add `namespace` suffix for `K8S_SERVICE_NAME_RULE/ISTIO_SERVICE_NAME_RULE` and `metadata-service-mapping.yaml` as default. * Allow using a dedicated port for ALS receiver. * Fix log query by traceId in `JDBCLogQueryDAO`. * Support handler eBPF access log protocol. * Fix SumPerMinFunctionTest error function. * Remove unnecessary annotations and functions from Meter Functions. * Add `max` and `min` functions for MAL down sampling. * Fix critical bug of uncontrolled memory cost of TopN statistics. Change topN group key from `StorageId` to `entityId + timeBucket`. * Add Service Hierarchy auto matching layer relationships (upper -> lower) as following: - MYSQL -> K8S_SERVICE - POSTGRESQL -> K8S_SERVICE - SO11Y_OAP -> K8S_SERVICE - VIRTUAL_DATABASE -> MYSQL - VIRTUAL_DATABASE -> POSTGRESQL * Add Golang as a supported language for AMQP. * Support available layers of service in the topology. * Add `count` aggregation function for MAL * Add Service Hierarchy auto matching layer relationships (upper -> lower) as following: - NGINX -> K8S_SERVICE - APISIX -> K8S_SERVICE - GENERAL -> APISIX * Add Golang as a supported language for RocketMQ. * Support Apache RocketMQ server monitoring. * Add Service Hierarchy auto matching layer relationships (upper -> lower) as following: - ROCKETMQ -> K8S_SERVICE - VIRTUAL_MQ -> ROCKETMQ * Fix ServiceInstance `in` query. * Mock `/api/v1/status/buildinfo` for PromQL API. * Fix table exists check in the JDBC Storage Plugin. * Fix day-based table rolling time range strategy in JDBC storage. * Add `maxInboundMessageSize (SW_DCS_MAX_INBOUND_MESSAGE_SIZE)` configuration to change the max inbound message size of DCS. * Fix Service Layer when building Events in the EventHookCallback. * Add Golang as a supported language for Pulsar. * Add Service Hierarchy auto matching layer relationships (upper -> lower) as following: - RABBITMQ -> K8S_SERVICE - VIRTUAL_MQ -> RABBITMQ * Remove Column#function mechanism in the kernel. * Make query `readMetricValue` always return the average value of the duration. * Add Service Hierarchy auto matching layer relationships (upper -> lower) as following: - KAFKA -> K8S_SERVICE - VIRTUAL_MQ -> KAFKA * Support ClickHouse server monitoring. * Add Service Hierarchy auto matching layer relationships (upper -> lower) as following: - CLICKHOUSE -> K8S_SERVICE - VIRTUAL_DATABASE -> CLICKHOUSE * Add Service Hierarchy auto matching layer relationships (upper -> lower) as following: - PULSAR -> K8S_SERVICE - VIRTUAL_MQ -> PULSAR * Add Golang as a supported language for Kafka. * Support displaying the port services listen to from OAP and UI during server start. * Refactor data-generator to support generating metrics. * Fix `AvgHistogramPercentileFunction` legacy name. * [Break Change] Labeled Metrics support multiple labels. - Storage: store all label names and values instead of only the values. - MQE: - Support querying by multiple labels(name and value) instead using `_` as the anonymous label name. - `aggregate_labels` function support aggregate by specific labels. - `relabels` function require target label and rename label name and value. - PromQL: - Support querying by multiple labels(name and value) instead using `lables` as the anonymous label name. - Remove general labels `labels/relabels/label` function. - API `/api/v1/labels` and `/api/v1/label/<label_name>/values` support return matched metrics labels. - OAL: - Deprecate `percentile` function and introduce `percentile2` function instead. * Bump up Kafka to fix CVE. * Fix `NullPointerException` in Istio ServiceEntry registry. * Remove unnecessary `componentIds` as series ID in the `ServiceRelationClientSideMetrics` and `ServiceRelationServerSideMetrics` entities. * Fix not throw error when part of expression not matched any expression node in the `MQE` and `PromQL. * Remove `kafka-fetcher/default/createTopicIfNotExist` as the creation is automatically since [#7326](https://github.com/apache/skywalking/issues/7326) (v8.7.0). * Fix inaccuracy nginx service metrics. * Fix/Change Windows metrics name(Swap -> Virtual Memory) - `memory_swap_free` -> `memory_virtual_memory_free` - `memory_swap_total` -> `memory_virtual_memory_total` - `memory_swap_percentage` -> `memory_virtual_memory_percentage` * Fix/Change UI init setting for Windows Swap -> Virtual Memory * Fix `Memory Swap Usage`/`Virtual Memory Usage` display with UI init.(Linux/Windows) * Fix inaccurate APISIX metrics. * Fix inaccurate MongoDB Metrics. * Support Apache ActiveMQ server monitoring. * Add Service Hierarchy auto matching layer relationships (upper -> lower) as following: - ACTIVEMQ -> K8S_SERVICE * Calculate Nginx service HTTP Latency by MQE. * MQE query: make metadata not return `null`. * MQE labeled metrics Binary Operation: return empty value if the labels not match rather than report error. * Fix inaccurate Hierarchy of RabbitMQ Server monitoring metrics. * Fix inaccurate MySQL/MariaDB, Redis, PostgreSQL metrics. * Support DoubleValue,IntValue,BoolValue in OTEL metrics attributes. * [Break Change] gGRPC metrics exporter unified the metric value type and support labeled metrics. * Add component definition(ID=152) for `c3p0`(JDBC3 Connection and Statement Pooling). * Fix MQE `top_n` global query. * Fix inaccurate Pulsar and Bookkeeper metrics. * MQE support `sort_values` and `sort_label_values` functions. #### UI * Fix the mismatch between the unit and calculation of the "Network Bandwidth Usage" widget in Linux-Service Dashboard. * Add theme change animation. * Implement the Service and Instance hierarchy topology. * Support Tabs in the widget visible when MQE expressions. * Support search on Marketplace. * Fix default route. * Fix layout on the Log widget. * Fix Trace associates with Log widget. * Add isDefault to the dashboard configuration. * Add expressions to dashboard configurations on the dashboard list page. * Update Kubernetes related UI templates for adapt data from eBPF access log. * Fix dashboard `K8S-Service-Root` metrics expression. * Add dashboards for Service/Instance Hierarchy. * Fix MQE in dashboards when using `Card widget`. * Optimize tooltips style. * Fix resizing window causes the trace graph to display incorrectly. * Add the not found page(404). * Enhance VNode logic and support multiple Trace IDs in span's ref. * Add the layers filed and associate layers dashboards for the service topology nodes. * Fix `Nginx-Instance` metrics to instance level. * Update tabs of the Kubernetes service page. * Add Airflow menu i18n. * Add Support for dragging in the trace panel. * Add workflow icon. * Metrics support multiple labels. * Support the `SINGLE_VALUE` for table widgets. * Remove the General metric mode and related logical code. * Remove metrics for unreal nodes in the topology. * Enhance the Trace widget for batch consuming spans. * Clean the unused elements in the UI-templates. #### Documentation * Update the release doc to remove the announcement as the tests are through e2e rather than manually. * Update the release notification mail a little. * Polish docs structure. Move customization docs separately from the introduction docs. * Add webhook/gRPC hooks settings example for `backend-alarm.md`. * Begin the process of `SWIP - SkyWalking Improvement Proposal`. * Add `SWIP-1 Create and detect Service Hierarchy Relationship`. * Add `SWIP-2 Collecting and Gathering Kubernetes Monitoring Data`. * Update the `Overview` docs to add the `Service Hierarchy Relationship` section. * Fix incorrect words for `backend-bookkeeper-monitoring.md` and `backend-pulsar-monitoring.md` * Document a new way to load balance OAP. * Add `SWIP-3 Support RocketMQ monitoring`. * Add `OpenTelemetry SkyWalking Exporter` deprecated warning doc. * Update i18n for rocketmq monitoring. * Fix: remove click event after unmounted. * Fix: end loading without query results. * Update nanoid version to 3.3.7. * Update postcss version to 8.4.33. * Fix kafka topic name in exporter doc. * Fix query-protocol.md, make it consistent with the GraphQL query protocol. * Add `SWIP-5 Support ClickHouse Monitoring`. * Remove `OpenTelemetry Exporter` support from meter doc, as this has been flagged as unmaintained on OTEL upstream. * Add doc of one-line quick start script for different storage types. * Add FAQ for `Why is Clickhouse or Loki or xxx not supported as a storage option?`. * Add `SWIP-8 Support ActiveMQ Monitoring`. * Move BanyanDB storage to the recommended storage. All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/202?closed=1)
#### Download https://skywalking.apache.org/downloads/ #### Notice **Don't download source codes from this page. Please follow [build document](https://github.com/apache/skywalking/tree/master/docs/en/guides/How-to-build.md#build-from-github), if you want to build source codes by yourself.** #### Dark Mode The dafult style mode is changed to the dark mode, and light mode is still available.  #### New Design Log View A new design for the log view is currently available. Easier to locate the logs, and more space for the raw text.  #### Project * Bump Java agent to 9.1-dev in the e2e tests. * Bump up netty to 4.1.100. * Update Groovy 3 to 4.0.15. * Support packaging the project in JDK21. Compiler source and target remain in JDK11. #### OAP Server * ElasticSearchClient: Add `deleteById` API. * Fix Custom alarm rules are overwritten by 'resource/alarm-settings.yml' * Support Kafka Monitoring. * Support Pulsar server and BookKeeper server Monitoring. * [Breaking Change] Elasticsearch storage merge all management data indices into one index `management`, including `ui_template,ui_menu,continuous_profiling_policy`. * Add a release mechanism for alarm windows when it is expired in case of OOM. * Fix Zipkin trace receiver response: make the HTTP status code from `200` to `202`. * Update BanyanDB Java Client to 0.5.0. * Fix getInstances query in the BanyanDB Metadata DAO. * BanyanDBStorageClient: Add `keepAliveProperty` API. * Fix table exists check in the JDBC Storage Plugin. * Enhance extensibility of HTTP Server library. * Adjust `AlarmRecord` alarmMessage column length to 512. * Fix `EventHookCallback` build event: build the layer from `Service's Layer`. * Fix `AlarmCore` doAlarm: catch exception for each callback to avoid interruption. * Optimize queryBasicTraces in TraceQueryEsDAO. * Fix `WebhookCallback` send incorrect messages, add catch exception for each callback HTTP Post. * Fix AlarmRule expression validation: add labeled metrics mock data for check. * Support collect ZGC memory pool metrics. * Add a component ID for Netty-http (ID=151). * Add a component ID for Fiber (ID=5021). * BanyanDBStorageClient: Add `define(Property property, PropertyStore.Strategy strategy)` API. * Correct the file format and fix typos in the filenames for monitoring Kafka's e2e tests. * Support extract timestamp from patterned datetime string in LAL. * Support output key parameters in the booting logs. * Fix cannot query zipkin traces with `annotationQuery` parameter in the JDBC related storage. * Fix `limit` doesn't work for `findEndpoint` API in ES storage. * Isolate MAL CounterWindow cache by metric name. * Fix JDBC Log query order. * Change the DataCarrier IF_POSSIBLE strategy to use ArrayBlockingQueue implementation. * Change the policy of the queue(DataCarrier) in the L1 metric aggregate worker to IF_POSSIBLE mode. * Add self-observability metric `metrics_aggregator_abandon` to count the number of abandon metrics. * Support Nginx monitoring. * Fix `BanyanDB Metadata Query`: make query single instance/process return full tags to avoid NPE. * Repleace go2sky E2E to GO agent. * Replace Metrics v2 protocol with MQE in UI templates and E2E Test. * Fix incorrect apisix metrics otel rules. * Support `Scratch The OAP Config Dump`. * Support `increase/rate` function in the `MQE` query language. * Group service endpoints into `_abandoned` when endpoints have high cardinality. #### UI * Add new menu for kafka monitoring. * Fix independent widget duration. * Fix the display height of the link tree structure. * Replace the name by shortName on service widget. * Refactor: update pagination style. No visualization style change. * Apply MQE on K8s layer UI-templates. * Fix icons display in trace tree diagram. * Fix: update tooltip style to support multiple metrics scrolling view in a metrics graph. * Add a new widget to show jvm memory pool detail. * Fix: avoid querying data with empty parameters. * Add a title and a description for trace segments. * Add Netty icon for Netty HTTP plugin. * Add Pulsar menu i18n files. * Refactor Logs view. * Implement the Dark Theme. * Change UI templates for Text widgets. * Add Nginx menu i18n. * Fix the height for trace widget. * Polish list style. * Fix Log associate with Trace. * Enhance layout for broken Topology widget. * Fix calls metric with call type for Topology widget. * Fix changing metrics config for Topology widget. * Fix routes for Tab widget. * Remove OpenFunction(FAAS layer) relative UI templates and menu item. * Fix: change colors to match dark theme for Network Profiling. * Remove the description of OpenFunction in the UI i18n. * Reduce component chunks to improve page loading resource time. #### Documentation * Separate storage docs to different files, and add an estimated timeline for BanyanDB(end of 2023). * Add topology configuration in UI-Grafana doc. * Add missing metrics to the `OpenTelemetry Metrics` doc. * Polish docs of `Concepts and Designs`. * Fix incorrect notes of slowCacheReadThreshold. * Update OAP setup and cluster coordinator docs to explain new booting parameters table in the logs, and how to setup cluster mode. All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/193?closed=1)
#### Download https://skywalking.apache.org/downloads/ #### Notice **Don't download source codes from this page. Please follow [build document](https://github.com/apache/skywalking/tree/master/docs/en/guides/How-to-build.md#build-from-github), if you want to build source codes by yourself.** #### New Alerting Kernel * MQE(Metrics Query Expression) and a new notification mechanism are supported.  #### Support Loki LogQL * Newly added support for Loki LogQL and Grafana Loki Dashboard for SkyWalking collected logs  #### WARNING * ElasticSearch 6 storage relative tests are removed. It worked and is not promised due to end of life officially. #### Project * Bump up Guava to 32.0.1 to avoid the lib listed as vulnerable due to CVE-2020-8908. This API is never used. * Maven artifact `skywalking-log-recevier-plugin` is renamed to `skywalking-log-receiver-plugin`. * Bump up cli version 0.11 to 0.12. * Bump up the version of ASF parent pom to v30. * Make builds reproducible for automatic releases CI. #### OAP Server * Add Neo4j component ID(112) language: Python. * Add Istio ServiceEntry registry to resolve unknown IPs in ALS. * Wrap `deleteProperty` API to the BanyanDBStorageClient. * [Breaking change] Remove `matchedCounter` from `HttpUriRecognitionService#feedRawData`. * Remove patterns from `HttpUriRecognitionService#feedRawData` and add max 10 candidates of raw URIs for each pattern. * Add component ID for WebSphere. * Fix AI Pipeline uri caching NullPointer and IllegalArgument Exceptions. * Fix `NPE` in metrics query when the metric is not exist. * Remove E2E tests for Istio < 1.15, ElasticSearch < 7.16.3, they might still work but are not supported as planed. * Scroll all results in ElasticSearch storage and refactor scrolling logics, including Service, Instance, Endpoint, Process, etc. * Improve Kubernetes coordinator to remove `Terminating` OAP Pods in cluster. * Support `SW_CORE_SYNC_PERIOD_HTTP_URI_RECOGNITION_PATTERN` and `SW_CORE_TRAINING_PERIOD_HTTP_URI_RECOGNITION_PATTERN` to control the period of training and sync HTTP URI recognition patterns. And shorten the default period to 10s for sync and 60s for training. * Fix ElasticSearch scroller bug. * Add component ID for Aerospike(ID=149). * Packages with name `recevier` are renamed to `receiver`. * `BanyanDBMetricsDAO` handles `storeIDTag` in `multiGet` for `BanyanDBModelExtension`. * Fix endpoint grouping-related logic and enhance the performance of PatternTree retrieval. * Fix metric session cache saving after batch insert when using `mysql-connector-java`. * Support dynamic UI menu query. * Add comment for `docker/.env` to explain the usage. * Fix wrong environment variable name `SW_OTEL_RECEIVER_ENABLED_OTEL_RULES` to right `SW_OTEL_RECEIVER_ENABLED_OTEL_METRICS_RULES`. * Fix instance query in JDBC implementation. * Set the `SW_QUERY_MAX_QUERY_COMPLEXITY` default value to 3000(was 1000). * Accept `length=4000` parameter value of the event. It was 2000. * Tolerate parameter value in illegal JSON format. * Update BanyanDB Java Client to 0.4.0 * Support aggregate `Labeled Value Metrics` in MQE. * [Breaking change] Change the default label name in MQE from `labe`l to `_`. * Bump up grpc version to 1.53.0. * [Breaking change] Removed '&' symbols from shell scripts to avoid OAP server process running as a background process. * Revert part of #10616 to fix the unexpected changes: if there is no data we should return an array with `0`s, but in #10616, an empty array is returned. * Cache all service entity in memory for query. * Bump up jackson version to 2.15.2. * Increase the default memory size to avoid OOM. * Bump up graphql-java to 21.0. * Add Echo component ID(5015) language: Golang. * Fix `index out of bounds exception` in `aggregate_labels` MQE function. * Support MongoDB Server/Cluster monitoring powered by OTEL. * Do not print configurations values in logs to avoid sensitive info leaked. * Move created the latest index before retrieval indexes by aliases to avoid the 404 exception. This just prevents some interference from manual operations. * Add more Go VM metrics, as new skywalking-go agent provided since its 0.2 release. * Add component ID for Lock (ID=5016). * [Breaking change] Adjust the structure of hooks in the `alarm-settings.yml`. Support multiple configs for each hook types and specifying the hooks in the alarm rule. * Bump up Armeria to 1.24.3. * Fix BooleanMatch and BooleanNotEqualMatch doing Boolean comparison. * Support LogQL HTTP query APIs. * Add Mux Server component ID(5017) language: Golang. * Remove ElasticSearch 6.3.2 from our client lib tests. * Bump up ElasticSearch server 8.8.1 to 8.9.0 for latest e2e testing. 8.1.0, 7.16.3 and 7.17.10 are still tested. * Add OpenSearch 2.8.0 to our client lib tests. * Use listening mode for apollo implementation of dynamic configuration. * Add `view_as_seq` function in MQE for listing metrics in the given prioritized sequence. * Fix the wrong default value of `k8sServiceNameRule` if it's not explicitly set. * Improve PromQL to allow for multiple metric operations within a single query. * Fix MQE Binary Operation between labeled metrics and other type of value result. * Add component ID for Nacos (ID=150). * Support `Compare Operation` in MQE. * Fix the Kubernetes resource cache not refreshed. * Fix wrong classpath that might cause OOM in startup. * Enhance the `serviceRelation` in MAL by adding settings for the `delimiter` and `component` fields. * [Breaking change] Support MQE in the Alerting. The Alarm Rules configuration(alarm-settings.yml), add `expression` field and remove `metrics-name/count/threshold/op/only-as-condition` fields and remove `composite-rules` configuration. * Check results in ALS as per downstream/upstream instead of per log. * Fix GraphQL query `listInstances` not using endTime query * Do not start server and Kafka consumer in init mode. * Add Iris component ID(5018). * Add OTLP Tracing support as a Zipkin trace input. #### UI * Fix metric name `browser_app_error_rate` in `Browser-Root` dashboard. * Fix display name of `endpoint_cpm` for endpoint list in `General-Service` dashboard. * Implement customize menus and marketplace page. * Fix minTraceDuration and maxTraceDuration types. * Fix init minTime to Infinity. * Bump dependencies to fix vulnerabilities. * Add scss variables. * Fix the title of instance list and notices in the continue profiling. * Add a link to explain the expression metric, add units in the continue profiling widget. * Calculate string width to set Tabs name width. * [Breaking change] Removed '&' symbols from shell scripts to avoid web application server process running as a background process. * Reset chart label. * Fix service associates instances. * Remove node-sass. * Fix commit error on Windows. * Apply MQE on `MYSQL`, `POSTGRESQL`, `REDIS`, `ELASTICSEARCH` and `DYNAMODB` layer UI-templates. * Apply MQE on Virtual-Cache layer UI-templates * Apply MQE on APISIX, AWS_EKS, AWS_GATEWAY and AWS_S3 layer UI templates. * Apply MQE on RabbitMQ Dashboards. * Apply MQE on Virtual-MQ layer UI-templates * Apply MQE on Infra-Linux layer UI-templates * Apply MQE on Infra-Windows layer UI-templates * Apply MQE on Browser layer UI-templates. * Implement MQE on topology widget. * Fix getEndpoints keyword blank. * Implement a breadcrumb component as navigation. #### Documentation * Add Go agent into the server agent documentation. * Add data unit description in the configuration of continuous profiling policy. * Remove `storage extension` doc, as it is expired. * Remove `how to add menu` doc, as SkyWalking supports marketplace and new backend-based setup. * Separate contribution docs to a new menu structure. * Add a doc to explain how to manage i18n. * Add a doc to explain OTLP Trace support. * Fix typo in `dynamic-config-configmap.md`. * Fix out-dated docs about Kafka fetcher. * Remove 3rd part fetchers from the docs, as they are not maintained anymore. All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/181?closed=1)