* [maven-release-plugin] prepare release v9.5.0
* [maven-release-plugin] prepare for next development iteration
* Create changes-9.5.0.md
* Set changes.md for 9.6.0
* Support HTTP URI formatting through ai-pipeline to do pattern recognition.
* Add new HTTP URI grouping engine with benchmark.
* [Breaking Change] Use the new HTTP URI grouping engine to replace the old regex based mechanism.
* [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
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.
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.
* Update JDK compiling level to 8, and remove zip dist.
* Exclude annotation and shade API.
* Fix more exclusion.
* 1. Update grava and gson 2. Fix compile issue. 3. Keep protoc and maven plugin in old version. Some incompatible of 3rd party grpc proto.
* Fix dependency conflicts, license and notice issue, and dependency check script issue
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
* Add apdex function to OAL
* Add empty line
* Setup config watcher
* Add identifier type to function parameter
* Add config test
* Update score algorithm
* Replace responseCode with status
* Add comments about apdex score algorithm
* Add docs
* Add e2e test case
* Update test case
* Fix disptch class generating error
* Update value name of apdex metric
* Tuning threshold
* Fix single tolerated point bug
* Close the clients which are unreachable.
Remote client manager test case and comments.
* Test the GRPCRemote client.
* 1. Catch the throwable for onComplete method cause of it will throw exception when connection lost.
2. Check the gRPC channel state, send message when state is ready, wait 5 second when state is not ready.
Notice: gRPC channel getState with true parameter will trigger reconnect operation.
* gRPC client will reconnect to the server when network recorvered.
* Recovery application.yml
* Recovery proto module commit id.
* no message
* Fixed compile error.
* 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