Commit Graph

108 Commits

Author SHA1 Message Date
吴晟 Wu Sheng 91413a753c
Start 9.1.0-dev iteration (#8822) 2022-04-06 18:56:49 +08:00
zhang-wei bfdbd55285
Add template of OpenFunction (#8789) 2022-04-02 18:03:43 +08:00
吴晟 Wu Sheng faf6e2eb9e
Add `Error Prone Annotations` dependency to suppress warnings (#8774) 2022-04-01 00:57:34 +08:00
Kai b57866eb67
Adjust MAL for V9 and update UI template (#8772)
* Add ui template custom folder.
Adjust MAL for V9, remove some group, add new Service func for custom delimiter .
Sync ui.

* changes.md

* fix e2e

* fix e2e

* Update CHANGES.md

* remove e2e oap istio-dp group

* remove  vm group

* fix

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2022-03-31 13:49:07 +08:00
吴晟 Wu Sheng d96eed9145
Fix event type of export data, reduce redundancy ThreadLocal in MAL core. (#8754)
* 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
2022-03-27 16:53:15 +08:00
吴晟 Wu Sheng d90e2e6ef6
Enhance endpoint dependency analysis to support cross threads cases. (#8747)
* [**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.
2022-03-26 20:00:12 +08:00
Oliver 547f1ede2d
remove redundant exception (#8738) 2022-03-25 14:37:08 +08:00
Kai 0dfb93a2d1
Insure span analyze isNormal and Layer consistent. (#8724) 2022-03-22 23:48:00 +08:00
吴晟 Wu Sheng d1f5b58f5c
[Breaking Change] Deprecate `All` from OAL source. (#8656)
* Add source `event` generated metrics to SERVICE_CATALOG_NAME catalog.
* [Breaking Change] Deprecate `All` from OAL source.
* [Breaking Change] Remove `SRC_ALL: 'All'` from OAL grammar tree.
* Remove `all_heatmap` and `all_percentile` metrics.
2022-03-10 22:36:22 +08:00
kezhenxu94 ffba719e2e
Add a new sampler (`possibility`) in LAL (#8591) 2022-02-25 20:44:00 +08:00
xu1009 b96cd377c9
Support ZGC metric is OAP and UI (#8425)
Co-authored-by: litexu <litexu@tencent.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2022-01-13 23:25:25 +08:00
zhang-wei e6be0b8637
Add faas to SpanLayer (#8408) 2022-01-13 20:44:32 +08:00
吴晟 Wu Sheng 40bec82e30
Follow protocol grammar fix `GCPhrase -> GCPhase` (#8420)
* Follow protocol grammar fix `GCPhrase -> GCPhase`

* Fix doc.
2022-01-13 00:49:19 +08:00
zhang-wei 250f92d09c
Add source layer and dest layer to relation (#8419) 2022-01-12 23:17:33 +08:00
wankai123 8bcf22f3d8
Support OAP server v9 Core concept: Layer, backend side (#8379) 2022-01-04 16:16:24 +08:00
吴晟 Wu Sheng 1fdf3a8acf
Set version to 9.0.0-snapshot (#8242) 2021-12-06 10:04:20 +08:00
吴晟 Wu Sheng e7d6f89021
Set the version to 8.10.0, 8.9.0 release is in process. (#8233) 2021-12-02 18:54:21 +08:00
kezhenxu94 973fba0805
Add filter mechanism in MAL core and fix some bugs (#8157) 2021-11-19 23:33:35 +08:00
Kirs f7bcb76784
move the codes in apm-commons into server-library (#8003) 2021-10-26 20:31:36 +08:00
mrproliu 605ca03884
support negative infinity bucket in meter system (#7930) 2021-10-15 17:47:44 +08:00
吴晟 Wu Sheng fc0d0e1e7b
Message Queue performance and consuming latency monitoring (#7918)
* 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
2021-10-13 20:20:36 +08:00
吴晟 Wu Sheng 9d8a774b6a
Enhance `get` generation mechanism of OAL engine, support map type of source's field. (#7904) 2021-10-11 21:04:06 +08:00
吴晟 Wu Sheng 8b681053df
Begin 8.9.0 iteration (#7801)
* [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
2021-09-25 23:46:18 +08:00
吴晟 Wu Sheng b7ba282a58
Fix entity naming mechanism failure in MAL (#7790) 2021-09-24 19:34:56 +08:00
kezhenxu94 26b81a2e59
Rebuilt ElasticSearch client on top of their REST API (#7634) 2021-09-06 15:21:35 +08:00
wankai123 eb7fae2ef2
Fix dynamic configuration watch implementation current value not null when the config is deleted. (#7606)
* 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>
2021-08-30 18:20:25 +08:00
HendSame 1c0fc982b2
Support configure sampling rate dynamically for service dimension on the backend side (#7554) 2021-08-30 14:52:20 +08:00
wankai123 abcd87f811
Support collection type in dynamic configuration core and add zookeeper implementation (#7509)
* Support grouped dynamic configurations in DCS.
Support zookeeper grouped dynamic configurations.

* change to @Slf4j

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2021-08-23 18:09:33 +08:00
kezhenxu94 09cc0f96a7
Harden the security of Groovy-based DSL, MAL and LAL (#7485) 2021-08-18 18:17:43 +08:00
kezhenxu94 1af2e46e33
Add a new API to test log analysis language (#7475) 2021-08-18 16:40:25 +08:00
CharliePu 39d23c1678
Remove the duplicated tags to reduce the storage payload. (#7469) 2021-08-17 18:01:56 +08:00
wallezhang 4b66f1e0a7
fix: Fix MultiScopesAnalysisListener#setPublicAttrs log warn frequently (#7271)
* 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>
2021-08-14 20:17:46 +08:00
吴晟 Wu Sheng 6a241aed75
[Break Change] Remove endpoint name in backend log and browser log query (#7444)
* Remove page path in the browser log query condition.

* Remove endpoint name in the backend log query condition.
2021-08-12 09:44:19 +08:00
吴晟 Wu Sheng de6cae3429
[Break Change] Remove endpoint name in the trace query condition. (#7438)
* [Break Change] Remove endpoint name in the trace query condition.

* Fix a local UT error(MacOS only)
2021-08-11 16:27:10 +08:00
吴晟 Wu Sheng cc66254729
Remove statement, version, and endtime from segment entity. (#7427) 2021-08-10 00:05:06 +08:00
wankai123 4e7d80fb88
Support Metric level function `serviceRelation` in `MAL` and binding envoy metrics into the topology. (#7399)
* 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>
2021-08-06 17:09:13 +08:00
吴晟 Wu Sheng 1c5e22a7be
Begin 8.8.0 iteration (#7395)
* [maven-release-plugin] prepare release v8.7.0

* [maven-release-plugin] prepare for next development iteration
2021-07-30 23:01:09 +08:00
kezhenxu94 65e8ab3ecc
Log rate limit sampler rename `qps` to `rpm` (#7384) 2021-07-29 18:11:07 +08:00
Huang bf0e22d2c1
Fix IllegalArgumentException in PrometheusMetricConverter and NaN value samples in SampleFamily (#7349) 2021-07-21 23:14:49 +08:00
kezhenxu94 982001c63a
perf: optimize Envoy access log persistence performance (#7290) 2021-07-13 18:44:52 +08:00
kezhenxu94 fd92f4678a
perf: optimize Groovy-based LAL DSL with static compilation (#7263)
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.
2021-07-09 18:00:25 +08:00
Switch 4067fba2ab
Add some new thread metric and class metric to JVMMetric (#7230) (#7243) 2021-07-07 16:30:55 +08:00
kezhenxu94 84a7fe30c8
Perf: cache regex pattern and result, optimize string concatenation (#7199)
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.
2021-06-29 17:46:42 +08:00
zhyyu b8fadec033
fix slow db dynamic config bug (#7192) 2021-06-29 16:41:01 +08:00
liqiangz d63f3ffcc1
revert #7091 (#7189) 2021-06-28 21:05:28 +08:00
Daming d8a5e8c15b
eliminate `now` error at a fixed rate schedule executor (#7145) 2021-06-24 09:24:48 +08:00
kezhenxu94 3536b3c1c4
Extract dependency management to a bom (#7136) 2021-06-20 20:57:26 +08:00
kezhenxu94 528ee6de40
OAL supports generating metrics from events (#7134)
* OAL supports generating metrics from events

* Add new dashboard for event metrics

* Add some docs for event metrics
2021-06-19 20:20:37 +08:00
liqiangz 7a3355f956
Use MAL to calculate JVM metrics, remove OAL dependency. (#7091) 2021-06-11 22:21:10 +08:00
吴晟 Wu Sheng 5eb1021639
Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00