* Support Metric level function `serviceRelation` in `MAL`.
* Support envoy metrics binding into the topology.
* add istio args
* remove istio 1.7
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: Jared Tan <jian.tan@daocloud.io>
Co-authored-by: Zhenxu <kezhenxu94@apache.org>
The possible metrics names are relatively fixed in an OAP run, we previously always escape the metrics names, building a new regex Pattern from scratch, which is cpu-consuming.
In this patch, I cache the escaped metrics names, and if it missed, use a pre-compiled regex Pattern to escape the metrics name.
This patch also replace string concatenation `+` with `StringBuilder` in generated classes, which won't get optimized by Java compiler
This may reduce 1~1.5 vCPU under 20K RPS environment.
* Add `sum` function in meter system
* Fix minor potential bug and reformat some codes
* Fix a bug
* Use Set to hold the {aggregate,scope} labels as same labels maybe added by multiple aggregation functions
* Separate downsampling function and revert unnecessary codes
* 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