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 forLogQuery
. - Support Zabbix protocol to receive agent metrics.
- Update the Apdex metric combine calculator.
- Enhance
MeterSystem
to allow creating metrics with samemetricName
/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 thetopology-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 typeK8sRetagType.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