Commit Graph

30 Commits

Author SHA1 Message Date
吴晟 Wu Sheng ea3b099978
Add a missing link of the health check doc. (#5634) 2020-10-08 18:52:11 +08:00
mrproliu 925c0d74c7
Provide server-side meter (#4972) 2020-07-25 21:17:32 +08:00
吴晟 Wu Sheng 2c676ead24
Add OAP configuration vocabulary documentation. (#5149) 2020-07-23 08:24:40 +08:00
吴晟 Wu Sheng 0339889e11
Fix backend-telemetry.md format (#5107)
* Update backend-telemetry.md

Fix doc format.

* Update backend-setup.md

Remove out-of-date inventory documentation.
2020-07-16 17:40:18 +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
吴晟 Wu Sheng b635e254c4
Provide Meter(metrics) system (#4694)
Here are the basic and simple usages of the MeterSystem APIs.

## Meter Creation
New meter could be created based on metrics name, function, scope and data type. 
1. Metrics name is still the storage entity name.
2. Functions are every similar with the OAL function, just accepting different input.
```java
final MeterSystem meterSystem = MeterSystem.meterSystem(getManager());
meterSystem.create("test_long_metrics", "avg", ScopeType.SERVICE, Long.class);
```
NOTICE, this creation should only be called in the `module#prepare` stage, otherwise, `Can't create new metrics anymore` exception will be raised after the **CORE** module `start` stage finished. You may find out, there is a chance `create` could be executed successfully in your own `module#start` stage, but it it just because of the sequence of provider loaded by the class loader, **no guarantee, so please don't do that**.

## Runtime Calculation
`AcceptableValue` is the object created at the runtime to accept new metrics value.
```java
         final MeterSystem service = getManager().find(CoreModule.NAME).provider().getService(MeterSystem.class);
        Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(new Runnable() {
            @Override
            public void run() {
                final AcceptableValue<Long> value = service.buildMetrics("test_long_metrics", Long.class);
                value.accept(MeterEntity.newService("abc"), 5L);
                value.setTimeBucket(TimeBucket.getMinuteTimeBucket(System.currentTimeMillis()));
                service.doStreamingCalculation(value);
            }
        }, 2, 2, TimeUnit.SECONDS);
```

## Meter Functions
Right now, only `avg` function has been implemented. I submit this PR as soon as possible to get your feedback. I will add more functions.

## Notice
1. Make slow trace query available in the sampled record. Logically, they are the same thing. The UI doesn't need to concern about the trace as a special case.
2. Endpoint dependency will be removed from the dashboard. Because no query available for it. We will provide a new page for that in 8.1
3. Comparison page will be removed due to dashboard is powerful enough to replace it.
2020-04-24 23:33:13 +08:00
吴晟 Wu Sheng 44cae97c25
Set up restrict length rules for service, instance and endpoint (#4633)
* Set up restrict length rules for service, instance and endpoint

* Adjust two env names.
2020-04-10 17:59:21 +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 1c7529a559
Add a miss link about apdex documentation. (#4543) 2020-03-20 08:24:35 +08:00
kezhenxu94 69e3d80e24
Add selector property in application.yml (#4514)
### Motivation

 Ease the efforts of modifying configurations in automatic workflow and scripts, like Docker and helm chart.

 ### Modification

 Add a `selector` property into `application.yml` to enable switching configuration simply by environment variables or system properties, and filter the unselected options, leaving only selected one.

 ### Result

 - We can switch a configuration by environment variables or system property

 - Closes #4511
2020-03-15 23:28:14 +08:00
吴晟 Wu Sheng d32450aa7d
Support name column(s) in the storage for 3rd party integration, like Kibana. Default OFF (#4439)
* Support dynamic column in the source.

* Support activeExtraModelColumns as a default OFF option.

* Fix words

* Update backend-setup.md

Fix format issue.
2020-03-04 14:44:54 +08:00
吴晟 Wu Sheng 4072227e5b
Update backend-setup.md (#4271) 2020-01-19 17:43:12 +08:00
Jared Tan 1310719645
add token authentication between agent and oap receiver. (#4197)
* add token authentication between agent and oap receiver.

* revert ui.

* fix code style.

* update docs.

* Update docs/en/setup/backend/backend-token-auth.md

Co-Authored-By: kezhenxu94 <kezhenxu94@apache.org>

* fix hits.

* filter

* revert yml.

* update logical.

* fix codestyle check.

* fix ci and add e2e test case.

* revert mistake commit.

* fix ci

* remove duplicate maven dependency.

* revert pom

* revert unchanged.

* update javadocs.

* update logical.

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-01-12 23:08:39 +08:00
kezhenxu94 54614a0594 Support gateway without agent (#3308)
* Support Gateway without agent
2019-08-30 16:17:41 +08:00
kezhenxu94 49f50a24a4 Support upgrade backend w/o rebooting agents (#3170)
* Support upgrade backend w/o rebooting agents
2019-08-02 09:25:17 +08:00
吴晟 Wu Sheng 2e846c6078 Dynamic Configuration and Dynamic Configuration Service (#2810)
* Implement the base of config API module.

* Finish configuration module codebases w/o tests, revert some changes.

* Finish mock tests.

* Add new gRPC service for configuration.

* Make gRPC configuration sync provider works.

* Add database slow statement dynamic setting.

* Finish the dynamic configuration service.

* Fix version.
2019-06-03 23:11:52 +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 12f9991eef
Add documents for timezone and ttl (#2607) 2019-05-07 07:27:41 +08:00
吴晟 Wu Sheng 0ecf641c17 Support gRPC metric exporter (#2395)
* Support grpc exporter.

* Support scope(all) metric export and finish document.

* Close exporter even in local debug env. And fix CI.

* Remove the system.out

* Fix absent 4.

* Support subscription from remote.

* Add the doc

* Update application.yml
2019-03-25 15:48:00 +08:00
吴晟 Wu Sheng 499638775f
New architecture graph, new documents. (#2345) 2019-03-11 18:12:59 +08:00
吴晟 Wu Sheng 333bcd48e0
Provide slow database rule document. (#2253) 2019-02-18 21:23:36 +08:00
吴晟 Wu Sheng 6499d4f583
Implement Prometheus to oap backend telemetry (#2133)
* 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
2019-01-08 23:20:13 +08:00
吴晟 Wu Sheng ec391becad
Provide two start up modes and documents. (#2116) 2019-01-03 15:19:45 +08:00
吴晟 Wu Sheng 5577f67de7 Support backend sampling (#1977)
* Support sampling trace at server side and keep metric right.

* Add a trace sampling document

* Fix wrong default value.

* Fix document issue.

* Fix assemble issue.

* Fix wrong settings and doc.
2018-11-29 23:33:07 +08:00
吴晟 Wu Sheng 7188c9c776
Support init mode and document with it. (#1900) 2018-11-15 21:50:00 +08:00
吴晟 Wu Sheng 7ad619ac91
Prepare new doc for v6 (#1695)
* Replace v5 changes by a link to 5.x branch. New v6 changelog.

* Finish query doc and fix a missing field in alarm doc.

* Add link to official oal in alarm doc.

* Fix words.

* Fix some doc

* Update README.md

* Update README.md

* Update README.md

* Update README.md
2018-10-07 09:51:29 +08:00
吴晟 Wu Sheng 64d886f197
Add document of contributions and some guides (#1672)
* Change oal doc.

* Remove typo

* Remove document WIP tag.

* Fix few words.

* no message

* Adjust contribution guides.
2018-09-13 21:01:36 +08:00
Wu Sheng f2811800b2 Add more ducoments. 2018-09-03 15:46:04 +08:00
Wu Sheng f80b031250 Add many new chapters of v6 document. Make the document more clear. 2018-09-02 23:11:56 +08:00
Wu Sheng 1b0d80c5fc Add a lot of documents. @peng-yongsheng @hanahmily . Also @hanahmily , the k8 cluster management document and deploy document need you to add. 2018-09-01 23:32:59 +08:00