Skip to content

Releases: apache/skywalking

9.0.0

09 Apr 12:13
Compare
Choose a tag to compare

Download

https://skywalking.apache.org/downloads/

Notice

Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.

image

Project

  • Upgrade log4j2 to 2.17.1 for CVE-2021-44228, CVE-2021-45046, CVE-2021-45105 and CVE-2021-44832. This CVE only effects
    on JDK if JNDI is opened in default. Notice, using JVM option -Dlog4j2.formatMsgNoLookups=true or setting
    the LOG4J_FORMAT_MSG_NO_LOOKUPS=”true” environment variable also avoids CVEs.
  • Upgrade maven-wrapper to 3.1.0, maven to 3.8.4 for performance improvements and ARM more native support.
  • Exclude unnecessary libs when building under JDK 9+.
  • Migrate base Docker image to eclipse-temurin as adoptopenjdk is deprecated.
  • Add E2E test under Java 17.
  • Upgrade protoc to 3.19.2.
  • Add Istio 1.13.1 to E2E test matrix for verification.
  • Upgrade Apache parent pom version to 25.
  • Use the plugin version defined by the Apache maven parent.
    • Upgrade maven-dependency-plugin to 3.2.0.
    • Upgrade maven-assembly-plugin to 3.3.0.
    • Upgrade maven-failsafe-plugin to 2.22.2.
    • Upgrade maven-surefire-plugin to 2.22.2.
    • Upgrade maven-jar-plugin to 3.2.2.
    • Upgrade maven-enforcer-plugin to 3.0.0.
    • Upgrade maven-compiler-plugin to 3.10.0.
    • Upgrade maven-resources-plugin to 3.2.0.
    • Upgrade maven-source-plugin to 3.2.1.
  • Update codeStyle.xml to fix incompatibility on M1's IntelliJ IDEA 2021.3.2.
  • Update frontend-maven-plugin to 1.12 and npm to 16.14.0 for booster UI build.
  • Improve CI with the GHA new feature "run failed jobs".
  • Fix ./mvnw compile not work if ./mvnw install is not executed at least once.
  • Add JD_PRESERVE_LINE_FEEDS=true in official code style file.
  • Upgrade OAP dependencies gson(2.9.0), guava(31.1), jackson(2.13.2), protobuf-java(3.18.4), commons-io(2.7),
    postgresql(42.3.3).
  • Remove commons-pool and commons-dbcp from OAP dependencies(Not used before).
  • Upgrade webapp dependencies gson(2.9.0), spring boot(2.6.6), jackson(2.13.2.2), spring cloud(2021.0.1), Apache
    httpclient(4.5.13).

OAP Server

  • Fix potential NPE in OAL string match and a bug when right-hand-side variable includes double quotes.
  • Bump up Armeria version to 1.14.1 to fix CVE.
  • Polish ETCD cluster config environment variables.
  • Add the analysis of metrics in Satellite MetricsService.
  • Fix Can't split endpoint id into 2 parts bug for endpoint ID. In the TCP in service mesh observability, endpoint
    name doesn't exist in TCP traffic.
  • Upgrade H2 version to 2.0.206 to fix CVE-2021-23463 and GHSA-h376-j262-vhq6.
  • Extend column name override mechanism working for ValueColumnMetadata.
  • Introduce new concept Layer and removed NodeType. More details refer
    to v9-version-upgrade.
  • Fix query sort metrics failure in H2 Storage.
  • Bump up grpc to 1.43.2 and protobuf to 3.19.2 to fix CVE-2021-22569.
  • Add source layer and dest layer to relation.
  • Follow protocol grammar fix GCPhrase -> GCPhase.
  • Set layer to mesh relation.
  • Add FAAS to SpanLayer.
  • Adjust e2e case for V9 core.
  • Support ZGC GC time and count metric collecting.
  • Sync proto buffers files from upstream Envoy (Related to envoyproxy/envoy#18955).
  • Bump up GraphQL related dependencies to latest versions.
  • Add normal to V9 service meta query.
  • Support scope=ALL catalog for metrics.
  • Bump up H2 to 2.1.210 to fix CVE-2022-23221.
  • E2E: Add normal field to Service.
  • Add FreeSql component ID(3017) of dotnet agent.
  • E2E: verify OAP cluster model data aggregation.
  • Fix SelfRemoteClient self observing metrics.
  • Add env variables SW_CLUSTER_INTERNAL_COM_HOST and SW_CLUSTER_INTERNAL_COM_PORT for cluster selectors zookeeper
    ,consul,etcd and nacos.
  • Doc update: configuration-vocabulary,backend-cluster about env variables SW_CLUSTER_INTERNAL_COM_HOST
    and SW_CLUSTER_INTERNAL_COM_PORT.
  • Add Python MysqlClient component ID(7013) with mapping information.
  • Support Java thread pool metrics analysis.
  • Fix IoTDB Storage Option insert null index value.
  • Set the default value of SW_STORAGE_IOTDB_SESSIONPOOL_SIZE to 8.
  • Bump up iotdb-session to 0.12.4.
  • Bump up PostgreSQL driver to fix CVE.
  • Add Guava EventBus component ID(123) of Java agent.
  • Add OpenFunction component ID(5013).
  • Expose configuration responseTimeout of ES client.
  • Support datasource metric analysis.
  • [Breaking Change] Keep the endpoint avg resp time meter name the same with others scope. (This may break 3rd party
    integration and existing alarm rule settings)
  • Add Python FastAPI component ID(7014).
  • Support all metrics from MAL engine in alarm core, including Prometheus, OC receiver, meter receiver.
  • Allow updating non-metrics templates when structure changed.
  • Set default connection timeout of ElasticSearch to 3000 milliseconds.
  • Support ElasticSearch 8 and add it into E2E tests.
  • Disable indexing for field alarm_record.tags_raw_data of binary type in ElasticSearch storage.
  • Fix Zipkin receiver wrong condition for decoding gzip.
  • Add a new sampler (possibility) in LAL.
  • Unify module name receiver_zipkin to receiver-zipkin, remove receiver_jaeger from application.yaml.
  • Introduce the entity of Process type.
  • Set the length of event#parameters to 2000.
  • Limit the length of Event#parameters.
  • Support large service/instance/networkAddressAlias list query by using ElasticSearch scrolling API,
    add metadataQueryBatchSize to configure scrolling page size.
  • Change default value of metadataQueryMaxSize from 5000 to 10000
  • Replace deprecated Armeria API BasicToken.of with AuthToken.ofBasic.
  • Implement v9 UI template management protocol.
  • Implement process metadata query protocol.
  • Expose more ElasticSearch health check related logs to help to
    diagnose Health check fails. reason: No healthy endpoint.
  • Add source event generated metrics to SERVICE_CATALOG_NAME catalog.
  • [Breaking Change] Deprecate All from OAL source.
  • [Breaking Change] Remove SRC_ALL: 'All' from OAL grammar tree.
  • Remove all_heatmap and all_percentile metrics.
  • Fix ElasticSearch normal index couldn't apply mapping and update.
  • Enhance DataCarrier#MultipleChannelsConsumer to add priority for the channels, which makes OAP server has a better
    performance to activate all analyzers on default.
  • Activate receiver-otel#enabledOcRules receiver with k8s-node,oap,vm rules on default.
  • Activate satellite,spring-sleuth for agent-analyzer#meterAnalyzerActiveFiles on default.
  • Activate receiver-zabbix receiver with agent rule on default.
  • Replace HTTP server (GraphQL, agent HTTP protocol) from Jetty with Armeria.
  • [Breaking Change] Remove configuration restAcceptorPriorityDelta (env var: SW_RECEIVER_SHARING_JETTY_DELTA
    , SW_CORE_REST_JETTY_DELTA).
  • [Breaking Change] Remove configuration graphql/path (env var: SW_QUERY_GRAPHQL_PATH).
  • Add storage column attribute indexOnly, support ElasticSearch only index and not store some fields.
  • Add indexOnly=true to SegmentRecord.tags, AlarmRecord.tags, AbstractLogRecord.tags, to reduce unnecessary
    storage.
  • [Breaking Change] Remove configuration restMinThreads (env var: SW_CORE_REST_JETTY_MIN_THREADS
    , SW_RECEIVER_SHARING_JETTY_MIN_THREADS).
  • Refactor the core Builder mechanism, new storage plugin could implement their own converter and get rid of hard
    requirement of using HashMap to communicate between data object and database native structure.
  • [Breaking Change] Break all existing 3rd-party storage extensions.
  • Remove hard requirement of BASE64 encoding for binary field.
  • Add complexity limitation for GraphQL query to avoid malicious query.
  • Add Column.shardingKeyIdx for column definition for BanyanDB.
Sharding key is used to group time series data per metric of one entity in one place (same sharding and/or same 
row for column-oriented database).
For example,
ServiceA's traffic gauge, service call per minute, includes following timestamp values, then it should be sharded by service ID
[ServiceA(encoded ID): 01-28 18:30 values-1, 01-28 18:31 values-2, 01-28 18:32 values-3, 01-28 18:32 values-4]

BanyanDB is the 1st storage implementation supporting this. It would make continuous time series metrics stored closely and compressed better.

NOTICE, this sharding concept is NOT just for splitting data into different database instances or physical files.
  • Support ElasticSearch template mappings properties parameters and _source update.
  • Implement the eBPF profiling query and data collect protocol.
  • [Breaking Change] Remove Deprecated responseCode from sources, including Service, ServiceInstance, Endpoint
  • Enhance endpoint dependency analysis to support cross threads cases. Refactor span analysis code structures.
  • Remove isNotNormal service requirement when use alias to merge service topology from client side. All RPCs' peer
    services from client side are always normal services. This cause the topology is not merged correctly.
  • Fix event type of export data is incorrect, it was EventType.TOTAL always.
  • Reduce redundancy ThreadLocal in MAL core. Improve MAL performance.
  • Trim tag's key and value in log query.
  • Refactor IoTDB storage plugin, add IoTDBDataConverter and fix ModifyCollectionInEnhancedForLoop bug.
  • Bump up iotdb-session to 0.12.5.
  • Fix the configuration of Aggregation and GC Count metrics for oap self observability
  • E2E: Add verify OA...
Read more

8.9.1

11 Dec 13:57
Compare
Choose a tag to compare

Download

https://skywalking.apache.org/downloads/

Notice

Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.

Project

  • Upgrade log4j2 to 2.15.0 for CVE-2021-44228. This CVE only effects on JDK versions below 6u211, 7u201, 8u191 and 11.0.1 according to the post. Notice, using JVM option -Dlog4j2.formatMsgNoLookups=true also avoids CVE if your JRE opened JNDI by default.

8.9.0

05 Dec 07:33
Compare
Choose a tag to compare

Download

https://skywalking.apache.org/downloads/

Notice

Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.

Project

  • E2E tests immigrate to e2e-v2.
  • Support JDK 16 and 17.
  • Add Docker images for arm64 architecture.

OAP Server

  • Add component definition for Jackson.
  • Fix that zipkin-receiver plugin is not packaged into dist.
  • Upgrade Armeria to 1.12, upgrade OpenSearch test version to 1.1.0.
  • Add component definition for Apache-Kylin.
  • Enhance get generation mechanism of OAL engine, support map type of source's field.
  • Add tag(Map) into All, Service, ServiceInstance and Endpoint sources.
  • Fix funcParamExpression and literalExpression can't be used in the same aggregation function.
  • Support cast statement in the OAL core engine.
  • Support (str->long) and (long) for string to long cast statement.
  • Support (str->int) and (int) for string to int cast statement.
  • Support Long literal number in the OAL core engine.
  • Support literal string as parameter of aggregation function.
  • Add attributeExpression and attributeExpressionSegment in the OAL grammar tree to support map type for the
    attribute expression.
  • Refactor the OAL compiler context to improve readability.
  • Fix wrong generated codes of hashCode and remoteHashCode methods for numeric fields.
  • Support != null in OAL engine.
  • Add Message Queue Consuming Count metric for MQ consuming service and endpoint.
  • Add Message Queue Avg Consuming Latency metric for MQ consuming service and endpoint.
  • Support -Inf as bucket in the meter system.
  • Fix setting wrong field when combining Events.
  • Support search browser service.
  • Add getProfileTaskLogs to profile query protocol.
  • Set SW_KAFKA_FETCHER_ENABLE_NATIVE_PROTO_LOG, SW_KAFKA_FETCHER_ENABLE_NATIVE_JSON_LOG default true.
  • Fix unexpected deleting due to TTL mechanism bug for H2, MySQL, TiDB and PostgreSQL.
  • Add a GraphQL query to get OAP version, display OAP version in startup message and error logs.
  • Fix TimeBucket missing in H2, MySQL, TiDB and PostgreSQL bug, which causes TTL doesn't work for service_traffic.
  • Fix TimeBucket missing in ElasticSearch and provide compatible storage2Entity for previous versions.
  • Fix ElasticSearch implementation of queryMetricsValues and readLabeledMetricsValues doesn't fill default values
    when no available data in the ElasticSearch server.
  • Fix config yaml data type conversion bug when meets special character like !.
  • Optimize metrics of minute dimensionality persistence. The value of metrics, which has declaration of the default
    value and current value equals the default value logically, the whole row wouldn't be pushed into database.
  • Fix max function in OAL doesn't support negative long.
  • Add MicroBench module to make it easier for developers to write JMH test.
  • Upgrade Kubernetes Java client to 14.0.0, supports GCP token refreshing and fixes some bugs.
  • Change SO11Y metric envoy_als_in_count to calculate the ALS message count.
  • Support Istio 1.10.3, 1.11.4, 1.12.0 release.(Tested through e2e)
  • Add filter mechanism in MAL core to filter metrics.
  • Fix concurrency bug in MAL increase-related calculation.
  • Fix a null pointer bug when building SampleFamily.
  • Fix the so11y latency of persistence execution latency not correct in ElasticSearch storage.
  • Add MeterReportService collectBatch method.
  • Add OpenSearch 1.2.0 to test and verify it works.
  • Upgrade grpc-java to 1.42.1 and protoc to 3.17.3 to allow using native Mac osx-aarch_64 artifacts.
  • Fix TopologyQuery.loadEndpointRelation bug.
  • Support using IoTDB as a new storage option.
  • Add customized envoy ALS protocol receiver for satellite transmit batch data.
  • Remove logback dependencies in IoTDB plugin.
  • Fix StorageModuleElasticsearchProvider doesn't watch on trustStorePath.
  • Fix a wrong check about entity if GraphQL at the endpoint relation level.

UI

  • Optimize endpoint dependency.
  • Show service name by hovering nodes in the sankey chart.
  • Add Apache Kylin logo.
  • Add ClickHouse logo.
  • Optimize the style and add tips for log conditions.
  • Fix the condition for trace table.
  • Optimize profile functions.
  • Implement a reminder to clear cache for dashboard templates.
  • Support +/- hh:mm in TimeZone setting.
  • Optimize global settings.
  • Fix current endpoint for endpoint dependency.
  • Add version in the global settings popup.
  • Optimize Log page style.
  • Avoid some abnormal settings.
  • Fix query condition of events.

Documentation

  • Enhance documents about the data report and query protocols.
  • Restructure documents about receivers and fetchers.
    1. Remove general receiver and fetcher docs
    2. Add more specific menu with docs to help users to find documents easier.
  • Add a guidance doc about the logic endpoint.
  • Link Satellite as Load Balancer documentation and compatibility with satellite.

All issues and pull requests are here

8.8.1

02 Oct 16:39
5f4584c
Compare
Choose a tag to compare

Download

https://skywalking.apache.org/downloads/

Notice

Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.

OAP Server

  • Fix wrong (de)serializer of ElasticSearch client for OpenSearch storage.
  • Fix that traces query with tags will report error.
  • Replace e2e simple cases to e2e-v2.
  • Fix endpoint dependency breaking.

UI

  • Delete duplicate calls for endpoint dependency.

Documentation

All issues and pull requests are here

8.8.0

27 Sep 09:58
Compare
Choose a tag to compare

Download

https://skywalking.apache.org/downloads/

Notice

Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.

Project

OAP Server

  • Fix CVE-2021-35515, CVE-2021-35516, CVE-2021-35517, CVE-2021-36090. Upgrade org.apache.commons:commons-compress to 1.21.
  • kubernetes java client upgrade from 12.0.1 to 13.0.0
  • Add event http receiver
  • Support Metric level function serviceRelation in MAL.
  • Support envoy metrics binding into the topology.
  • Fix openapi-definitions folder not being read correctly.
  • Trace segment wouldn't be recognized as a TopN sample service. Add through #4694 experimentally, but it caused
    performance impact.
  • Remove version and endTime in the segment entity. Reduce indexing payload.
  • Fix mapper_parsing_exception in ElasticSearch 7.14.
  • Support component IDs for Go-Kratos framework.
  • [Break Change] Remove endpoint name in the trace query condition. Only support query by endpoint id.
  • Fix ProfileSnapshotExporterTest case on OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9),
    MacOS.
  • [Break Change] Remove page path in the browser log query condition. Only support query by page path id.
  • [Break Change] Remove endpoint name in the backend log query condition. Only support query by endpoint id.
  • [Break Change] Fix typo for a column page_path_id(was pate_path_id) of storage entity browser_error_log.
  • Add component id for Python falcon plugin.
  • Add rpcStatusCode for rpc.status_code tag. The responseCode field is marked as deprecated and replaced
    by httpResponseStatusCode field.
  • Remove the duplicated tags to reduce the storage payload.
  • Add a new API to test log analysis language.
  • Harden the security of Groovy-based DSL, MAL and LAL.
  • Fix distinct in Service/Instance/Endpoint query is not working.
  • Support collection type in dynamic configuration core.
  • Support zookeeper grouped dynamic configurations.
  • Fix NPE when OAP nodes synchronize events with each other in cluster mode.
  • Support k8s configmap grouped dynamic configurations.
  • Add desc sort function in H2 and ElasticSearch implementations of IBrowserLogQueryDAO
  • Support configure sampling policy by configuration module dynamically and static configuration
    file trace-sampling-policy-settings.yml for service dimension on the backend side. Dynamic
    configurations agent-analyzer.default.sampleRate and agent-analyzer.default.slowTraceSegmentThreshold are replaced
    by agent-analyzer.default.traceSamplingPolicy. Static configurations agent-analyzer.default.sampleRate
    and agent-analyzer.default.slowTraceSegmentThreshold are replaced
    by agent-analyzer.default.traceSamplingPolicySettingsFile.
  • Fix dynamic configuration watch implementation current value not null when the config is deleted.
  • Fix LoggingConfigWatcher return watch.value would not consistent with the real configuration content.
  • Fix ZookeeperConfigWatcherRegister.readConfig() could cause NPE when data.getData() is null.
  • Support nacos grouped dynamic configurations.
  • Support for filter function filtering of int type values.
  • Support mTLS for gRPC channel.
  • Add yaml file suffix limit when reading ui templates.
  • Support consul grouped dynamic configurations.
  • Fix H2MetadataQueryDAO.searchService doesn't support auto grouping.
  • Rebuilt ElasticSearch client on top of their REST API.
  • Fix ElasticSearch storage plugin doesn't work when hot reloading from secretsManagementFile.
  • Support etcd grouped dynamic configurations.
  • Unified the config word namespace in the project.
  • Switch JRE base image for dev images.
  • Support apollo grouped dynamic configurations.
  • Fix ProfileThreadSnapshotQuery.queryProfiledSegments adopts a wrong sort function
  • Support gRPC sync grouped dynamic configurations.
  • Fix H2EventQueryDAO doesn't sort data by Event.START_TIME and uses a wrong pagination query.
  • Fix LogHandler of kafka-fetcher-plugin cannot recognize namespace.
  • Improve the speed of writing TiDB by batching the SQL execution.
  • Fix wrong service name when IP is node IP in k8s-mesh.
  • Support dynamic configurations for openAPI endpoint name grouping rule.
  • Add component definition for Alibaba Druid and HikariCP.
  • Fix Hour and Day dimensionality metrics not accurate, due to the cache read-then-clear mechanism conflicts with
    low down metrics flush period added in 8.7.0.
  • Fix Slow SQL sampling not accurate, due to TopN works conflict with cache read-then-clear mechanism.
  • The persistent cache is only read when necessary.
  • Add component definition for Alibaba Fastjson.
  • Fix entity(service/instance/endpoint) names in the MAL system(prometheus, native meter, open census, envoy metric
    service) are not controlled by core's naming-control mechanism.
  • Upgrade netty version to 4.1.68.Final avoid cve-2021-37136.

UI

  • Fix not found error when refresh UI.
  • Update endpointName to endpointId in the query trace condition.
  • Add Python falcon icon on the UI.
  • Fix searching endpoints with keywords.
  • Support clicking the service name in the chart to link to the trace or log page.
  • Implement the Log Analysis Language text regexp debugger.
  • Fix fetching nodes and calls with serviceIds on the topology side.
  • Implement Alerts for query errors.

Documentation

  • Add a section in Log Collecting And Analysis doc, introducing the new Python agent log reporter.
  • Add one missing step in otel-receiver doc about how to activate the default receiver.
  • Reorganize dynamic configuration doc.
  • Add more description about meter configurations in backend-meter doc.
  • Fix typo in endpoint-grouping-rules doc.

All issues and pull requests are here

8.7.0

02 Aug 12:25
Compare
Choose a tag to compare

Download

https://skywalking.apache.org/downloads/

Notice

Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.

Project

  • Extract dependency management to a bom.
  • Add JDK 16 to test matrix.
  • DataCarrier consumer add a new event notification, call nothingToConsume method if the queue has no element to
    consume.
  • Build and push snapshot Docker images to GitHub Container Registry, this is only for people who want to help to test
    the master branch codes, please don't use in production environments.

Java Agent

  • Supports modifying span attributes in async mode.
  • Agent supports the collection of JVM arguments and jar dependency information.
  • [Temporary] Support authentication for log report channel. This feature and grpc channel is going to be removed after
    Satellite 0.2.0 release.
  • Remove deprecated gRPC method, io.grpc.ManagedChannelBuilder#nameResolverFactory.
    See gRPC-java 7133 for more details.
  • Add Neo4j-4.x plugin.
  • Correct profile.duration to profile.max_duration in the default agent.config file.
  • Fix the response time of gRPC.
  • Support parameter collection for SqlServer.
  • Add ShardingSphere-5.0.0-beta plugin.
  • Fix some method exception error.
  • Fix async finish repeatedly in spring-webflux-5.x-webclient plugin.
  • Add agent plugin to support Sentinel.
  • Move ehcache-2.x plugin as an optional plugin.
  • Support guava-cache plugin.
  • Enhance the compatibility of mysql-8.x-plugin plugin.
  • Support Kafka SASL login module.
  • Fix gateway plugin async finish repeatedly when fallback url configured.
  • Chore: polish methods naming for Spring-Kafka plugins.
  • Remove plugins for ShardingSphere legacy version.
  • Update agent plugin for ElasticJob GA version
  • Remove the logic of generating instance name in KafkaServiceManagementServiceClient class.
  • Improve okhttp plugin performance by optimizing Class.getDeclaredField().
  • Fix GRPCLogClientAppender no context warning.
  • Fix spring-webflux-5.x-webclient-plugin NPE.

OAP-Backend

  • Disable Spring sleuth meter analyzer by default.
  • Only count 5xx as error in Envoy ALS receiver.
  • Upgrade apollo core caused by CVE-2020-15170.
  • Upgrade kubernetes client caused by CVE-2020-28052.
  • Upgrade Elasticsearch 7 client caused by CVE-2020-7014.
  • Upgrade jackson related libs caused by CVE-2018-11307, CVE-2018-14718 ~ CVE-2018-14721, CVE-2018-19360 ~
    CVE-2018-19362, CVE-2019-14379, CVE-2019-14540, CVE-2019-14892, CVE-2019-14893, CVE-2019-16335, CVE-2019-16942,
    CVE-2019-16943, CVE-2019-17267, CVE-2019-17531, CVE-2019-20330, CVE-2020-8840, CVE-2020-9546, CVE-2020-9547,
    CVE-2020-9548, CVE-2018-12022, CVE-2018-12023, CVE-2019-12086, CVE-2019-14439, CVE-2020-10672, CVE-2020-10673,
    CVE-2020-10968, CVE-2020-10969, CVE-2020-11111, CVE-2020-11112, CVE-2020-11113, CVE-2020-11619, CVE-2020-11620,
    CVE-2020-14060, CVE-2020-14061, CVE-2020-14062, CVE-2020-14195, CVE-2020-24616, CVE-2020-24750, CVE-2020-25649,
    CVE-2020-35490, CVE-2020-35491, CVE-2020-35728 and CVE-2020-36179 ~ CVE-2020-36190.
  • Exclude log4j 1.x caused by CVE-2019-17571.
  • Upgrade log4j 2.x caused by CVE-2020-9488.
  • Upgrade nacos libs caused by CVE-2021-29441 and CVE-2021-29442.
  • Upgrade netty caused by CVE-2019-20444, CVE-2019-20445, CVE-2019-16869, CVE-2020-11612, CVE-2021-21290, CVE-2021-21295
    and CVE-2021-21409.
  • Upgrade consul client caused by CVE-2018-1000844, CVE-2018-1000850.
  • Upgrade zookeeper caused by CVE-2019-0201, zookeeper cluster coordinator plugin now requires zookeeper server 3.5+.
  • Upgrade snake yaml caused by CVE-2017-18640.
  • Upgrade embed tomcat caused by CVE-2020-13935.
  • Upgrade commons-lang3 to avoid potential NPE in some JDK versions.
  • OAL supports generating metrics from events.
  • Support endpoint name grouping by OpenAPI definitions.
  • Concurrent create PrepareRequest when persist Metrics
  • Fix CounterWindow increase computing issue.
  • Performance: optimize Envoy ALS analyzer performance in high traffic load scenario (reduce ~1cpu in ~10k RPS).
  • Performance: trim useless metadata fields in Envoy ALS metadata to improve performance.
  • Fix: slowDBAccessThreshold dynamic config error when not configured.
  • Performance: cache regex pattern and result, optimize string concatenation in Envy ALS analyzer.
  • Performance: cache metrics id and entity id in Metrics and ISource.
  • Performance: enhance persistent session mechanism, about differentiating cache timeout for different dimensionality
    metrics. The timeout of the cache for minute and hour level metrics has been prolonged to ~5 min.
  • Performance: Add L1 aggregation flush period, which reduce the CPU load and help young GC.
  • Support connectTimeout and socketTimeout settings for ElasticSearch6 and ElasticSearch7 storages.
  • Re-implement storage session mechanism, cached metrics are removed only according to their last access timestamp,
    rather than first time. This makes sure hot data never gets removed unexpectedly.
  • Support session expired threshold configurable.
  • Fix InfluxDB storage-plugin Metrics#multiGet issue.
  • Replace zuul proxy with spring cloud gateway 2.x. in webapp module.
  • Upgrade etcd cluster coordinator and dynamic configuration to v3.x.
  • Configuration: Allow configuring server maximum request header size and ES index template order.
  • Add thread state metric and class loaded info metric to JVMMetric.
  • Performance: compile LAL DSL statically and run with type checked.
  • Add pagination to event query protocol.
  • Performance: optimize Envoy error logs persistence performance.
  • Support envoy cluster manager metrics.
  • Performance: remove the synchronous persistence mechanism from batch ElasticSearch DAO. Because the current enhanced
    persistent session mechanism, don't require the data queryable immediately after the insert and update anymore.
  • Performance: share flushInterval setting for both metrics and record data, due
    to synchronous persistence mechanism removed. Record flush interval used to be hardcoded as 10s.
  • Remove syncBulkActions in ElasticSearch storage option.
  • Increase the default bulkActions(env, SW_STORAGE_ES_BULK_ACTIONS) to 5000(from 1000).
  • Increase the flush interval of ElasticSearch indices to 15s(from 10s)
  • Provide distinct for elements of metadata lists. Due to the more aggressive asynchronous flush, metadata lists have
    more chances including duplicate elements. Don't need this as indicate anymore.
  • Reduce the flush period of hour and day level metrics, only run in 4 times of regular persistent period. This means
    default flush period of hour and day level metrics are 25s * 4.
  • Performance: optimize IDs read of ElasticSearch storage options(6 and 7). Use the physical index rather than template
    alias name.
  • Adjust index refresh period as INT(flushInterval * 2/3), it used to be as same as bulk flush period. At the edge case,
    in low traffic(traffic < bulkActions in the whole period), there is a possible case, 2 period bulks are included in
    one index refresh rebuild operation, which could cause version conflicts. And this case can't be fixed
    through core/persistentPeriod as the bulk fresh is not controlled by the persistent timer anymore.
  • The core/maxSyncOperationNum setting(added in 8.5.0) is removed due to metrics persistence is fully asynchronous.
  • The core/syncThreads setting(added in 8.5.0) is removed due to metrics persistence is fully asynchronous.
  • Optimization: Concurrency mode of execution stage for metrics is removed(added in 8.5.0). Only concurrency of prepare
    stage is meaningful and kept.
  • Fix -meters metrics topic isn't created with namespace issue
  • Enhance persistent session timeout mechanism. Because the enhanced session could cache the metadata metrics forever,
    new timeout mechanism is designed for avoiding this specific case.
  • Fix Kafka transport topics are created duplicated with and without namespace issue
  • Fix the persistent session timeout mechanism bug.
  • Fix possible version_conflict_engine_exception in bulk execution.
  • Fix PrometheusMetricConverter may throw an IllegalArgumentException when convert metrics to SampleFamily
  • Filtering NaN value samples when build SampleFamily
  • Add Thread and ClassLoader Metrics for the self-observability and otel-oc-rules
  • Simple optimization of trace sql query statement. Avoid "select *" query method
  • Introduce dynamical logging to update log configuration at runtime
  • Fix Kubernetes ConfigMap configuration center doesn't send delete event
  • Breaking Change: emove qps and add rpm in LAL

UI

  • Fix the date component for log conditions.
  • Fix selector keys for duplicate options.
  • Add Python celery plugin.
  • Fix default config for metrics.
  • Fix trace table for profile ui.
  • Fix the error of server response time in the topology.
  • Fix chart types for setting metrics configure.
  • Fix logs pages number.
  • Implement a timeline for Events in a new page.
  • Fix style for event details.

Documentation

  • Add FAQ about Elasticsearch exception type=version_conflict_engine_exception since 8.7.0
  • Add Self Observability service discovery (k8s).
  • Add sending Envoy Metrics to OAP in envoy 1.19 example and bump up to Envoy V3 api.

All issues and pull requests are here

8.6.0

10 Jun 04:58
Compare
Choose a tag to compare

Download

https://skywalking.apache.org/downloads/

Notice

Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.

Project

  • Add OpenSearch as storage option.
  • Upgrade Kubernetes Java client dependency to 11.0.
  • Fix plugin test script error in macOS.

Java Agent

  • Add trace_segment_ref_limit_per_span configuration mechanism to avoid OOM.
  • Improve GlobalIdGenerator performance.
  • Add an agent plugin to support elasticsearch7.
  • Add jsonrpc4j agent plugin.
  • new options to support multi skywalking cluster use same kafka cluster(plugin.kafka.namespace)
  • resolve agent has no retries if connect kafka cluster failed when bootstrap
  • Add Seata in the component definition. Seata plugin hosts on Seata project.
  • Extended Kafka plugin to properly trace consumers that have topic partitions directly assigned.
  • Support Kafka consumer 2.8.0.
  • Support print SkyWalking context to logs.
  • Add MessageListener enhancement in pulsar plugin.
  • fix a bug that spring-mvc set an error endpoint name if the controller class annotation implements an interface.
  • Add an optional agent plugin to support mybatis.
  • Add spring-cloud-gateway-3.x optional plugin.
  • Add okhttp-4.x plugin.
  • Fix NPE when thrift field is nested in plugin thrift
  • Fix possible NullPointerException in agent's ES plugin.
  • Fix the conversion problem of float type in ConfigInitializer.
  • Fixed part of the dynamic configuration of ConfigurationDiscoveryService that does not take effect under certain circumstances.
  • Introduce method interceptor API v2
  • Fix ClassCast issue for RequestHolder/ResponseHolder.
  • fixed jdk-threading-plugin memory leak.
  • Optimize multiple field reflection operation in Feign plugin.
  • Fix trace-ignore-plugin TraceIgnorePathPatterns can't set empty value

OAP-Backend

  • BugFix: filter invalid Envoy access logs whose socket address is empty.
  • Fix K8s monitoring the incorrect metrics calculate.
  • Loop alarm into event system.
  • Support alarm tags.
  • Support WeLink as a channel of alarm notification.
  • Fix: Some defensive codes didn't work in PercentileFunction combine.
  • CVE: fix Jetty vulnerability. https://nvd.nist.gov/vuln/detail/CVE-2019-17638
  • Fix: MAL function would miss samples name after creating new samples.
  • perf: use iterator.remove() to remove modulesWithoutProvider
  • Support analyzing Envoy TCP access logs and persist error TCP logs.
  • Fix: Envoy error logs are not persisted when no metrics are generated
  • Fix: Memory leakage of low version etcd client. fix-issue
  • Allow multiple definitions as fallback in metadata-service-mapping.yaml file and k8sServiceNameRule.
  • Fix: NPE when configmap has no data.
  • Fix: Dynamic Configuration key slowTraceSegmentThreshold not work
  • Fix: != is not supported in oal when parameters are numbers.
  • Include events of the entity(s) in the alarm.
  • Support native-json format log in kafka-fetcher-plugin.
  • Fix counter misuse in the alarm core. Alarm can't be triggered in time.
  • Events can be configured as alarm source.
  • Make the number of core worker in meter converter thread pool configurable.
  • Add HTTP implementation of logs reporting protocol.
  • Make metrics exporter still work even when storage layer failed.
  • Fix Jetty HTTP TRACE issue, disable HTTP methods except POST.
  • CVE: upgrade snakeyaml to prevent billion laughs attack in dynamic configuration.
  • polish debug logging avoids null value when the segment ignored.

UI

  • Add logo for kong plugin.
  • Add apisix logo.
  • Refactor js to ts for browser logs and style change.
  • When creating service groups in the topology, it is better if the service names are sorted.
  • Add tooltip for dashboard component.
  • Fix style of endpoint dependency.
  • Support search and visualize alarms with tags.
  • Fix configurations on dashboard.
  • Support to configure the maximum number of displayed items.
  • After changing the durationTime, the topology shows the originally selected group or service.
  • remove the no use maxItemNum for labeled-value metric, etc.
  • Add Azure Functions logo.
  • Support search Endpoint use keyword params in trace view.
  • Add a function which show the statistics infomation during the trace query.
  • Remove the sort button at the column of Type in the trace statistics page.
  • Optimize the APISIX icon in the topology.
  • Implement metrics templates in the topology.
  • Visualize Events on the alarm page.
  • Update duration steps in graphs for Trace and Log.

Documentation

  • Polish k8s monitoring otel-collector configuration example.
  • Print SkyWalking context to logs configuration example.
  • Update doc about metrics v2 APIs.

All issues and pull requests are here

8.5.0

12 Apr 15:31
Compare
Choose a tag to compare

Download

https://skywalking.apache.org/downloads/

Notice

Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.

Project

  • Incompatible Change. Indices and templates of ElasticSearch(6/7, including zipkin-elasticsearch7) storage option have been changed.
  • Update frontend-maven-plugin to 1.11.0, for Download node x64 binary on Apple Silicon.
  • Add E2E test for VM monitoring that metrics from Prometheus node-exporter.
  • Upgrade lombok to 1.18.16.
  • Add Java agent Dockerfile to build Docker image for Java agent.

Java Agent

  • Remove invalid mysql configuration in agent.config.
  • Add net.bytebuddy.agent.builder.AgentBuilder.RedefinitionStrategy.Listener to show detail message when redefine errors occur.
  • Fix ClassCastException of log4j gRPC reporter.
  • Fix NPE when Kafka reporter activated.
  • Enhance gRPC log appender to allow layout pattern.
  • Fix apm-dubbo-2.7.x-plugin memory leak due to some Dubbo RpcExceptions.
  • Fix lettuce-5.x-plugin get null host in redis sentinel mode.
  • Fix ClassCastException by making CallbackAdapterInterceptor to implement EnhancedInstance interface in the spring-kafka plugin.
  • Fix NullPointerException with KafkaProducer.send(record).
  • Support config agent.span_limit_per_segment can be changed in the runtime.
  • Collect and report agent starting / shutdown events.
  • Support jedis pipeline in jedis-2.x-plugin.
  • Fix apm-toolkit-log4j-2.x-activation no trace Id in async log.
  • Replace hbase-1.x-plugin with hbase-1.x-2.x-plugin to adapt hbase client 2.x
  • Remove the close_before_method and close_after_method parameters of custom-enhance-plugin to avoid memory leaks.
  • Fix bug that springmvc-annotation-4.x-plugin, witness class does not exist in some versions.
  • Add Redis command parameters to 'db.statement' field on Lettuce span UI for displaying more info.
  • Fix NullPointerException with ReactiveRequestHolder.getHeaders.
  • Fix springmvc reactive api can't collect HTTP statusCode.
  • Fix bug that asynchttpclient plugin does not record the response status code.
  • Fix spanLayer is null in optional plugin(gateway-2.0.x-plugin gateway-2.1.x-plugin).
  • Support @trace, @tag and @tags work for static methods.

OAP-Backend

  • Allow user-defined JAVA_OPTS in the startup script.
  • Metrics combination API supports abandoning results.
  • Add a new concept "Event" and its implementations to collect events.
  • Add some defensive codes for NPE and bump up Kubernetes client version to expose exception stack trace.
  • Update the timestamp field type for LogQuery.
  • Support Zabbix protocol to receive agent metrics.
  • Update the Apdex metric combine calculator.
  • Enhance MeterSystem to allow creating metrics with same metricName / function / scope.
  • Storage plugin supports postgresql.
  • Fix kubernetes.client.openapi.ApiException.
  • Remove filename suffix in the meter active file config.
  • Introduce log analysis language (LAL).
  • Fix alarm httpclient connection leak.
  • Add sum function in meter system.
  • Remove Jaeger receiver.
  • Remove the experimental Zipkin span analyzer.
  • Upgrade the Zipkin Elasticsearch storage from 6 to 7.
  • Require Zipkin receiver must work with zipkin-elasticsearch7 storage option.
  • Fix DatabaseSlowStatementBuilder statement maybe null.
  • Remove fields of parent entity in the relation sources.
  • Save Envoy http access logs when error occurs.
  • Fix wrong service_instance_sla setting in the topology-instance.yml.
  • Fix wrong metrics name setting in the self-observability.yml.
  • Add telemetry data about metrics in, metrics scraping, mesh error and trace in metrics to zipkin receiver.
  • Fix tags store of log and trace on h2/mysql/pg storage.
  • Merge indices by Metrics Function and Meter Function in Elasticsearch Storage.
  • Fix receiver don't need to get itself when healthCheck
  • Remove group concept from AvgHistogramFunction. Heatmap(function result) doesn't support labels.
  • Support metrics grouped by scope labelValue in MAL, no need global same labelValue as before.
  • Add functions in MAL to filter metrics according to the metric value.
  • Optimize the self monitoring grafana dashboard.
  • Enhance the export service.
  • Add function retagByK8sMeta and opt type K8sRetagType.Pod2Service in MAL for k8s to relate pods and services.
  • Using "service.istio.io/canonical-name" to replace "app" label to resolve Envoy ALS service name.
  • Support k8s monitoring.
  • Make the flushing metrics operation concurrent.
  • Fix ALS K8SServiceRegistry didn't remove the correct entry.
  • Using "service.istio.io/canonical-name" to replace "app" label to resolve Envoy ALS service name.
  • Append the root slash(/) to getIndex and getTemplate requests in ES(6 and 7) client.
  • Fix disable statement not working. This bug exists since 8.0.0.
  • Remove the useless metric in vm.yaml.

UI

  • Update selector scroller to show in all pages.
  • Implement searching logs with date.
  • Add nodejs 14 compiling.
  • Fix trace id by clear search conditions.
  • Search endpoints with keywords.
  • Fix pageSize on logs page.
  • Update echarts version to 5.0.2.
  • Fix instance dependency on the topology page.
  • Fix resolved url for vue-property-decorator.
  • Show instance attributes.
  • Copywriting grammar fix.
  • Fix log pages tags column not updated.
  • Fix the problem that the footer and topology group is shaded when the topology radiation is displayed.
  • When the topology radiation chart is displayed, the corresponding button should be highlighted.
  • Refactor the route mapping, Dynamically import routing components, Improve first page loading performance.
  • Support topology of two mutually calling services.
  • Implement a type of table chart in the dashboard.
  • Support event in the dashboard.
  • Show instance name in the trace view.
  • Fix groups of services in the topography.

Documentation

  • Polish documentation due to we have covered all tracing, logging, and metrics fields.
  • Adjust documentation about Zipkin receiver.
  • Add backend-infrastructure-monitoring doc.

All issues and pull requests are here

8.4.0

04 Feb 15:02
Compare
Choose a tag to compare

Download

https://skywalking.apache.org/downloads/

Notice

Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.

Project

  • Incompatible with previous releases when use H2/MySQL/TiDB storage options, due to support multiple alarm rules triggered for one entity.
  • Chore: adapt create_source_release.sh to make it runnable on Linux.
  • Add package to .proto files, prevent polluting top-level namespace in some languages; The OAP server supports previous agent releases, whereas the previous OAP server (<=8.3.0) won't recognize newer agents since this version (>= 8.4.0).
  • Add ElasticSearch 7.10 to test matrix and verify it works.
  • Replace Apache RAT with skywalking-eyes to check license headers.
  • Set up test of Envoy ALS / MetricsService under Istio 1.8.2 to verify Envoy V3 protocol
  • Test: fix flaky E2E test of Kafka.

Java Agent

  • The operation name of quartz-scheduler plugin, has been changed as the quartz-scheduler/${className} format.
  • Fix jdk-http and okhttp-3.x plugin did not overwrite the old trace header.
  • Add interceptors of method(analyze, searchScroll, clearScroll, searchTemplate and deleteByQuery) for elasticsearch-6.x-plugin.
  • Fix the unexpected RunningContext recreation in the Tomcat plugin.
  • Fix the potential NPE when trace_sql_parameters is enabled.
  • Update byte-buddy to 1.10.19.
  • Fix thrift plugin trace link broken when intermediate service does not mount agent
  • Fix thrift plugin collects wrong args when the method without parameter.
  • Fix DataCarrier's org.apache.skywalking.apm.commons.datacarrier.buffer.Buffer implementation isn't activated in IF_POSSIBLE mode.
  • Fix ArrayBlockingQueueBuffer's useless IF_POSSIBLE mode list
  • Support building gRPC TLS channel but CA file is not required.
  • Add witness method mechanism in the agent plugin core.
  • Add Dolphinscheduler plugin definition.
  • Make sampling still works when the trace ignores plug-in activation.
  • Fix mssql-plugin occur ClassCastException when call the method of return generate key.
  • The operation name of dubbo and dubbo-2.7.x-plugin, has been changed as the groupValue/className.methodName format
  • Fix bug that rocketmq-plugin set the wrong tag.
  • Fix duplicated EnhancedInstance interface added.
  • Fix thread leaks caused by the elasticsearch-6.x-plugin plugin.
  • Support reading segmentId and spanId with toolkit.
  • Fix RestTemplate plugin recording url tag with wrong port
  • Support collecting logs and forwarding through gRPC.
  • Support config agent.sample_n_per_3_secs can be changed in the runtime.
  • Support config agent.ignore_suffix can be changed in the runtime.
  • Support DNS periodic resolving mechanism to update backend service.
  • Support config agent.trace.ignore_path can be changed in the runtime.
  • Added support for transmitting logback 1.x and log4j 2.x formatted & un-formatted messages via gPRC

OAP-Backend

  • Make meter receiver support MAL.
  • Support influxDB connection response format option. Fix some error when use JSON as influxDB response format.
  • Support Kafka MirrorMaker 2.0 to replicate topics between Kafka clusters.
  • Add the rule name field to alarm record storage entity as a part of ID, to support multiple alarm rules triggered for one entity. The scope id has been removed from the ID.
  • Fix MAL concurrent execution issues.
  • Fix group name can't be queried in the GraphQL.
  • Fix potential gRPC connection leak(not closed) for the channels among OAP instances.
  • Filter OAP instances(unassigned in booting stage) of the empty IP in KubernetesCoordinator.
  • Add component ID for Python aiohttp plugin requester and server.
  • Fix H2 in-memory database table missing issues
  • Add component ID for Python pyramid plugin server.
  • Add component ID for NodeJS Axios plugin.
  • Fix searchService method error in storage-influxdb-plugin.
  • Add JavaScript component ID.
  • Fix CVE of UninstrumentedGateways in Dynamic Configuration activation.
  • Improve query performance in storage-influxdb-plugin.
  • Fix the uuid field in GRPCConfigWatcherRegister is not updated.
  • Support Envoy {AccessLog,Metrics}Service API V3.
  • Adopt the MAL in Envoy metrics service analyzer.
  • Fix the priority setting doesn't work of the ALS analyzers.
  • Fix bug that endpoint-name-grouping.yml is not customizable in Dockerized case.
  • Fix bug that istio version metric type on UI template mismatches the otel rule.
  • Improve ReadWriteSafeCache concurrency read-write performance
  • Fix bug that if use JSON as InfluxDB.ResponseFormat then NumberFormatException maybe occur.
  • Fix timeBucket not taking effect in EqualsAndHashCode annotation of some relationship metrics.
  • Fix SharingServerConfig's propertie is not correct in the application.yml, contextPath -> restConnextPath.
  • Istio control plane: remove redundant metrics and polish panel layout.
  • Fix bug endpoint name grouping not work due to setting service name and endpoint name out of order.
  • Fix receiver analysis error count metrics.
  • Log collecting and query implementation.
  • Support Alarm to feishu.
  • Add the implementation of ConfigurationDiscovery on the OAP side.
  • Fix bug in parseInternalErrorCode where some error codes are never reached.
  • OAL supports multiple values when as numeric.
  • Add node information from the Openensus proto to the labels of the samples, to support the identification of the source of the Metric data.
  • Fix bug that the same sample name in one MAL expression caused IllegalArgumentException in Analyzer.analyse.
  • Add the text analyzer for querying log in the es storage.
  • Chore: Remove duplicate codes in Envoy ALS handler.
  • Remove the strict rule of OAL disable statement parameter.
  • Fix a legal metric query adoption bug. Don't support global level metric query.
  • Add VM MAL and ui-template configration, support Prometheus node-exporter VM metrics that pushed from OpenTelemetry-collector.
  • Remove unused log query parameters.

UI

  • Fix un-removed tags in trace query.
  • Fix unexpected metrics name on single value component.
  • Don't allow negative value as the refresh period.
  • Fix style issue in trace table view.
  • Separation Log and Dashboard selector data to avoid conflicts.
  • Fix trace instance selector bug.
  • Fix Unnecessary sidebar in tooltips for charts.
  • Refactor dashboard query in a common script.
  • Implement refreshing data for topology by updating date.
  • Implement group selector in the topology.
  • Fix all as default parameter for services selector.
  • Add icon for Python aiohttp plugin.
  • Add icon for Python pyramid plugin.
  • Fix topology render all services nodes when groups changed.
  • Fix rk-footer utc input's width.
  • Update rk-icon and rewrite rk-header svg tags with rk-icon.
  • Add icon for http type.
  • Fix rk-footer utc without local storage.
  • Sort group names in the topology.
  • Add logo for Dolphinscheduler.
  • Fix dashboard wrong instance.
  • Add a legend for the topology.
  • Update the condition of unhealthy cube.
  • Fix: use icons to replace buttons for task list in profile.
  • Fix: support = in the tag value in the trace query page.
  • Add envoy proxy component logo.
  • Chore: set up license-eye to check license headers and add missing license headers.
  • Fix prop for instances-survey and endpoints-survey.
  • Fix envoy icon in topology.
  • Implement the service logs on UI.
  • Change the flask icon to light version for a better view of topology dark theme.
  • Implement viewing logs on trace page.
  • Fix update props of date component.
  • Fix query conditions for logs.
  • Fix style of selectors to word wrap.
  • Fix logs time.
  • Fix search ui for logs.

Documentation

  • Update the documents of backend fetcher and self observability about the latest configurations.
  • Add documents about the group name of service.
  • Update docs about the latest UI.
  • Update the document of backend trace sampling with the latest configuration.
  • Update kafka plugin support version to 2.6.1.
  • Add FAQ about Fix compiling on Mac M1 chip.

All issues and pull requests are here

8.3.0

02 Dec 13:55
Compare
Choose a tag to compare

Download

https://skywalking.apache.org/downloads/

Notice

Don't download source codes from this page.
Please follow build document, if you want to build source codes by yourself.

Project

  • Test: ElasticSearch version 7.0.0 and 7.9.3 as storage are E2E tested.
  • Test: Bump up testcontainers version to work around the Docker bug on MacOS.

Java Agent

  • Support propagate the sending timestamp in MQ plugins to calculate the transfer latency in the async MQ scenarios.
  • Support auto-tag with the fixed values propagated in the correlation context.
  • Make HttpClient 3.x, 4.x, and HttpAsyncClient 3.x plugins to support collecting HTTP parameters.
  • Make the Feign plugin to support Java 14
  • Make the okhttp3 plugin to support Java 14
  • Polish tracing context related codes.
  • Add the plugin for async-http-client 2.x
  • Fix NPE in the nutz plugin.
  • Provide Apache Commons DBCP 2.x plugin.
  • Add the plugin for mssql-jtds 1.x.
  • Add the plugin for mssql-jdbc 6.x -> 9.x.
  • Fix the default ignore mechanism isn't accurate enough bug.
  • Add the plugin for spring-kafka 1.3.x.
  • Add the plugin for Apache CXF 3.x.
  • Fix okhttp-3.x and async-http-client-2.x did not overwrite the old trace header.

OAP-Backend

  • Add the @SuperDataset annotation for BrowserErrorLog.
  • Add the thread pool to the Kafka fetcher to increase the performance.
  • Add contain and not contain OPS in OAL.
  • Add Envoy ALS analyzer based on metadata exchange.
  • Add listMetrics GraphQL query.
  • Add group name into services of so11y and istio relevant metrics
  • Support keeping collecting the slowly segments in the sampling mechanism.
  • Support choose files to active the meter analyzer.
  • Support nested class definition in the Service, ServiceInstance, Endpoint, ServiceRelation, and ServiceInstanceRelation sources.
  • Support sideCar.internalErrorCode in the Service, ServiceInstance, Endpoint, ServiceRelation, and ServiceInstanceRelation sources.
  • Improve Kubernetes service registry for ALS analysis.
  • Add health checker for cluster management
  • Support the service auto grouping.
  • Support query service list by the group name.
  • Improve the queryable tags generation. Remove the duplicated tags to reduce the storage payload.
  • Fix the threads of the Kafka fetcher exit if some unexpected exceptions happen.
  • Fix the excessive timeout period set by the kubernetes-client.
  • Fix deadlock problem when using elasticsearch-client-7.0.0.
  • Fix storage-jdbc isExists not set dbname.
  • Fix searchService bug in the InfluxDB storage implementation.
  • Fix CVE in the alarm module, when activating the dynamic configuration feature.
  • Fix CVE in the endpoint grouping, when activating the dynamic configuration feature.
  • Fix CVE in the uninstrumented gateways configs, when activating the dynamic configuration feature.
  • Fix CVE in the Apdex threshold configs, when activating the dynamic configuration feature.
  • Make the codes and doc consistent in sharding server and core server.
  • Fix that chunked string is incorrect while the tag contains colon.
  • Fix the incorrect dynamic configuration key bug of endpoint-name-grouping.
  • Remove unused min date timebucket in jdbc deletehistory logical
  • Fix "transaction too large error" when use TiDB as storage.
  • Fix "index not found" in trace query when use ES7 storage.
  • Add otel rules to ui template to observe Istio control plane.
  • Remove istio mixer
  • Support close influxdb batch write model.
  • Check SAN in the ALS (m)TLS process.

UI

  • Fix incorrect label in radial chart in topology.
  • Replace node-sass with dart-sass.
  • Replace serviceFilter with serviceGroup
  • Removed "Les Miserables" from radial chart in topology.
  • Add the Promise dropdown option

Documentation

  • Add VNode FAQ doc.
  • Add logic endpoint section in the agent setup doc.
  • Adjust configuration names and system environment names of the sharing server module
  • Tweak Istio metrics collection doc.
  • Add otel receiver.

All issues and pull requests are here