* Fix event type of export data is incorrect, it was `EventType.TOTAL` always.
* Reduce redundancy ThreadLocal in MAL core. Improve MAL performance.
* ExpressionDelegate public->private
* [**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.
-----------
In our showcase and Java agent scenarios, there are several cross-thread tracing cases, we were not generating endpoint dependency if ref exists in local and exit span. In this PR, I am adding this missing part back.
Also, in case the downstream endpoint of the dependency is another local/exit span's operation name, which was not generating endpoint traffic before, I add traffic generation of both sides' endpoints of dependency.
Another important point that drives me to fix this is, in the new Booster UI, metrics of endpoint dependency are shown in a separate dashboard, which requires the endpoints of both sides existing in metadata, otherwise, nothing shows up.
For e2e, updated the Java agent to the latest.
* 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.
* Document with a new menu in the `tracing` catalog is added
* [maven-release-plugin] prepare release v8.8.0
* [maven-release-plugin] prepare for next development iteration
* Create changes-8.8.0.md
* Reset changelog for 8.9.0
* Fix dynamic configuration watch implementation current value not null when the config is deleted.
* add changes.md
* fix LoggingConfigWatcher watch.vale, and when value = null ,config not reset.
* fix
* fix style
* Update oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/UninstrumentedGatewaysConfig.java
Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
* use Strings.nullToEmpty
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
* fix: Fix MultiScopesAnalysisListener#setPublicAttrs log warn frequently. #6562
1. Rename current STATUS_CODE to HTTP_RESPONSE_STATUS_CODE, real tag key should be http.status_code.
2. Add a new string tag RPC_RESPONSE_STATUS_CODE to hold all string type value tag. The key is `rpc.status_code`.
3. At the backend, keep responseCode for HTTP_RESPONSE_STATUS_CODE tag, but add @Deprecated. Also, add httpResponseStatusCode(a duplicate of responseCode) and rpcStatusCode(for RPC_RESPONSE_STATUS_CODE) fields for OAL.
* Modify `Tags.STATUS_CODE` field name to `Tags.HTTP_RESPONSE_STATUS_CODE` and type from `StringTag` to `IntegerTag`, add `Tags.RPC_RESPONSE_STATUS_CODE` field to hold rpc response code value.
* Add `rpcStatusCode` for `rpc.status_code` tag in the OAL objects. The `responseCode` field is marked as deprecated and replaced by `httpResponseStatusCode` field.
* Tag `status_code` is still supported in the backend for forward compatbility. Will be removed one year later.
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
* Support Metric level function `serviceRelation` in `MAL`.
* Support envoy metrics binding into the topology.
* add istio args
* remove istio 1.7
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: Jared Tan <jian.tan@daocloud.io>
Co-authored-by: Zhenxu <kezhenxu94@apache.org>
Groovy naturally supports many dynamic features that we don't benefit for now but cost performance loss, in this patch we compile our Groovy-based DSL scripts statically to optimize performance.
The possible metrics names are relatively fixed in an OAP run, we previously always escape the metrics names, building a new regex Pattern from scratch, which is cpu-consuming.
In this patch, I cache the escaped metrics names, and if it missed, use a pre-compiled regex Pattern to escape the metrics name.
This patch also replace string concatenation `+` with `StringBuilder` in generated classes, which won't get optimized by Java compiler
This may reduce 1~1.5 vCPU under 20K RPS environment.