Commit Graph

13 Commits

Author SHA1 Message Date
John Bampton 85fc4f827c
Fix spelling (#6418) 2021-02-22 07:40:35 +08:00
Gao Hongtao 0a9a746efb
Update backend-fetcher.md (#5972) 2020-12-08 23:02:31 +08:00
osiriswd 6eb5648ba8
Support Kafka MirrorMaker 2.0 to replicate topics between Kafka clusters. (#5949) 2020-12-06 17:10:30 +08:00
Gao Hongtao 53e42bce5d
Insert group name into services of so11y and istio relevant metrics (#5897) 2020-11-26 14:38:10 +08:00
Gao Hongtao b39c4306a8
Observing Istio control plane (#5835)
* Add Istio control plane otel MAL expressions and UI template
* Remove OpenCensus receiver, add OpenTelemetry receiver
* Transfer oc receiver to ot receiver
* Create indices on boot
* Document istio metrics and otel receiver
* Update CHANGES.md
* Fix potential NPE
* Add group to meter and cleanup istio mixer
* Update e2e case due to the change of meter metric name
* Update prometheus fetcher config, fix sql builder issue of h2
* Disable istio and so11y metrics by default.
* Fix micrometer testcase
2020-11-25 21:07:03 +08:00
zifeihan ac36a3ff49
Add ThreadPoolExecutor for handle kafka message. (#5718)
* 1.Add ThreadPoolExecutor for handle kafka message.

Co-authored-by: Daming <zteny@foxmail.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-11-01 15:28:14 +08:00
Gao Hongtao 9ce47d5bdc
Meter Analysis Language (#5531) 2020-10-21 16:45:47 +08:00
Gao Hongtao 35264e6171
Support SSL for prometheus telemetry and prometheus fetcher (#5431)
* Support SSL for prometheus telemetry and prometheus fetcher
* Documents
* Clear up abandunt dependencies
* Update license

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-09-05 17:01:09 +08:00
Gao Hongtao 1473c04d3e
Introduce label system to histogram (#5425) 2020-09-04 14:49:47 +08:00
Daming 052818041b
Fix typo (#5214) 2020-08-03 12:38:37 +08:00
Daming f9257f5274
Provide kafka as collector/reporter (#4847) 2020-07-30 11:55:49 +08:00
Gao Hongtao 4f0f39ffcc
Ingest prometheus metrics through meter system (#4783) 2020-06-08 09:19:34 +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