changes.md 10.3 KB
Newer Older
1
## 9.3.0
2

3
#### Project
4

5 6
* Bump up the embedded `swctl` version in OAP Docker image.

7
#### OAP Server
8

9
* Add component ID(133) for impala JDBC Java agent plugin and component ID(134) for impala server.
10
* Use prepareStatement in H2SQLExecutor#getByIDs.(No function change).
K
kezhenxu94 已提交
11
* Bump up snakeyaml to 1.32 for fixing CVE.
12
* Fix `DurationUtils.convertToTimeBucket` missed verify date format.
13
* Enhance LAL to support converting LogData to DatabaseSlowStatement.
14
* [**Breaking Change**] Change the LAL script format(Add layer property).
15
* Adapt ElasticSearch 8.1+, migrate from removed APIs to recommended APIs.
16
* Support monitoring MySQL slow SQLs.
17
* Support analyzing cache related spans to provide metrics and slow commands for cache services from client side
18
* Optimize virtual database, fix dynamic config watcher NPE when default value is null
19 20 21
* Remove physical index existing check and keep template existing check only to avoid meaningless `retry wait`
  in `no-init` mode.
* Make sure instance list ordered in TTL processor to avoid TTL timer never runs.
22
* Support monitoring PostgreSQL slow SQLs.
23 24 25 26
* [**Breaking Change**] Support sharding MySQL database instances and tables
  by [Shardingsphere-Proxy](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-proxy).
  SQL-Database requires removing tables `log_tag/segment_tag/zipkin_query` before OAP starts, if bump up from previous
  releases.
wu-sheng's avatar
wu-sheng 已提交
27
* Fix meter functions `avgHistogram`, `avgHistogramPercentile`, `avgLabeled`, `sumHistogram` having data conflict when
wu-sheng's avatar
wu-sheng 已提交
28
  downsampling.
wu-sheng's avatar
wu-sheng 已提交
29
* Do sorting `readLabeledMetricsValues` result forcedly in case the storage(database) doesn't return data consistent
wu-sheng's avatar
wu-sheng 已提交
30
  with the parameter list.
31 32
* Fix the wrong watch semantics in Kubernetes watchers, which causes heavy traffic to API server in some Kubernetes
  clusters,
33
  we should use `Get State and Start at Most Recent` semantic instead of `Start at Exact`
34 35
  because we don't need the changing history events,
  see https://kubernetes.io/docs/reference/using-api/api-concepts/#semantics-for-watch.
36
* Unify query services and DAOs codes time range condition to `Duration`.
37 38 39 40 41 42 43 44
* [**Breaking Change**]: Remove prometheus-fetcher plugin, please use OpenTelemetry to scrape Prometheus metrics and
  set up SkyWalking OpenTelemetry receiver instead.
* BugFix: histogram metrics sent to MAL should be treated as OpenTelemetry style, not Prometheus style:
  ```
  (-infinity, explicit_bounds[i]] for i == 0
  (explicit_bounds[i-1], explicit_bounds[i]] for 0 < i < size(explicit_bounds)
  (explicit_bounds[i-1], +infinity) for i == size(explicit_bounds)
  ```
45
* Support Golang runtime metrics analysis.
P
pg.yang 已提交
46
* Add APISIX metrics monitoring
47 48 49
* Support skywalking-client-js report empty `service version` and `page path` , set default version as `latest` and
  default page path as `/`(root). Fix the
  error `fetching data (/browser_app_page_pv0) : Can't split endpoint id into 2 parts`.
50 51 52
* [**Breaking Change**] Limit the max length of trace/log/alarm tag's `key=value`, set the max length of column `tags`
  in tables`log_tag/segment_tag/alarm_record_tag` and column `query` in `zipkin_query` and column `tag_value` in `tag_autocomplete` to 256.
  SQL-Database requires altering these columns' length or removing these tables before OAP starts, if bump up from previous releases.
53 54 55 56 57 58 59 60 61 62
* Optimize the creation conditions of profiling task.
* Lazy load the Kubernetes metadata and switch from event-driven to polling.
  Previously we set up watchers to watch the Kubernetes metadata changes, this is perfect when there are deployments changes and
  SkyWalking can react to the changes in real time. However when the cluster has many events (such as in large cluster
  or some special Kubernetes engine like OpenShift), the requests sent from SkyWalking becomes unpredictable, i.e. SkyWalking might
  send massive requests to Kubernetes API server, causing heavy load to the API server.
  This PR switches from the watcher mechanism to polling mechanism, SkyWalking polls the metadata in a specified interval,
  so that the requests sent to API server is predictable (~10 requests every `interval`, 3 minutes), and the requests count is constant
  regardless of the cluster's changes. However with this change SkyWalking can't react to the cluster changes in time, but the delay
  is acceptable in our case.
63
* Optimize the query time of tasks in ProfileTaskCache.
B
Brandon Fergerson 已提交
64
* Fix metrics was put into wrong slot of the window in the alerting kernel.
65
* Support `sumPerMinLabeled` in `MAL`.
66
* Bump up jackson databind, snakeyaml, grpc dependencies.
67
* Support export `Trace` and `Log` through Kafka.
68
* Add new config initialization mechanism of module provider. This is a ModuleManager lib kernel level change.
69 70
* [**Breaking Change**] Support new records query protocol, rename the column named `service_id` to `entity_id` for support difference entity.
  Please re-create `top_n_database_statement` index/table.
71
* Remove improper self-obs metrics in JvmMetricsHandler(for Kafka channel).
72
* gRPC stream canceling code is not logged as an error when the client cancels the stream. The client
73
  cancels the stream when the pod is terminated.
74 75
* [**Breaking Change**] Change the way of loading MAL rules(support pattern).
* Move k8s relative MAL files into `/otel-rules/k8s`.
76 77 78 79
* [**Breaking Change**] Refactor service mesh protobuf definitions and split TCP-related metrics to individual definition.
* Add `TCP{Service,ServiceInstance,ServiceRelation,ServiceInstanceRelation}` sources and split TCP-related entities out from
  original `Service,ServiceInstance,ServiceRelation,ServiceInstanceRelation`.
* [**Breaking Change**] TCP-related source names are changed, fields of TCP-related sources are changed, please refer to the latest `oal/tcp.oal` file.
80
* Do not log error logs when failed to create ElasticSearch index because the index is created already.
81
* Add virtual MQ analysis for native traces.
82
* Support Python runtime metrics analysis.
83 84
* Support `sampledTrace` in LAL.
* Support multiple rules with different names under the same layer of LAL script.
85
* (Optimization) Reduce the buffer size(queue) of MAL(only) metric streams. Set L1 queue size as 1/20, L2 queue size as 1/2.
86 87 88 89 90 91 92 93 94 95 96 97 98
* [**Breaking Change**] Migrate to BanyanDB v0.2.0.
  * Adopt new OR logical operator for,
    1. `MeasureIDs` query
    2. `BanyanDBProfileThreadSnapshotQueryDAO` query
    3. Multiple `Event` conditions query
    4. Metrics query
  * Simplify Group check and creation
  * Partially apply `UITemplate` changes
  * Support `index_only`
  * Return `CompletableFuture<Void>` directly from BanyanDB client
  * Optimize data binary parse methods in *LogQueryDAO
  * Support different indexType
  * Support configuration for TTL and (block|segment) intervals
99 100
* Elasticsearch storage: Provide system environment variable(`SW_STORAGE_ES_SPECIFIC_INDEX_SETTINGS`) and support specify the settings `(number_of_shards/number_of_replicas)` for each index individually.
* Elasticsearch storage: Support update index settings `(number_of_shards/number_of_replicas)` for the index template after rebooting.
101 102 103
* Optimize MQ Topology analysis. Use entry span's peer from the consumer side as source service when no producer instrumentation(no cross-process reference).
* Refactor JDBC storage implementations to reuse logics.
* Fix `ClassCastException` in `LoggingConfigWatcher`.
104 105
* Support span attached event concept in Zipkin and SkyWalking trace query.
* Support span attached events on Zipkin lens UI.
106
* Force UTF-8 encoding in `JsonLogHandler` of `kafka-fetcher-plugin`.
107

F
Fine0830 已提交
108 109
#### UI

110
* Fix: tab active incorrectly, when click tab space
111
* Add impala icon for impala JDBC Java agent plugin.
112
* (Webapp)Bump up snakeyaml to 1.31 for fixing CVE-2022-25857
113 114 115 116
* [Breaking Change]: migrate from Spring Web to Armeria, now you should use the environment variable
  name `SW_OAP_ADDRESS`
  to change the OAP backend service addresses, like `SW_OAP_ADDRESS=localhost:12800,localhost:12801`, and use
  environment
117
  variable `SW_SERVER_PORT` to change the port. Other Spring-related configurations don't take effect anymore.
F
Fine0830 已提交
118 119 120 121
* Polish the endpoint list graph.
* Fix styles for an adaptive height.
* Fix setting up a new time range after clicking the refresh button.
* Enhance the process topology graph to support dragging nodes.
122
* UI-template: Fix metrics calculation in `general-service/mesh-service/faas-function` top-list dashboard.
123
* Update MySQL dashboard to visualize collected slow SQLs.
F
Fine0830 已提交
124
* Add virtual cache dashboard.
125
* Remove `responseCode` fields of all OAL sources, as well as examples to avoid user's confusion.
126 127
* Remove All from the endpoints selector.
* Enhance menu configurations to make it easier to change.
128
* Update PostgreSQL dashboard to visualize collected slow SQLs.
F
Fine0830 已提交
129 130 131 132 133 134 135 136 137 138
* Add Golang runtime metrics and cpu/memory used rate panels in General-Instance dashboard.
* Add gateway apisix menu.
* Query logs with the specific service ID.
* Bump d3-color from 3.0.1 to 3.1.0.
* Add Golang runtime metrics and cpu/memory used rate panels in FaaS-Instance dashboard.
* Revert logs on trace widget.
* Add a sub-menu for virtual mq.
* Add `readRecords` to metric types.
* Verify dashboard names for new dashboards.
* Associate metrics with the trace widget on dashboards.
F
Fine0830 已提交
139 140 141
* Fix configuration panel styles.
* Remove a un-use icon.
* Support labeled value on the service/instance/endpoint list widgets.
F
Fine0830 已提交
142 143 144 145 146 147 148
* Add menu for virtual MQ.
* Set selector props and update configuration panel styles.
* Add Python runtime metrics and cpu/memory utilization panels to General-Instance and Fass-Instance dashboards.
* Enhance the legend of metrics graph widget with the summary table.
* Add apache eventMesh logo file.
* Fix conditions for trace profiling  bugSomething isn't working.
* Fix tag keys list and duration condition.
149

wu-sheng's avatar
wu-sheng 已提交
150
#### Documentation
151

152
* Add `metadata-uid` setup doc about Kubernetes coordinator in the cluster management.
153
* Add a doc for adding menus to booster UI.
wu-sheng's avatar
wu-sheng 已提交
154 155 156
* Move general good read blogs from `Agent Introduction` to `Academy`.
* Add re-post for blog `Scaling with Apache SkyWalking` in the academy list.
* Add re-post for blog `Diagnose Service Mesh Network Performance with eBPF` in the academy list.
157
* Add **Security Notice** doc.
158 159
* Add new docs for `Report Span Attached Events` data collecting protocol.
* Add new docs for `Record` query protocol
160
* Update `Server Agents` and `Compatibility` for PHP agent.
161

162
All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/149?closed=1)