### 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
* Support dynamic column in the source.
* Support activeExtraModelColumns as a default OFF option.
* Fix words
* Update backend-setup.md
Fix format issue.
* Support new percentile func with new alarm and exporter for this new func.
* Fix e2e and OAL script
* Fix wrong column.
* Fix percentile bug and oal engine bug.
* Update query protocol and add percentile test case
* Support new query
* Adopt GraphQL requirement
* Fix wrong type cast.
* Fix query in H2 and ES.
* Fix docs and comments.
* Fix an e2e compile issue
* Fix javadoc issue and e2e test issue.
* Change CPM to Apdex in TTL test.
* Fix OAL for TTL e2e
* Add metrics query for service percentile.
* Fix OAL engine bug. Method deserialize is not working when more than two field types are IntKeyLongValueHashMap
* Support multiple IntKeyLongValueHashMap fields in remote. About serialize/deserialize methods.
* Fix graphql statement error in e2e.
* Fix serialize not working and add generated serialize/deserialize of percentile into test cases.
* Fix test case format
* Remove generated code test.
* Fix failed e2e test
* Use avg resp time to apdex in the TTL test.
* ADD multiple linear metrics check for endpoint in e2e cluster.
* Support `-` to represent no threshold and doc of alarm about this.
* Move break to right place.
* Fix wrong break(s)
* Fix break and add a test case for multiple values alarm.
* Fix format.
* Add more doc for this new feature and GraphQL query protocol.
Co-authored-by: Jared Tan <jian.tan@daocloud.io>
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
* Provide profile task downstream to sniffer
* fix agent unit testcase issue
* add profile switch config on sniffer
* fix es error
* 1. add @DefaultImplementor on the sniffer profile task service
2. change ProfileTaskExecutionService#PROFILE_TASK_READY_SCHEDULE to final and remove volatile
2. fix style error
* change timeFromStartMills use `<` to compare
* 1. add `maxSamplingCount` to profile task
2. make profile task limit to the common package
* 1. change `agent.active_profile` to `profile.active` and make true on default
2. add `maxSamplingCount` in profile task
3. use `createTime` to check has new command list
4. add task re-check before process profile task
* 1. add `profile-receiver` document
2. change `ProfileTaskExecutionService` use single schedule thread pool
3. cache dont need fetch data when no data, use auto-fresh mechanism only
* remove navigate time judge, fix comment wrong meaning
* 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
* [Feature] Officially support ElasticSearch 7 as backend storage
* Extract bootstrap module to be shared by multiple starters
* Add missing configuration file and distinguish different version in test
* Update known-oap-backend-dependencies-es7.txt
Update the dependency lib
* Fix missing adaptation to ElasticSearch 7
* Rename ElasticSearch 7 specific class with Es7 infix
* Fix miss-adapted ElasticSearch DAO API
* Add ES7 specific configuration and polish documentations
* Polish documentations
* Polish documentations
* Add register persistent worker latency metrics #3671
* remove never thrown exception on Time#close()
add panel to mesh-mode-grafana.json
* remove never thrown exception on Time#close()
add panel to mesh-mode-grafana.json
* Is it a typo or not?
* delete datasource-settings.properties
* handle 'metadataQueryMaxSize'
* delete DynamicModuleConfig.java
* modify mysql config
* parsing yaml to support the configuration for multiple properties
* delete datasource-settings.properties
* modify doc
* add properties for docker-entrypoint.sh
* add testLoadConfig()
* Provide Consul dynamic configuration center implementation
* Add more unit tests
* Fix unit test
* Add more unit tests and remove unused file
* Remove redundant doc
* The new feature of Elasticsearch storage with the time series implementation.
* Time bucket util improve.
* Fixed some Gramma error.
* Update ttl.md
Polish English a little.
* Update ttl.md
Add more explicit description of TTL
* Update ttl.md
* Update StorageModuleElasticsearchConfig.java
Set otherMetricsDataTTL = 0 as default, make user more clear.
* Rename the timeSeriesAble to capableOfTimeSeries
* Fixed a test case failure.
* Make Jaeger receiver works in 12450 as default.
* Finish compile and codebase.
* Make codes runnable.
* Finish Jaeger query tests.
* Add document for jaeger receiver.
* Add readme.
* Fix a break link.
* Finish doc.
* Codebase for zipkin span persistence.
* Fix missing fields in storage.
* Miss the latency field.
* Finish some tests.
* Fix wrong latency.
* Finish doc and reset application.yml
* Make the description more clear.
* 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
* Added elasticsearch warehouse certification support
* Add the elasticsearch service for Http Basic instructions
* Update backend-storage.md
Change document.
* Support to register different host/port at cluster coordinator. Only for Zookeeper and Consul
* Provide document for internalComHost and internalComPort
* Reset port to default.
* 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
* Provide consul cluster plugin.
* Change log and application config file.
* Add consul's config item into the docker's application.yml.
* Fixed bug.
* Add consul description into readme.
* Add okhttp component license.
* Support alarm in service instance and endpoint.
* Fix alarm default settings and document.
* Fix wrong default setting
* Make service instance and endpoint scopes available in alarm core.
* Fix alarm bug.
* 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.
* Change some codes to make zipkin receiver works, not done yet.
* @adriancole Zipkin receiver is coming back again.
* Fix document and fix for Zipkin receiver.
* Fix some bugs.
* Fix register bug.
* Fix transfer bug for new backend core.