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.
* 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>
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.
* Try adjustment.
* Remove heartbeat.
* Make heartbeat back to work. And default threadpool size more sense.
* Make L2 to less than before.
* Make instance heartbeat works.
* Try L1 aggregation thread = core * 2 * 2.
* 1. Sleep 500 milliseconds after a batch re-call finish.
2. Re-create register lock index when the system property named debug is setting.
3. Get the register inventory before lock to avoid increment the sequence but not use.
4. Return the exchange flag after all the references and spans in one segment parsed to reduce the number of segment parse.
5. Put the not exchanged segment into a collection then try to exchange no more than 10 times because of the exchange is asynchronous.
6. Cache the segment object to avoid repeated deserialization.
#2185
* #2185
1. Sleep 500 milliseconds after a batch re-call finish.
2. Re-create register lock index when the system property named debug is setting.
3. Get the register inventory before lock to avoid increment the sequence but not use.
* Change a label name for sw instance to avoid confict.
* Fix a wrong metric name.
* Fix too many counter instances.
* Set uptime to second.
* Fix format.
* Fix format
* Remove two unnecessary counter.
* Provide grafana dashboard settings and remove unnecessary metric.
* Provide a simple UI brief doc. Fix#2137
* Finish the basic codes of telemetry.
* Add many telemetry in oap.
* Fix a test case.
* Finish all telemetry metric.
* Fix format.
* Make telemetry works.
* Support JVM metrics.
* Add doc for telemetry.
* Fix typo.
* Fix#2135
* Update new protocol
* Support new protocol at agent side.
* Fix test case.
* Make backend supports new trace protocol
* Fix tests.
* Make all new services available in gRPC.
* Fix bugs.
* Finish new document for v2 trace protocol.
* Fix wrong version requirement of zk
* Fix trace query bug.
* Find a client side dictionary bug.
* Fix register bugs.
* Fix break doc links.
* 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
* Fix mesh receiver doesn't update heartbeat.
* Fix bug of mesh heartbeat and rest receiver.
* Fix issue: opencensus is included in agent without shade. @tuohai666
* Support maxConcurrentCallsPerConnection and maxMessageSize in grpcServer
* Make percent percent is 1/10000
* Fix test cases.
* Make service instance indicator dispatch based on server side only.
* Set init data right in AlarmMeta.
* Make endpoint query based on server side only.
* Make receiver more effective
* Add Istio test case and all source dispatch in
* Refactor mock data
* FIx rat.
* Support call component.
* Fix ThermodynamicIndicator bug.
* Fix test cases.
* Fix missing calculate in db merging.
* Add codes for debug.
* 1. Fixed elasticsearch bulk process not fresh bug. (#1819)
2. Fixed the bug of source register no queue but wait the end for batch tag.
* Remove debug log, and restore TTL timer for real scenarios.