Commit Graph

233 Commits

Author SHA1 Message Date
Switch 68e699550d
Add Thread and ClassLoader Metrics for the self-observability and otel-oc-rules (#7367)
* Add Thread and ClassLoader Metrics for the self-observability

* update CHANGES.md

* update OC receiver MAL settings
2021-07-25 07:32:03 +08:00
吴晟 Wu Sheng bd23f263e6
Revert "Adjust the project structure of the alarm module" (#7342)
This reverts commit 62411964a4.
2021-07-20 19:47:22 +08:00
Jared Tan 62411964a4
update (#7340) 2021-07-20 16:27:26 +08:00
Cool-Coding 467a95b61d
Fix the problem of -meters metrics topic isn't created with namespace prefix (#7325) (#7330) 2021-07-19 14:58:24 +08:00
吴晟 Wu Sheng a6afcac86e
Logically revert #6642 and partial #7153 to reduce unnecessary thread and concurrency process (#7318)
The key logic behinds all these is, metrics persistence is fully asynchronous.

* 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). The only concurrency of prepare stage is meaningful and kept.
* Remove the outside preparedRequest list initialization, worker instance could always build a suitable size list in the first place (Reduce Array.copy and GC load a little).
2021-07-17 16:03:50 +08:00
wankai123 9f3ff517d1
Support envoy cluster manager metrics (#7294) 2021-07-16 15:35:48 +08:00
吴晟 Wu Sheng 8df362b929
Adjust ElasticSearch index refresh period as INT(flushInterval * 2/3) (#7310)
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.

This PR should avoid the following exception in the low load case, especially when bulkActions is set larger than the number of a metric type.
2021-07-16 12:10:35 +08:00
吴晟 Wu Sheng de975c7e2b
Remove synchronous persistence mechanism in API level and ElasticSearch implementation (#7293)
* 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)

Add these 2 references. According to these, **(same _index, _type and _id) in same bulk will be in order**
1. https://github.com/elastic/elasticsearch/issues/50199
2. https://discuss.elastic.co/t/order-of--bulk-request-operations/98124

Notice, the order of different bulks is not guaranteed by the ElasticSearch cluster. We are going to have the risk of dirty write. But consider we set over 20s period between flush, and index flush period is 10, we should be safe.

Recommend 5000 bulk size and 15s flush interval only. The persistent period has been set to 25s.
2021-07-14 17:19: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
whl12345 9e022d1a73
Provide plugin for Guava Cache (#7235) 2021-07-08 11:58:09 +08:00
Switch 4067fba2ab
Add some new thread metric and class metric to JVMMetric (#7230) (#7243) 2021-07-07 16:30:55 +08:00
Sergi Castro d15b67bd97
Allow configuring max request header size (#7249)
* Allow configuring max request header size

This allows configuring the HTTP max request header size from the jetty
server.
By default it uses 8192, the same jetty default.
2021-07-06 15:10:15 +08:00
Daming 5dd56a5ca4
Upgrade etcd cluster coordinator and dynamic configuration to v3.x (#7215) 2021-07-05 11:23:11 +08:00
liqiangz 0f62d9289f
Add agent plugin to support Sentinel (#7190) 2021-07-03 00:20:14 +08:00
吴晟 Wu Sheng f32d3d0720
Enhance the storage session mechanism (#7221) 2021-07-01 23:25:52 +08:00
吴晟 Wu Sheng 536b7d2328
Support connectTimeout and socketTimeout settings (#7214) 2021-07-01 08:20:59 +08:00
吴晟 Wu Sheng 50a0bcbf73
Optimize L1 aggregation, enhance gRPC client between L1 and L2 aggregation. (#7206)
1.0Performance: Add L1 aggregation flush period, which reduces the CPU load and helps young GC.

2. Replace do not direct send after the first aggregation to reduce the network #6400.

3. Enhance the DataCarrier to notify the consumer in no enqueue event in short term.

4. L1 aggregation flush period still works even no further metrics generated, powered by <3>

5. Fix gRPC remote client OOM. The concurrency control mechanism failed.
2021-06-30 19:14:20 +08:00
Alvin a966eea35c
Support prepare and save metrics concurrency (#7153) 2021-06-29 14:34:29 +08:00
liqiangz d63f3ffcc1
revert #7091 (#7189) 2021-06-28 21:05:28 +08:00
Tomasz Pytel 8a25ac6229
Python celery plugin (#7159) 2021-06-22 22:05:33 +08:00
wallezhang 1bc69370bf
feat: add neo4j-4.x-plugin (#7099) 2021-06-22 15:36:51 +08:00
wankai123 19a068d708
Feature: support endpoint name grouping by OpenAPI definitions. (#7130) 2021-06-20 07:57:10 +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
Tomasz Pytel 76b3bece2b
add component id for python Psycopg -> PostgreSQL (#7125) 2021-06-17 06:30:52 +08:00
liqiangz 7a3355f956
Use MAL to calculate JVM metrics, remove OAL dependency. (#7091) 2021-06-11 22:21:10 +08:00
mrproliu 553dd7c061
Disable spring sleuth analyzer by default (#7106) 2021-06-11 16:59:57 +08:00
吴晟 Wu Sheng 5eb1021639
Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
Zhenxu f742142ca3
Add UI templates (#7013) 2021-05-28 14:35:27 +08:00
Zhenxu 1c51550830
Remove inexisting config item and doc (#7033) 2021-05-28 08:14:04 +08:00
Daming 9701bd0944
Make the number of core worker in meter converter thread pool configurable (#7027) 2021-05-27 23:10:22 +08:00
Zhenxu 68b918e3cd
Events can be configured as alarm source (#7028) 2021-05-27 18:04:21 +08:00
hailin0 47fef5df22
Support native-json format log in kafka-fetcher-plugin (#6952) 2021-05-20 16:33:44 +08:00
Tomasz Pytel d56b0b0d41
add Azure Functions http trigger component ID (#6953) 2021-05-16 07:21:06 +08:00
Zhenxu Ke 85a993faf5
Allow multiple definitions as fallback in metadata-service-mapping.yaml file (#6933) 2021-05-13 06:53:05 +08:00
Zhenxu Ke 94adbf1c1f
Bump Kubernetes client-java version (#6920) 2021-05-10 05:07:09 +08:00
Zhenxu Ke 4103551092
bugfix: Envoy error logs are not persisted when no metrics are generated (#6911) 2021-05-07 23:25:20 +08:00
Zhenxu Ke 3b15f8d132
feature: Envoy access log receiver supports TCP logs (#6727) 2021-05-07 07:50:03 +08:00
Wayne Chu 83757dae61
perf: use iterator.remove() to remove modulesWithoutProvider (#6874) 2021-04-30 08:55:22 +08:00
Ax1an 36c61fcfa9
Add an optional agent plugin to support mybatis. (#6838) 2021-04-27 22:34:29 +08:00
高云峰 1aa5f2682d
feature:Support alarm to WeLink (#6794) 2021-04-26 00:01:19 +08:00
liqiangz 7a53331367
Support alarm tags (#6820) 2021-04-25 17:22:43 +08:00
Darcy b4114ac043
enhancement agent kafka reporter plugin, add namespace concept (#6781) 2021-04-23 11:29:35 +08:00
于玉桔 527d772575
SkyWalking support Seata plugin (#6579) 2021-04-19 14:11:55 +08:00
kl 1fb2b01b7e
fix: Receiver_zipkin missing ServiceInstanceID bug #6749 (#6763) 2021-04-19 11:55:43 +08:00
guyang e89888668f
feature: jsonrpc4j plugin (#6743) 2021-04-17 22:42:57 +08:00
Daming be031cae96
Add APISIX plugin component id (#6757) 2021-04-15 14:37:04 +08:00
Daming a3d60a7d06
[Plugin] add Lua kong component ID (#6748) 2021-04-14 16:16:26 +08:00
wankai123 cbb67101b9
Fix K8s monitoring the incorrect metrics calculates. (#6739) 2021-04-13 13:55:22 +08:00
吴晟 Wu Sheng 17e820f156
Begin 8.6.0 iteration (#6721) 2021-04-09 23:01:00 +08:00