8.5.0

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