Commit Graph

134 Commits

Author SHA1 Message Date
吴晟 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
吴晟 Wu Sheng c59ee90029
Performance: optimize IDs read of ElasticSearch storage options(6 and 7) (#7307)
* Performance: optimize IDs read of ElasticSearch storage options(6 and 7). Use the physical index rather than template alias name.
2021-07-15 18:06:11 +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 f5b7c3e32d
Perf: cache metrics id and entity id (#7201)
There are a lot of calls to `Metrics.id()` and `ISource.getEntityId`, which calculates the id by manipulating strings in every single call, producing many garbage objects.

In this patch, I cache the id and only calculate the id if it's requested for the first time.
2021-06-29 22:48:51 +08:00
Alvin a966eea35c
Support prepare and save metrics concurrency (#7153) 2021-06-29 14:34:29 +08:00
wankai123 e95064d976
chore: set openAPI grouping CoreModuleConfig default value consistent with application.yaml, add re-benchmark result (#7176) 2021-06-26 00:08:14 +08:00
wankai123 19a068d708
Feature: support endpoint name grouping by OpenAPI definitions. (#7130) 2021-06-20 07:57:10 +08:00
wankai123 3034963374
Fix Jetty HTTP `TRACE` issue, disable HTTP methods except `POST`. (#7052) 2021-06-01 16:37:56 +08:00
吴晟 Wu Sheng af6f7d2c34
Remove group concept from AvgHistogramFunction (#6552) 2021-03-16 10:26:33 +08:00
史精文 cc60f1529f
resolve "receiver don't need to get itself when healthCheck #6515 " (#6538) 2021-03-12 20:45:38 +08:00
mrproliu 6d92bc66dd
Meter system enhancement (#6398) 2021-02-19 20:51:03 +08:00
mrproliu fcf64a217f
Change the Apdex metric combine calculator (#6363) 2021-02-11 15:19:32 +08:00
吴晟 Wu Sheng fc23dabf37
Support multiple implementations of StorageBuilder in different storage implementations - stage 1. (#6334) 2021-02-06 21:22:58 +08:00
Zhenxu Ke b92eac2cd6
Add a new concept "Event" and its implementations to collect events (#6183) 2021-02-05 18:37:18 +08:00
Zhenxu Ke 1e78a0ac78
Metrics combination API supports abandoning results (#6318) 2021-02-04 20:30:36 +08:00
Evan e138d29778
add text analyzer for es (#6249) 2021-01-25 17:01:43 +08:00
zhang-wei 762e347cba
OAL supports multiple values when as numeric (#6233) 2021-01-20 11:42:30 +08:00
zhang-wei 15452025c6
Log collecting and query implementation (#6120) 2021-01-14 09:49:11 +08:00
zifeihan 5fd06a7c4a
Fix `timeBucket` not taking effect in EqualsAndHashCode annotation. (#6153) 2021-01-08 15:51:15 +08:00
吴晟 Wu Sheng 67bc8f8b7d
Provide `listMetrics` GraphQL query service. (#5866)
* Provide `listMetrics` GraphQL query service.

* Update chagnelog.
2020-11-19 22:26:54 +08:00
吴晟 Wu Sheng c9202af1ee
Support group in the service traffic and service list query. (#5851)
* Support group in the service traffic and service list query.
2020-11-17 22:45:32 +08:00
Xin,Zhang c66ae0b0c2
Fix issue caused by PR#5818 (#5826)
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-11-11 13:59:27 +08:00
xbkaishui 56fe8a4b41
Cluster manager health v2 (#5784) 2020-11-04 10:04:24 +08:00
吴晟 Wu Sheng 4238992baf
Polish the context and optimize the tag analyze (#5767)
* Polish the context and optimize the tag analyze

* Fix bug of new context codes.
2020-11-02 14:29:14 +08:00
Evan 9b6386f31c
support oal list includes and excludes & add tags to some source (#5739)
* add oal excludes and includes to support tags
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-11-01 09:48:48 +08:00
Gao Hongtao 9ce47d5bdc
Meter Analysis Language (#5531) 2020-10-21 16:45:47 +08:00
Daming 98968122e9
Provide Thrift Plugin (#5644) 2020-10-16 16:09:47 +08:00
吴晟 Wu Sheng 2b9de2007f
Separate UI template files for further enhancement. (#5656)
* Separate UI template files for further enhancement.

* Add doc about the UI template.
2020-10-13 20:04:08 +08:00
Daming d0b020e5a8
fix timebucket converter issue (#5585) 2020-10-02 17:05:50 +08:00
吴晟 Wu Sheng 103cf00672
Support JDK 11 compiling and upgrade dependencies (#5579)
* Upgrade dependencies and make the JDK11 compiling passed.

* Update license and fix license check file.

* Add CI for JDK11 compiling.

* Update doc.
2020-09-29 10:34:21 +08:00
hailin0 e200ef1045
Add support for xxl-job (#5519) 2020-09-20 10:04:32 +08:00
Gao Hongtao 1473c04d3e
Introduce label system to histogram (#5425) 2020-09-04 14:49:47 +08:00
zhang-wei 7ef8b3e476
Support Browser protocol at OAP (#4228) 2020-08-31 15:46:37 +08:00
hailin0 ca957699dc
Add support for quartz-scheduler (#5413) 2020-08-30 23:48:26 +08:00
zhang-wei c5df0760f2
Support IN filter expressions in OAL (#5390) 2020-08-26 23:50:59 +08:00
hailin0 1b54b61a88
Add support for spring @Scheduled (#5339) 2020-08-23 17:13:49 +08:00
Gao Hongtao 68eba154c4
Add latest function (#5321)
Signed-off-by: Gao Hongtao <hanahmily@gmail.com>
2020-08-15 17:28:32 +08:00
kezhenxu94 ecc18b9be3
Support !=, like filter expressions in OAL (#5269) 2020-08-11 09:37:21 +08:00
吴晟 Wu Sheng 7f7e96b088
[IMPORTANT] Query traces with tags as condition (#5270) 2020-08-11 07:24:40 +08:00
Gao Hongtao b0bb7cf3be
Query all of labels once selected labels condition is absent. (#5202) 2020-08-08 22:26:06 +08:00
Gao Hongtao 5f769ca2b4
Add AvgLabeledFunction to ingest multiple labels (#5187) 2020-07-30 07:32:29 +08:00
Gao Hongtao b6661b5164
Add health checker module (#5046) 2020-07-10 00:30:43 +08:00
Daming d264f914d5
Fix timebucket conversion issue (#5014) 2020-07-02 22:05:03 +08:00
dagmom 08897ce5f8
New feature provided : new plugin for influxdb-java client (#4846) 2020-06-21 22:35:45 +08:00
于玉桔 c778a0d6c2
Support Quasar fiber tracing (#4951) 2020-06-20 22:30:03 +08:00
吴晟 Wu Sheng d094a0f7c0
Support UI template management. (#4843) 2020-06-01 23:06:14 +08:00
吴晟 Wu Sheng a10e044932
Group Parameterized Endpoints (#4802)
* Group Parameterized Endpoints. Configure the grouping rules for parameterized endpoints, to improve the meaning of the metrics.
2020-05-20 22:50:22 +08:00
zhang-wei d4f3218dea
Support define multiple OAL configuration (#4748) 2020-05-08 23:53:49 +08:00
吴晟 Wu Sheng 7edcd5aa33
Change the model installation into the reactive module (#4761) 2020-05-08 21:21:03 +08:00
Efe Kaptan d19ba41678
Mariadb JDBC plugin (#4740)
* Add Mariadb JDBC plugin and provide tests

* Refactor component name

* Reformat plugin description and remove healthcheck span from the test

Co-authored-by: Efe Kaptan <Efe.Kaptan@webtrekk.com>
Co-authored-by: zhang-wei <pknfe@outlook.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-05-07 20:54:30 +08:00