Commit Graph

275 Commits

Author SHA1 Message Date
mrproliu f2fd64bdf8
Adjust the span match rule of the attached event (#10069) 2022-12-01 21:22:17 +08:00
mrproliu f0a7528e76
Adding HTTP/1.x metrics tab on network profiling widget (#10044) 2022-11-29 15:26:13 +08:00
mrproliu 2e7a850475
Support dynamic config the sampling strategy in network profiling. (#10002) 2022-11-23 15:33:20 +08:00
mrproliu 3122697e3a
Support span attached event concept (#9916) 2022-11-09 11:28:42 +08:00
吴晟 Wu Sheng 9d3982db74
Add new config initialization mechanism of module provider to replace existing (#9828) 2022-10-22 19:07:53 +08:00
mrproliu 2e6e3faef0
Support new records query protocol (#9827) 2022-10-22 11:30:52 +08:00
Wan Kai d7ee9a01d6
Support sharding MySQL database instances and tables. (#9689)
* [**Breaking Change**] Support sharding MySQL database instances and tables by [Shardingsphere-Proxy](https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-proxy).
  SQL-Database requires removing tables `log_tag/segment_tag/zipkin_query` before OAP starts, if bump up from previous releases.
2022-09-30 08:39:14 +08:00
Wan Kai 4a7e8191dd
Unify query services and DAOs codes time range condition to `Duration`. (#9702) 2022-09-29 08:08:15 +08:00
kezhenxu94 b3c7658a0e
webapp: migrate from Spring Web to Armeria (#9592) 2022-09-11 16:33:53 +08:00
吴晟 Wu Sheng 608a084350
Begin 9.3.0 iteration, 9.2.0 release is on vote (#9539)
* [maven-release-plugin] prepare release v9.2.0

* [maven-release-plugin] prepare for next development iteration

* Create changes-9.2.0.md

* Update changes.md

* Update LICENSE
2022-08-31 00:31:04 +08:00
mrproliu 5ea7c0d778
Support eBPF Network Profiling (#9337) 2022-07-13 22:41:22 +08:00
Wan Kai b9196966cd
Add Zipkin query exception handler, response error message for illegal arguments. (#9296) 2022-07-01 20:36:33 +08:00
Wan Kai 43d65775f0
Add more entities for Zipkin to improve performance (#9198) 2022-06-10 20:04:11 +08:00
吴晟 Wu Sheng 8584ada7cc
Begin 9.2.0 iteration (#9191)
* [maven-release-plugin] prepare release v9.1.0

* [maven-release-plugin] prepare for next development iteration
2022-06-08 17:24:15 +08:00
Wan Kai f0aef53d49
Support Zipkin traces collect and zipkin traces query API. (#9177) 2022-06-08 07:40:36 +08:00
kezhenxu94 8d34c17871
Add on demand logs support to service mesh (#9171) 2022-06-06 13:16:55 +08:00
kezhenxu94 b69e3f403e
Allow querying logs only by instance to simplify frontend query (#9157) 2022-06-01 20:49:31 +08:00
Wan Kai d69213ec6b
Add limit config for query autocomplete tags (#9140) 2022-05-27 20:34:49 +08:00
吴晟 Wu Sheng f2173c5376
Revert TraceSource from trace query. (#9135) 2022-05-26 21:22:51 +08:00
kezhenxu94 93fcf8d055
Add APIs to query ondemand Pod log (#9130) 2022-05-26 12:05:25 +08:00
mrproliu 47509715f5
Support OFF CPU eBPF Profiling (#9107) 2022-05-20 14:46:16 +08:00
mrproliu e451052357
Remove `total` field in Alarm, Browser Logs, and Alarm query (#9102) 2022-05-19 23:04:44 +08:00
mrproliu 7c295738a8
Remove `total` field in Log and Trace query (#9094) 2022-05-19 06:50:37 +08:00
mrproliu 9494fb2545
Remove layer from process and remove duration from eBPF Profiling scheduler query (#9034) 2022-05-11 17:15:09 +08:00
Wan Kai 2e7cf5db10
Remove `Layer` concept from `ServiceInstance`. (#9029) 2022-05-11 09:59:33 +08:00
Hper 7b99289eab
Enhance Deprecated MetricQuery(v1) getValues querying (#9003) 2022-05-07 22:57:09 +08:00
Wan Kai 6c6ef24664
Support autocomplete tags in logs query. (#8999) 2022-05-06 20:18:45 +08:00
Wan Kai 12ba7aa533
Support autocomplete tags in traces query (backend side), Replace all configurations **_JETTY_** to **_REST_** (#8971)
* Support autocomplete tags in traces query (backend side)

* [Breaking Change] Replace configuration `**_JETTY_**` to `**_REST_**`.
2022-04-29 12:52:45 +08:00
Wan Kai 70560e3b2d
HTTPServer support the handler register with allowed HTTP methods (#8917) 2022-04-21 21:16:51 +08:00
Wan Kai 85ce1645be
Update UI, enable compression, fix SO11Y bug and set `SW_QUERY_MAX_QUERY_COMPLEXITY` to 1000 (#8885) 2022-04-15 17:35:10 +08:00
mrproliu db3c1da10d
Update the eBPF Profiling task as service level (#8840) 2022-04-14 07:30:40 +08:00
吴晟 Wu Sheng 91413a753c
Start 9.1.0-dev iteration (#8822) 2022-04-06 18:56:49 +08:00
吴晟 Wu Sheng faf6e2eb9e
Add `Error Prone Annotations` dependency to suppress warnings (#8774) 2022-04-01 00:57:34 +08:00
Kai 81921c2953
UI template init and add control environment variable (#8760) 2022-03-29 07:46:08 +08:00
absorprofess ac5c4ab3c8
Trim tag's key and value in log query. (#8739) 2022-03-28 20:47:56 +08:00
mrproliu ba9cad6d8f
Update the eBPF profiling schedule entity (#8716) 2022-03-22 15:57:56 +08:00
mrproliu e4dac66e2f
Implement the eBPF profiling query and data collect protocol (#8696) 2022-03-20 19:38:16 +08:00
kezhenxu94 6486b13a78
Add complexity limitation for GraphQL query to avoid malicious query (#8703) 2022-03-18 15:38:23 +08:00
kezhenxu94 4c7ac43d05
Polish Zipkin HTTP receiver with Armeria APIs (#8680) 2022-03-15 17:11:59 +08:00
kezhenxu94 289427990a
Migrate the HTTP server from Jetty to Armeria (#8673) 2022-03-15 13:38:42 +08:00
mrproliu 6bc2c3307a
Implement process metadata query protocol (#8649) 2022-03-10 17:08:03 +08:00
Kai f3743ee017
Introduce booster-ui and implement v9 template management protocol (#8637) 2022-03-09 08:15:55 +08:00
wankai123 012d58a8fe
Add `normal` to listService query and support `scope=ALL` for global level metrics (#8463) 2022-01-21 19:32:21 +08:00
kezhenxu94 2c8504a3ed
Bump up GraphQL related dependencies to latest versions (#8446) 2022-01-19 20:33:25 +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
吴晟 Wu Sheng f1127a726e
Fix the incorrect place of Long declaration (#8135) 2021-11-16 20:24:57 +08:00
Kirs f7bcb76784
move the codes in apm-commons into server-library (#8003) 2021-10-26 20:31:36 +08:00
kezhenxu94 a5685cb149
Add a GraphQL query to get OAP version, display OAP version in startup message and error logs (#8004) 2021-10-26 15:05:37 +08:00
mrproliu 8d24ba2d9f
Add `getProfileTaskLogs` query method implement (#7984) 2021-10-22 08:20:10 +08:00
zhang-wei 929dc0e91f
support search browser service (#7975) 2021-10-21 15:22:43 +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
kezhenxu94 ec03cca31b
Bump up commons-compress version and polish LAL debug error message (#7668) 2021-09-07 12:18:25 +08:00
kezhenxu94 26b81a2e59
Rebuilt ElasticSearch client on top of their REST API (#7634) 2021-09-06 15:21:35 +08:00
kezhenxu94 1af2e46e33
Add a new API to test log analysis language (#7475) 2021-08-18 16:40:25 +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 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 d79094c178
Add pagination to event query (#7274) 2021-07-09 23:04:50 +08:00
吴晟 Wu Sheng 5eb1021639
Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
wankai123 3034963374
Fix Jetty HTTP `TRACE` issue, disable HTTP methods except `POST`. (#7052) 2021-06-01 16:37:56 +08:00
Zhenxu f742142ca3
Add UI templates (#7013) 2021-05-28 14:35:27 +08:00
Zhenxu Ke 1a727585f9
Fix wrong service instance id in alarm query (#7023) 2021-05-27 12:05:54 +08:00
Zhenxu Ke 6c90a954ed
Fetch further data only when they're requested (#6976) 2021-05-20 10:43:16 +08:00
chen~ bb590daba9
Include event(s) to alarms. (#6888)
Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2021-05-19 14:14:48 +08:00
liqiangz 7a53331367
Support alarm tags (#6820) 2021-04-25 17:22:43 +08:00
吴晟 Wu Sheng eba7a5f940
Sync all submodules. (#6777) 2021-04-17 18:40:53 +08:00
吴晟 Wu Sheng 17e820f156
Begin 8.6.0 iteration (#6721) 2021-04-09 23:01:00 +08:00
zhang-wei ba6d49ad91
Update the timestamp field type for LogQuery (#6335) 2021-02-07 12:09:51 +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
吴晟 Wu Sheng cdfe6ab358
Begin the 8.5.0 iteration (#6302)
* [maven-release-plugin] prepare release v8.4.0

* [maven-release-plugin] prepare for next development iteration
2021-02-02 08:01:49 +08:00
Zhenxu Ke 5d47d4d29f
Remove state / isError and collect exception stacktrace in error logs (#6275) 2021-01-30 08:18:52 +08:00
w c0ed7d88da
Fix a legal metric query adoption bug. (#6270) 2021-01-28 17:41:17 +08:00
zhang-wei 0bd8149596
LogQuery remove unused field (#6246) 2021-01-24 19:13:31 +08:00
zhang-wei 15452025c6
Log collecting and query implementation (#6120) 2021-01-14 09:49:11 +08:00
吴晟 Wu Sheng af19c72a7e
8.3.0 tagged, open for 8.3.0 iteration. (#5920)
* [maven-release-plugin] prepare release v8.3.0

* [maven-release-plugin] prepare for next development iteration
2020-11-29 11:01:20 +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
kezhenxu94 f92a7bf897
Start next iteration 8.3.0 (#5719)
* [maven-release-plugin] prepare release v8.2.0

* [maven-release-plugin] prepare for next development iteration
2020-10-24 19:30:29 +08:00
zhang-wei 7ef8b3e476
Support Browser protocol at OAP (#4228) 2020-08-31 15:46:37 +08:00
Lu Jiajing 5bfac1b50f
Remove style-check exception for logger (#5363) 2020-08-21 18:26:25 +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
吴晟 Wu Sheng 7f7e96b088
[IMPORTANT] Query traces with tags as condition (#5270) 2020-08-11 07:24:40 +08:00
吴晟 Wu Sheng 2f2840cbf5
Begin 8.2.0 iteration. (#5211)
* [maven-release-plugin] prepare release v8.1.0

* [maven-release-plugin] prepare for next development iteration
2020-07-31 20:15:27 +08:00
Gao Hongtao b6661b5164
Add health checker module (#5046) 2020-07-10 00:30:43 +08:00
吴晟 Wu Sheng ea6be5b645
Fix endpoint dependency bug in MQ and uninstrumented proxy cases, and support endpoint dependency(v2 of endpoint topology case). (#4995) 2020-06-30 20:59:38 +08:00
吴晟 Wu Sheng 5de0d2c6f6
Set version to 8.1.0 for next iteration. (#4916)
* [maven-release-plugin] prepare release v8.0.0

* [maven-release-plugin] prepare for next development iteration

* Remove all shardingsphere cases.
2020-06-12 23:44:42 +08:00
吴晟 Wu Sheng b07b395691
Fix 4 high priority bugs (#4913) 2020-06-12 12:07:45 +08:00
Gao Hongtao 6c0274d6ae
Sort linear metric query result (#4880)
Signed-off-by: Gao Hongtao <hanahmily@gmail.com>
2020-06-09 00:30:05 +08:00
吴晟 Wu Sheng d094a0f7c0
Support UI template management. (#4843) 2020-06-01 23:06:14 +08:00
吴晟 Wu Sheng 6ed40b3395
Keep ID as ref ID in the readSampledRecords (#4822)
* Keep ID as ref ID in the readSampledRecords, as there is no meaningful logic entity, but based on the graphql, the client could request this.
2020-05-26 08:00:03 +08:00
吴晟 Wu Sheng c5f0591e06
Fix the wrong sortN condition (#4784) 2020-05-14 11:36:32 +08:00
mrproliu 749af3e04e
Alarm support multiple scope (#4769)
* Support service relation and database access alarm

* support service instance relation alarm

* support endpoint relation alarm

* document and format the name

* resolve issues

* add database access and endpoint relation rule example

* resolve code format

* remove unnecessary getter and setter package declare

* remove unnecessary fields

Co-authored-by: Mrproliu <mrproliu@lagou.com>
2020-05-11 00:28:10 +08:00
mrproliu 50c4911adc
fix alarm query time bucket error (#4768)
Co-authored-by: Mrproliu <mrproliu@lagou.com>
2020-05-10 07:29:41 +08:00
吴晟 Wu Sheng 2880699860
Make OAL controlled by the receivers. (#4767)
* Split the official_analysis.oal into different parts

* Add Envoy OAL define.

* Fix license.
2020-05-09 21:39:19 +08:00
吴晟 Wu Sheng 7c84e77bf2
Support histogram function in Meter system. (#4719)
* Support histogram function in Meter system.
* Add histogram in the document.
* Support infinite-
2020-04-27 14:38:38 +08:00
吴晟 Wu Sheng f4864597c2
Fix an old query compatible bug. (#4714) 2020-04-26 10:58:36 +08:00
吴晟 Wu Sheng 991d083378
Support typeOfMetrics query (#4686)
* Add data type to the column definition to replace the simple isValue definition. And top N query is also requiring value column now.

* Support typeOfMetrics query.
2020-04-22 13:14:59 +08:00
吴晟 Wu Sheng 418bdff277
New metrics query protocol v2 (#4679)
1. Support the new query protocol, and the v1 query protocol is still supported 
2. All `numOfxxx`/`GlobalBrief` is only a mock now, no real number.
3. typeOfMetrics service is a mock only too, follow up PR will implement this.
2020-04-21 15:39:18 +08:00
kezhenxu94 c11ad038cc
Count the coverage in E2E tests and Plugin tests (#4651) 2020-04-15 23:09:05 +08:00
吴晟 Wu Sheng 6fe2041b47
Make 8.0.0 Core available. New protocol and register removed. (#4599)
Here are the list of changes we made in this pull request. Top 3 are the principle changes, others are following these principles.
1. New agent and mesh report protocol. 
2. New agent header protocol. 
3. Service register, instance register and network address register have been removed permanently.
4. Service traffic, instance traffic and network alias metrics are added to replace the service, instance and network address inventory.
5. Register process has been removed.
6. Metrics stream process supports insert only mode, especially for traffic entities.
7. Metrics stream process supports no-downsampling mode for traffic entities and network alias.
8. Remove all register mechanism and cache in the java agent.
9. Remove MONTH step in GraphQL query.
10. Update UI to remove MONTH step query, the max query range is 60 days now.
11. Simplify the TTL to metrics and record. And the unit has been formatted in Day unit. No specific TTL for ElasticSearch storage.
12. Buffer mechanism of trace receiver and mesh receiver has been removed due to no register.
13. New service id, instance id and endpoint id rules, including service relation, instance relation and endpoint relation id rules.
14. Java agent support `keep tracing` mode, meaning, agent generating tracing context even the backend is unconnected/unavailable.
15. Plugin test tool up to date, in order to support new protocol.
16. Plugin tests expected data files updated.
17. E2E tests updated.
18. Telemetry of Grafana config has been merged into one.
19. Documentation updates.
20. [TBD] InfluxDB storage implementation is not available, need @dmsolr to fix later, in order to reduce the master change block by this PR.
2020-04-10 11:03:24 +08:00
吴晟 Wu Sheng fa9a44b750
Version number changed including a little documentation. (#4597) 2020-03-31 12:57:20 +08:00
吴晟 Wu Sheng 4474907fef
[Inventory Design Change] Remove endpoint register and endpoint inventory (#4570)
* Finish step one, source and entity changed.

* Step 2, finish the basic and core DAO changes.

* Step 3. Change all source codes of backend, and make project compiling successfully.

* Make startup successful and persistence works.

* Fix dead codes in the MySQLTableInstaller.

* Fix mischange.

* Fix MySQL storage bootstrap error.

* Rollback dependency change.

* Simply enable tailing logs from container no mater it's in CI or not

* Fix segment table issue.

* Fix MySQL Instanller.

* Support Influxdb implementation of new endpoint traffic.

* Set and modify timeout to 90mins

* Remove unnecessary entity in the EndpointTraffic.

* Fix wrong entity builder and make name more clear.

* Fix 2 equal methods bug.

* Fix InfluxDB identifier(name) conflict issue.

* Fix endpoint topology query, endpoint id should be changed as a string.

* Fix a missing change.

* Fix a wrong commit.

* Column name can't be changed, due to it affect the hybrid metadb(h2/mysql) query, change it explicitly with double quotation marks.

* Fix formats.

* Remove endpoint/operation register from the agent. and change the plugin tests(without local tests). operationId relation codes have been removed from agent too.

* Try to fix the hytrix case.

* Fix 3 cases.

* Try to fix cases.

* Fix 2.

* Fix one.

* Fix the serviceId type mis-change.

* Fix int query

* Fix hystrix case.

* Fix a case.

* Fix EndpointCallRelationDispatcher set the source/dest endpoint without id encoding.

* Update documentation and add 2 test cases.

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-03-28 22:51:41 +08:00
何延龙 28ac73bff3
fix #4539, add PHP to the query protocol (#4540)
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-03-19 12:41:08 +08:00
吴晟 Wu Sheng 61f98c81f0
Move the main branch to 7.1.0 iteration. (#4537)
* [maven-release-plugin] prepare release v7.0.0

* [maven-release-plugin] prepare for next development iteration
2020-03-19 10:38:41 +08:00
zhang-wei 7a302d4ff3
Ignore no upstream real address agent (#4454)
* ignore no upstream real address agent

* fix bug

* follow review

* fix checkstyle

* follow review

* follow review

* follow review

* follow review

* follow review

* fix language trans

* lower case
2020-03-07 16:11:16 +08:00
mrproliu fa0b3df369
provide multiple time ranges to query profile analyze (#4417)
* profide multi time range to query profile analyze

* use method to avoid direct reference field
2020-02-26 10:51:38 +08:00
mrproliu 2ea341b890
Add missed profiled segment query (#4413)
* add profiled segment query

* fix query field error
2020-02-25 10:12:16 +08:00
吴晟 Wu Sheng d63f2c9427
Support topology with multiple selected services (#4408)
* 1. Format codes

2. Add comments for storage interface of topology

3. Narrow the scope of secondary query to get the component name. Only query the nodes as client out of the given service Ids.

* Support topology with multiple selected services

* Sync the typo fix in the protocol
2020-02-24 23:01:13 +08:00
kezhenxu94 5b255ba3e3
Set up more strict code styles and fix existing issues (#4337)
Motivation:

Review code styles with some bots automatically.

Modifications:

Set up ReviewDog in GitHub Action to review code style.

Add more check rules to checkstyle plugin.

Result:

Obvious code styles can be reviewed and commented automatically.
2020-02-11 17:10:49 +08:00
mrproliu fa526e5227
Provide profile analyze query (#4335)
* provide profile analyze query

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-02-11 10:11:08 +08:00
mrproliu e01829aa57
Change profile stack element data structure (#4332)
* Change profile stack element to single level, not using tree
2020-02-09 16:37:45 +08:00
mrproliu e44bc36281
provide profiled segment list query (#4322)
* provide profiled segment query

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: AirTrioa <44222967+AirTrioa@users.noreply.github.com>
2020-02-06 21:02:08 +08:00
mrproliu 30ebe1caf9
provide thread stack analyzes (#4308)
* provide thread analyzes

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-02-04 16:24:05 +08:00
mrproliu 3252b6ed08
provide profile analyze empty interfaces (#4303)
* provide profile analyze empty interfaces

* fix comment error

* change comments

* update submodule

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-01-31 21:11:43 +08:00
吴晟 Wu Sheng 17e3fff83a
Refactor the storage to support `getSubsetOfMultipleLinearIntValues` (#4289) 2020-01-29 17:03:39 +08:00
吴晟 Wu Sheng 9149de2a6e Support multiple linear values and merging p50/75/90/95/99 into percentile (#4214)
* Support new percentile func with new alarm and exporter for this new func.

* Fix e2e and OAL script

* Fix wrong column.

* Fix percentile bug and oal engine bug.

* Update query protocol and add percentile test case

* Support new query

* Adopt GraphQL requirement

* Fix wrong type cast.

* Fix query in H2 and ES.

* Fix docs and comments.

* Fix an e2e compile issue

* Fix javadoc issue and e2e test issue.

* Change CPM to Apdex in TTL test.

* Fix OAL for TTL e2e

* Add metrics query for service percentile.

* Fix OAL engine bug. Method deserialize is not working when more than two field types are IntKeyLongValueHashMap

* Support multiple IntKeyLongValueHashMap fields in remote. About serialize/deserialize methods.

* Fix graphql statement error in e2e.

* Fix serialize not working and add generated serialize/deserialize of percentile into test cases.

* Fix test case format

* Remove generated code test.

* Fix failed e2e test

* Use avg resp time to apdex in the TTL test.

* ADD multiple linear metrics check for endpoint in e2e cluster.

* Support `-` to represent no threshold and doc of alarm about this.

* Move break to right place.

* Fix wrong break(s)

* Fix break and add a test case for multiple values alarm.

* Fix format.

* Add more doc for this new feature and GraphQL query protocol.

Co-authored-by: Jared Tan <jian.tan@daocloud.io>
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-01-12 22:10:50 +08:00
mrproliu 4cf0600f35 Provide profile task downstream to sniffer (#4172)
* Provide profile task downstream to sniffer

* fix agent unit testcase issue

* add profile switch config on sniffer

* fix es error

* 1. add @DefaultImplementor on the sniffer profile task service
2. change ProfileTaskExecutionService#PROFILE_TASK_READY_SCHEDULE to final and remove volatile
2. fix style error

* change timeFromStartMills use `<` to compare

* 1. add `maxSamplingCount` to profile task
2. make profile task limit to the common package

* 1. change `agent.active_profile` to `profile.active` and make true on default
2. add `maxSamplingCount` in profile task
3. use `createTime` to check has new command list
4. add task re-check before process profile task

* 1. add `profile-receiver` document
2. change `ProfileTaskExecutionService` use single schedule thread pool
3. cache dont need fetch data when no data, use auto-fresh mechanism only

* remove navigate time judge, fix comment wrong meaning
2020-01-09 09:35:39 +08:00
吴晟 Wu Sheng 6c20f4a41b
Add service type from register and support browser as service type (#4157)
* Add service type from register and support browser as service type

* Add service type at agent side.

* Fix format.

* Fix a test.

* Fix formats.

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-01-01 18:01:41 +08:00
mrproliu d38a8eaaa7 Provide thread monitor create task feature (#4145)
* provide thread monitor task service to create

* provide thread monitor task GraphQL implements

* 1. change thread monitor field names
2. fix `getThreadMonitorTaskList` query time bucket error

* provide config stream processor

* update submodule `query-protocol`

* resolve e2e-mysql error

* remove useless storage interface method.

* rename `ThreadMonitorTask` to `ProfileTask`

* change e2e-profile to the top level

* fix profile test analyze error

* remove StringUtil#isBlank.

* 1. remove create profile task duration unit
2. remove GraphQL getTask list duration field
3. add `profileTaskQueryMaxSize` in `storage` -> `elasticsearch(7)` configuration, default get 200 profile task

* provide e2e different storage tests

* 1. fix rat check
2. remove DurationUtils.java#toSecond
3. remove ProfileTaskQueryEs7DAO

* fix e2e code format error

* provide es6 and es7 storage e2e tests

* change e2e profile es module artifactId

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2019-12-31 20:49:45 +08:00
吴晟 Wu Sheng d7f7799c80
Set the main branch to 7.0.0-SNAPSHOT (#4115)
* [maven-release-plugin] prepare release v6.6.0

* [maven-release-plugin] prepare for next development iteration
2019-12-24 16:37:13 +08:00
zhang-wei 3741f4e386 [Feature] Service instance dependency (#3978)
* dispatcher

* getServiceInstanceTopology implementation

* CacheUpdateTimer

* fix compilation failure

* fix compilation failure

* fix esDao

* Update dao list

* dispatcher

* getServiceInstanceTopology implementation

* CacheUpdateTimer

* fix compilation failure

* fix compilation failure

* fix esDao

* Update dao list

* test e2e

* add official_analysis.oal & update getServiceInstanceTopology

* test instance topo for single service

* fix gql

* fix verifyServiceInstances

* verifyServiceInstanceTopo

* fix verifyServiceInstanceTopo

* fix ServiceInstanceInventory#name

* fix ServiceInstanceInventory#name

* e2e test

* fix action

* fix provider port

* fix Instance Node Type

* re run

* fix expected-data

* add e2e mysql

* set @Test timeout

* fix ci

* increase timeout

* re check

* test ttl es7

* test ttl

* fix action

* merge group

* test ttl es7

* replace official_analysis.oal

* replace official_analysis.oal

* comments

* add TODO

* add TODO

* fix filed name
2019-12-09 08:23:21 +08:00
吴晟 Wu Sheng 3fbaec42dc
Move to 6.6.0 SNAPSHOT (#3839)
* [maven-release-plugin] prepare release v6.5.0

* [maven-release-plugin] prepare for next development iteration
2019-11-12 22:33:39 +08:00
Kdump c0be757f43 add graphql getServiceInstance instanceUUID field. (#3595)
* add graphql getServiceInstance instanceUUID field.

* add graphql getServiceInstance instanceUUID field.

* add graphql getServiceInstance instanceUUID field.

* sync query-protocol repo

* add instanceUUID field e2e

* add instanceUUID field e2e

* add instanceUUID field e2e

* add instanceUUID field e2e
2019-10-17 06:38:00 +03:00
吴晟 Wu Sheng 713995f9c6
Adjust dependency (#3592)
* This dependency should be added.

* Fix again.
2019-10-10 19:11:26 +08:00
吴晟 Wu Sheng 6c1a8f74b0
This dependency should be added. (#3586) 2019-10-10 13:39:04 +08:00
Jared Tan 2db2638fc2 code cleanup: remove unnecessary and optimize the function's parameters. (#3577)
* code cleanup: remove unnecessary and optimize the function's parameters.

* fix code style.
2019-10-09 10:05:23 +08:00
Kdump 058335f21a Query server time info (#3498)
* sync ui

* query-server-time-info

* query-server-time-info

* query-server-time-info

* query-server-time-info

* query-server-time-info

* sync skywalking-query-protocol

* sync ui

* sync ui

* sync skywalking-query-protocol

* sync skywalking-query-protocol
2019-09-22 19:06:33 +08:00
吴晟 Wu Sheng ce20fe107d
Move to 6.5.0 (#3439)
* [maven-release-plugin] prepare release v6.4.0

* [maven-release-plugin] prepare for next development iteration
2019-09-08 16:24:21 -07:00
吴晟 Wu Sheng b247dc979e
Move project master branch to 6.4.0-SNAPSHOT (#3220)
* [maven-release-plugin] prepare release v6.3.0

* [maven-release-plugin] prepare for next development iteration
2019-08-05 21:19:17 +08:00
吴晟 Wu Sheng 4faa950c14
Move master to 6.3.0 (#2968)
* [maven-release-plugin] prepare release v6.2.0

* [maven-release-plugin] prepare for next development iteration
2019-06-29 13:49:36 +08:00
彭勇升 pengys de46ee62d3
Make the step just to be the graphql java object. (#2792)
* Make the step just to be the graphql java object.

* Mistake.
2019-05-31 13:16:59 +08:00
吴晟 Wu Sheng 595498e787
New topology query protocol implementation (#2654)
* Make backend fits new topology query protocol and logic.

* Change topology line id.

* Change endpoint point id rule to match service relation id rule.

* Refactor util.

* Revert wrong refactor by IDEA.

* Revert some changes.

* Fix entity id bug.

* Fix endpoint topology query

* Update UI.

* UI license update.
2019-05-21 14:50:29 +08:00
彭勇升 pengys ed78dabe8b Rename metric and indicator to metrics. (#2643)
* Rename metric to metrics.

* Fixed test case execute failure issues.
2019-05-10 08:05:37 +08:00
吴晟 Wu Sheng 9b87086d72
Move to 6.2 (#2563)
* Move submodule plugin.

* Always auto-submodule

* [maven-release-plugin] prepare release v6.1.0

* [maven-release-plugin] prepare for next development iteration

* Change keys location.
2019-04-30 12:16:50 +08:00
吴晟 Wu Sheng 9901005995 Fix bug about match query in ElasticSearch storage. (#2550)
* Fix bug about match query.

* Update UI and alarm query

* Fix style

* Fix NPE.
2019-04-28 18:11:53 +08:00
吴晟 Wu Sheng df362b18f0
Query protocol and codebase for log type record (#2449)
* New query graphql protocol added.

* Finish a new metric, log(abstract) with HTTP Access Log.

* Submit the draft codes of logs.

* Remove @IDColumn

* Fix startup issue.

* Add http_access_log to disable list.

* Finish a wrong service implementation.

* Add trace id in log query condition and result.

* Fix style
2019-04-08 07:53:06 +08:00
kezhenxu94 05b0498fed extract immutable object to reduce garbages (#2364) 2019-03-15 14:03:30 +08:00
吴晟 Wu Sheng fb62025da8
Improve OAP extendibility (#2288)
* Make scope meta configurable.

* Fix test cases in ci.

* Change step 1

* Refactor step 2

* Other compile issue done. Prepare the generator changes.

* Revert some wrong changes to Istio receiver.

* Step 3, make compile pass.

* Try to make CI passed.

* Add a check.

* Fix generated code style

* Provide new and extendable dispatcher generator tool

* Fix startup.

* Can't guarantee the dispatchers are always existing. Put explicit comments at there to avoid confusion, since this is different with old version.

* Fix a H2 query for endpoint search.

* Fix a wrong mysql alarm query.

* Provide new document and `generate-tool-grammer` module.

* Add missing last section of document.

* Fix typo

* Relocate the @ScopeDeclaration annotation, make it more sense. Also remove the useless @SourceType annotation. And adjust document for these changes

* ScopeDeclaration can be used once for each class only, now.
2019-02-26 13:43:14 +08:00
Jared Tan c596d0ac82 add serviceInstanceId in Segment storage. (#2146)
* add serviceInstanceId in Segment storage.

* add serviceInstanceId in query condition.
2019-02-23 07:59:19 +08:00
吴晟 Wu Sheng 4babd6ff73 Support Top sql (#2239)
* The prototype of topN sql worker.

* Add scope and new manual dispatcher.

* no message

* Finish topN persistence codes. Not test yet. And query have not added.

* Finish the top n database statement persistent.

* Support different slow thresholds for different db types.

* Fix wrong db default threshold

* Finish new query protocol binding.

* Provide query empty implementation and sync ui.

* Finish all codes, hope it works :P
I will run the tests tonight.

* Fix

* Fix

* Fix a startup issue.

* Add time bucket to persistent.

* Fix wrong query result column name.

* Fix Database query.

* Fix checkstyle.

* Fix wrong order logic, and add a test case to verify, to fix https://github.com/apache/incubator-skywalking/pull/2239#discussion_r255948249
2019-02-12 23:13:02 +08:00
Lemon f7ca26729d Database metrics provided. (#2025)
* Add Database source

* Add DatabaseSource source and database_* script for oal

* Enable Database_Indicator

* Add file license

* Rename DatabaseService to ClientDatabase. In the future, we may have real database server monitoring.

* Add query database from H2

* refactor

* update submodule

* refactor

* Fix style

* Fix: unknown tag error

* fix checkstyle
2019-01-27 08:27:34 +08:00
吴晟 Wu Sheng 5a7eb5656a
GA tagged, move to 6.1 (#2180)
* [maven-release-plugin] prepare release v6.0.0-GA

* [maven-release-plugin] prepare for next development iteration
2019-01-18 20:04:23 +08:00
吴晟 Wu Sheng 95214aecf3
update version for next iteration. (#2084) 2018-12-23 09:14:14 +08:00
彭勇升 pengys dfe2b08599 [OAP Server][Cluster Plugin] Provide consul cluster plugin (#2036)
* Provide consul cluster plugin.

* Change log and application config file.

* Add consul's config item into the docker's application.yml.

* Fixed bug.

* Add consul description into  readme.

* Add okhttp component license.
2018-12-12 08:14:41 -08:00
吴晟 Wu Sheng 215eab7428
Mysql style storage implementation (#1964)
Also fixed several bugs in this merge.
2018-11-28 22:59:02 +08:00
彭勇升 pengys afd6164335 OAP server testing module. (#1931)
* OAP server testing module.

#1930

* #Missing delete code.
2018-11-18 20:22:56 +08:00
吴晟 Wu Sheng 72a39e1f28
Sync 6.0.0-alpha release and version up to beta. (#1883)
* Lock oracle and resin plugins version.

* Move resin and oracle plugin to openskywalking

* Restore submodule active.

* Add another submodule active command.

* Remove the wrong test cases in release and fix some doc issues.

* [maven-release-plugin] prepare release v6.0.0-alpha

* [maven-release-plugin] prepare for next development iteration

* Fix some doc
2018-11-06 15:45:15 +08:00
吴晟 Wu Sheng 4399c66278
Make metric value to long to avoid too big integer issue. (#1876)
* Make metric value to long to avoid too big integer issue.

* Update protocol.

* Add a new filter to service number.
2018-11-03 23:25:28 +08:00