Skip to content

Releases: apache/skywalking

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

8.2.0

27 Oct 12:52
5d840e4
Compare
Choose a tag to compare

Download

http://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

  • Support Browser monitoring.
  • Add e2e test for ALS solution of service mesh observability.
  • Support compiling(include testing) in JDK11.
  • Support build a single module.

Java Agent

  • Support metrics plugin.
  • Support slf4j logs of gRPC and Kafka(when agent uses them) into the agent log files.
  • Add PROPERTIES_REPORT_PERIOD_FACTOR config to avoid the properties of instance cleared.
  • Limit the size of traced SQL to avoid OOM.
  • Support mount command to load a new set of plugins.
  • Add plugin selector mechanism.
  • Enhance the witness classes for MongoDB plugin.
  • Enhance the parameter truncate mechanism of SQL plugins.
  • Enhance the SpringMVC plugin in the reactive APIs.
  • Enhance the SpringMVC plugin to collect HTTP headers as the span tags.
  • Enhance the Kafka plugin, about @KafkaPollAndInvoke
  • Enhance the configuration initialization core. Plugin could have its own plugins.
  • Enhance Feign plugin to collect parameters.
  • Enhance Dubbo plugin to collect parameters.
  • Provide Thrift plugin.
  • Provide XXL-job plugin.
  • Provide MongoDB 4.x plugin.
  • Provide Kafka client 2.1+ plugin.
  • Provide WebFlux-WebClient plugin.
  • Provide ignore-exception plugin.
  • Provide quartz scheduler plugin.
  • Provide ElasticJob 2.x plugin.
  • Provide Spring @scheduled plugin.
  • Provide Spring-Kafka plugin.
  • Provide HBase client plugin.
  • Provide JSON log format.
  • Move Spring WebFlux plugin to the optional plugin.
  • Fix inconsistent logic bug in PrefixMatch
  • Fix duplicate exit spans in Feign LoadBalancer mechanism.
  • Fix the target service blocked by the Kafka reporter.
  • Fix configurations of Kafka report don't work.
  • Fix rest template concurrent conflict.
  • Fix NPE in the ActiveMQ plugin.
  • Fix conflict between Kafka reporter and sampling plugin.
  • Fix NPE in the log formatter.
  • Fix span layer missing in certain cases, in the Kafka plugin.
  • Fix error format of time in serviceTraffic update.
  • Upgrade bytebuddy to 1.10.14

OAP-Backend

  • Support Nacos authentication.
  • Support labeled meter in the meter receiver.
  • Separate UI template into multiple files.
  • Provide support for Envoy tracing. Envoy tracer depends on the Envoy community.
  • Support query trace by tags.
  • Support composite alarm rules.
  • Support alarm messages to DingTalk.
  • Support alarm messages to WeChat.
  • Support alarm messages to Slack.
  • Support SSL for Prometheus fetcher and self telemetry.
  • Support labeled histogram in the prometheus format.
  • Support the status of segment based on entry span or first span only.
  • Support the error segment in the sampling mechanism.
  • Support SSL certs of gRPC server.
  • Support labeled metrics in the alarm rule setting.
  • Support to query all labeled data, if no explicit label in the query condition.
  • Add TLS parameters in the mesh analysis.
  • Add health check for InfluxDB storage.
  • Add super dataset concept for the traces/logs.
  • Add separate replicas configuration for super dataset.
  • Add IN operator in the OAL.
  • Add != operator in the OAL.
  • Add like operator in the OAL.
  • Add latest function in the prometheus analysis.
  • Add more configurations in the gRPC server.
  • Optimize the trace query performance.
  • Optimize the CPU usage rate calculation, at least to be 1.
  • Optimize the length of slow SQL column in the MySQL storage.
  • Optimize the topology query, use client side component name when no server side mapping.
  • Add component IDs for Python component.
  • Add component ID range for C++.
  • Fix Slack notification setting NPE.
  • Fix some module missing check of the module manager core.
  • Fix authentication doesn't work in sharing server.
  • Fix metrics batch persistent size bug.
  • Fix trace sampling bug.
  • Fix CLR receiver bug.
  • Fix end time bug in the query process.
  • Fix Exporter INCREMENT mode is not working.
  • Fix an error when executing startup.bat when the log directory exists
  • Add syncBulkActions configuration to set up the batch size of the metrics persistent.
  • Meter Analysis Language.

UI

  • Add browser dashboard.
  • Add browser log query page.
  • Support query trace by tags.
  • Fix JVM configuration.
  • Fix CLR configuration.

Document

  • Add the document about SW_NO_UPSTREAM_REAL_ADDRESS.
  • Update ALS setup document.
  • Add Customization Config section for plugin development.

All issues and pull requests are here

8.1.0

03 Aug 05:21
Compare
Choose a tag to compare

Download

http://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

  • Support Kafka as an optional trace, JVM metrics, profiling snapshots and meter system data transport layer.
  • Support Meter system, including the native metrics APIs and the Spring Sleuth adoption.
  • Support JVM thread metrics.

Java Agent

  • [Core] Fix the concurrency access bug in the Concurrency ClassLoader Case.
  • [Core] Separate the config of the plugins from the core level.
  • [Core] Support instrumented class cached in memory or file, to be compatible with other agents, such as Arthas.
  • Add logic endpoint concept. Could analysis any span or tags flagged by the logic endpoint.
  • Add Spring annotation component name for UI visualization only.
  • Add support to trace Call procedures in MySQL plugin.
  • Support GraphQL plugin.
  • Support Quasar fiber plugin.
  • Support InfluxDB java client plugin.
  • Support brpc java plugin
  • Support ConsoleAppender in the logback v1 plugin.
  • Enhance vert.x endpoint names.
  • Optimize the code to prevent mongo statements from being too long.
  • Fix WebFlux plugin concurrency access bug.
  • Fix ShardingSphere plugins internal conflicts.
  • Fix duplicated Spring MVC endpoint.
  • Fix lettuce plugin sometimes trace doesn‘t show span layer.
  • Fix @Tag returnedObject bug.

OAP-Backend

  • Support Jetty Server advanced configurations.
  • Support label based filter in the prometheus fetcher and OpenCensus receiver.
  • Support using k8s configmap as the configuration center.
  • Support OAP health check, and storage module health check.
  • Support sampling rate in the dynamic configuration.
  • Add endpoint_relation_sla and endpoint_relation_percentile for endpoint relationship metrics.
  • Add components for Python plugins, including Kafka, Tornado, Redis, Django, PyMysql.
  • Add components for Golang SDK.
  • Add Nacos 1.3.1 back as an optional cluster coordinator and dynamic configuration center.
  • Enhance the metrics query for ElasticSearch implementation to increase the stability.
  • Reduce the length of storage entity names in the self-observability for MySQL and TiDB storage.
  • Fix labels are missing in Prometheus analysis context.
  • Fix column length issue in MySQL/TiDB storage.
  • Fix no data in 2nd level aggregation in self-observability.
  • Fix searchService bug in ES implementation.
  • Fix wrong validation of endpoint relation entity query.
  • Fix the bug caused by the OAL debug flag.
  • Fix endpoint dependency bug in MQ and uninstrumented proxy cases.
  • Fix time bucket conversion issue in the InfluxDB storage implementation.
  • Update k8s client to 8.0.0

UI

  • Support endpoint dependency graph.
  • Support x-scroll of trace/profile page
  • Fix database selector issue.
  • Add the bar chart in the UI templates.

Document

  • Update the user logo wall.
  • Add backend configuration vocabulary document.
  • Add agent installation doc for Tomcat9 on Windows.
  • Add istioctl ALS commands for the document.
  • Fix TTL documentation.
  • Add FAQ doc about thread instrumentation.

CVE

  • Fix fuzzy query sql injection in the MySQL/TiDB storage.

All issues and pull requests are here

8.0.1

21 Jun 02:39
Compare
Choose a tag to compare

Download

http://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-Backend

  • Fix no-init mode is not working in ElasticSearch storage.