From 5be35ba7740a6be09578a431cd8d2755ceca9181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=9F=20Wu=20Sheng?= Date: Mon, 30 Dec 2024 21:07:21 +0800 Subject: [PATCH] [Breaking Change] Remove H2 as storage option permanently. (#12909) Remove H2 as storage option permanently. BanyanDB 0.8(OAP 10.2 required) is easy, stable and production-ready. Don't need H2 as default storage anymore. --- .github/workflows/skywalking.yaml | 16 - .licenserc.yaml | 3 - dist-material/release-docs/LICENSE | 8 - docs/en/changes/changes.md | 3 + docs/en/debugging/config_dump.md | 2 +- docs/en/setup/backend/backend-setup.md | 39 +- docs/en/setup/backend/backend-storage.md | 11 +- .../setup/backend/configuration-vocabulary.md | 717 +++++++++--------- docs/en/setup/backend/storages/banyandb.md | 24 + docs/en/setup/backend/storages/h2.md | 16 - docs/menu.yml | 2 - oap-server-bom/pom.xml | 6 - .../server/core/zipkin/ZipkinSpanRecord.java | 2 +- .../src/test/resources/application.yml | 5 - .../src/main/resources/application.yml | 143 ++-- .../storage-jdbc-hikaricp-plugin/pom.xml | 4 - .../plugin/jdbc/h2/H2StorageProvider.java | 40 - .../plugin/jdbc/h2/H2TableInstaller.java | 36 - ...g.oap.server.library.module.ModuleProvider | 1 - .../src/main/resources/application.yml | 9 +- test/e2e-v2/cases/activemq/docker-compose.yml | 7 + test/e2e-v2/cases/alarm/h2/docker-compose.yml | 60 -- test/e2e-v2/cases/alarm/h2/e2e.yaml | 47 -- .../apisix/otel-collector/docker-compose.yml | 6 + .../cases/aws/api-gateway/docker-compose.yml | 7 + .../cases/aws/dynamodb/docker-compose.yml | 7 + test/e2e-v2/cases/aws/eks/docker-compose.yml | 7 + test/e2e-v2/cases/aws/s3/docker-compose.yml | 7 + test/e2e-v2/cases/browser/docker-compose.yml | 9 +- .../docker-compose.yml | 6 + .../cases/elasticsearch/docker-compose.yml | 6 + test/e2e-v2/cases/event/h2/docker-compose.yml | 48 -- test/e2e-v2/cases/event/h2/e2e.yaml | 37 - .../cases/exporter/kafka/docker-compose.yml | 7 + test/e2e-v2/cases/go/docker-compose.yml | 7 + .../kafka/kafka-monitoring/docker-compose.yml | 7 + .../e2e-v2/cases/kafka/log/docker-compose.yml | 7 + .../cases/kafka/meter/docker-compose.yml | 7 + .../cases/kafka/profile/docker-compose.yml | 7 + .../kafka/simple-so11y/docker-compose.yml | 7 + test/e2e-v2/cases/kong/docker-compose.yml | 6 + test/e2e-v2/cases/log/h2/docker-compose.yml | 61 -- test/e2e-v2/cases/log/h2/e2e.yaml | 47 -- test/e2e-v2/cases/lua/docker-compose.yml | 7 + .../mariadb-slowsql/docker-compose.yaml | 9 +- test/e2e-v2/cases/menu/h2/docker-compose.yml | 69 -- test/e2e-v2/cases/menu/h2/e2e.yaml | 47 -- test/e2e-v2/cases/meter/docker-compose.yml | 7 + test/e2e-v2/cases/mongodb/docker-compose.yml | 6 + test/e2e-v2/cases/mqe/docker-compose.yml | 7 + .../cases/mqe/expected/topN-OP-service.yml | 6 +- test/e2e-v2/cases/mqe/mqe-cases.yaml | 2 +- test/e2e-v2/cases/nginx/docker-compose.yml | 7 + test/e2e-v2/cases/nodejs/docker-compose.yml | 7 + .../cases/otlp-traces/docker-compose.yml | 6 + test/e2e-v2/cases/php/docker-compose.yml | 7 + .../async-profiler/h2/docker-compose.yml | 58 -- .../profiling/async-profiler/h2/e2e.yaml | 37 - .../profiling/trace/h2/docker-compose.yml | 57 -- test/e2e-v2/cases/profiling/trace/h2/e2e.yaml | 37 - test/e2e-v2/cases/pulsar/docker-compose.yml | 7 + test/e2e-v2/cases/python/docker-compose.yml | 7 + test/e2e-v2/cases/rabbitmq/docker-compose.yml | 6 + .../redis/redis-exporter/docker-compose.yml | 6 + test/e2e-v2/cases/rocketmq/docker-compose.yml | 7 + .../native-protocols/docker-compose.yml | 7 + .../cases/simple/auth/docker-compose.yml | 7 + .../cases/simple/jdk/docker-compose.yml | 7 + .../cases/simple/mtls/docker-compose.yml | 7 + .../cases/simple/ssl/docker-compose.yml | 7 + test/e2e-v2/cases/so11y/docker-compose.yml | 7 + .../cases/storage/h2/docker-compose.yml | 73 -- test/e2e-v2/cases/storage/h2/e2e.yaml | 50 -- .../cases/virtual-mq/docker-compose.yml | 7 + .../docker-compose.yml | 7 + .../cases/vm/telegraf/docker-compose.yml | 7 + .../e2e-v2/cases/vm/zabbix/docker-compose.yml | 7 + test/e2e-v2/cases/win/docker-compose.yml | 7 + .../e2e-v2/cases/zipkin/h2/docker-compose.yml | 73 -- test/e2e-v2/cases/zipkin/h2/e2e.yaml | 47 -- .../cases/zipkin/kafka/docker-compose.yml | 7 + test/e2e-v2/script/dockerfile/Dockerfile.h2 | 24 - tools/profile-exporter/application.yml | 37 +- 83 files changed, 810 insertions(+), 1491 deletions(-) delete mode 100644 docs/en/setup/backend/storages/h2.md delete mode 100644 oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java delete mode 100644 oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2TableInstaller.java delete mode 100644 test/e2e-v2/cases/alarm/h2/docker-compose.yml delete mode 100644 test/e2e-v2/cases/alarm/h2/e2e.yaml delete mode 100644 test/e2e-v2/cases/event/h2/docker-compose.yml delete mode 100644 test/e2e-v2/cases/event/h2/e2e.yaml delete mode 100644 test/e2e-v2/cases/log/h2/docker-compose.yml delete mode 100644 test/e2e-v2/cases/log/h2/e2e.yaml delete mode 100644 test/e2e-v2/cases/menu/h2/docker-compose.yml delete mode 100644 test/e2e-v2/cases/menu/h2/e2e.yaml delete mode 100644 test/e2e-v2/cases/profiling/async-profiler/h2/docker-compose.yml delete mode 100644 test/e2e-v2/cases/profiling/async-profiler/h2/e2e.yaml delete mode 100644 test/e2e-v2/cases/profiling/trace/h2/docker-compose.yml delete mode 100644 test/e2e-v2/cases/profiling/trace/h2/e2e.yaml delete mode 100644 test/e2e-v2/cases/storage/h2/docker-compose.yml delete mode 100644 test/e2e-v2/cases/storage/h2/e2e.yaml delete mode 100644 test/e2e-v2/cases/zipkin/h2/docker-compose.yml delete mode 100644 test/e2e-v2/cases/zipkin/h2/e2e.yaml delete mode 100644 test/e2e-v2/script/dockerfile/Dockerfile.h2 diff --git a/.github/workflows/skywalking.yaml b/.github/workflows/skywalking.yaml index f61a5bf0d30f..7d14091b8486 100644 --- a/.github/workflows/skywalking.yaml +++ b/.github/workflows/skywalking.yaml @@ -362,8 +362,6 @@ jobs: config: test/e2e-v2/cases/storage/banyandb/e2e.yaml - name: BanyanDB TLS config: test/e2e-v2/cases/storage/banyandb/tls/e2e.yaml - - name: Storage H2 - config: test/e2e-v2/cases/storage/h2/e2e.yaml - name: Storage MySQL config: test/e2e-v2/cases/storage/mysql/e2e.yaml - name: Storage PostgreSQL @@ -395,8 +393,6 @@ jobs: - name: Storage ES Sharding config: test/e2e-v2/cases/storage/es/es-sharding/e2e.yaml - - name: Alarm H2 - config: test/e2e-v2/cases/alarm/h2/e2e.yaml - name: Alarm ES config: test/e2e-v2/cases/alarm/es/e2e.yaml - name: Alarm ES Sharding @@ -417,15 +413,11 @@ jobs: - name: Event BanyanDB config: test/e2e-v2/cases/event/banyandb/e2e.yaml - - name: Event H2 - config: test/e2e-v2/cases/event/h2/e2e.yaml - name: Event ES config: test/e2e-v2/cases/event/es/e2e.yaml - name: Event MySQL config: test/e2e-v2/cases/event/mysql/e2e.yaml - - name: Log H2 - config: test/e2e-v2/cases/log/h2/e2e.yaml - name: Log MySQL config: test/e2e-v2/cases/log/mysql/e2e.yaml - name: Log PostgreSQL @@ -454,8 +446,6 @@ jobs: - name: Trace Profiling BanyanDB config: test/e2e-v2/cases/profiling/trace/banyandb/e2e.yaml - - name: Trace Profiling H2 - config: test/e2e-v2/cases/profiling/trace/h2/e2e.yaml - name: Trace Profiling ES config: test/e2e-v2/cases/profiling/trace/es/e2e.yaml - name: Trace Profiling ES Sharding @@ -621,8 +611,6 @@ jobs: config: test/e2e-v2/cases/zipkin/mysql/e2e.yaml - name: Zipkin Opensearch config: test/e2e-v2/cases/zipkin/opensearch/e2e.yaml - - name: Zipkin H2 - config: test/e2e-v2/cases/zipkin/h2/e2e.yaml - name: Zipkin Postgres config: test/e2e-v2/cases/zipkin/postgres/e2e.yaml - name: Zipkin Kafka @@ -677,8 +665,6 @@ jobs: - name: UI Menu BanyanDB config: test/e2e-v2/cases/menu/banyandb/e2e.yaml - - name: UI Menu H2 - config: test/e2e-v2/cases/menu/h2/e2e.yaml - name: UI Menu ES config: test/e2e-v2/cases/menu/es/e2e.yaml - name: UI Menu Sharding ES @@ -709,8 +695,6 @@ jobs: config: test/e2e-v2/cases/profiling/async-profiler/banyandb/e2e.yaml - name: Async Profiler MySQL config: test/e2e-v2/cases/profiling/async-profiler/mysql/e2e.yaml - - name: Async Profiler h2 - config: test/e2e-v2/cases/profiling/async-profiler/h2/e2e.yaml steps: - uses: actions/checkout@v3 with: diff --git a/.licenserc.yaml b/.licenserc.yaml index 080ecd0599eb..e66de4502ef5 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -125,9 +125,6 @@ dependency: - name: com.github.luben:zstd-jni version: 1.4.3-1 license: BSD-2-Clause - - name: com.h2database:h2 - version: 2.1.212 - license: MPL-2.0 - name: org.antlr:antlr4-runtime version: 4.11.1 license: BSD-3-Clause diff --git a/dist-material/release-docs/LICENSE b/dist-material/release-docs/LICENSE index 689cba814655..d6fd81e1f917 100644 --- a/dist-material/release-docs/LICENSE +++ b/dist-material/release-docs/LICENSE @@ -575,14 +575,6 @@ The text of each license is also included in licenses/LICENSE-[project].txt. https://mvnrepository.com/artifact/org.javassist/javassist/3.25.0-GA MPL-1.1 and LGPL-2.1 -======================================================================== -MPL-2.0 licenses -======================================================================== -The following components are provided under the MPL-2.0 License. See project link for details. -The text of each license is also included in licenses/LICENSE-[project].txt. - - https://mvnrepository.com/artifact/com.h2database/h2/2.1.212 MPL-2.0 - ======================================================================== Public Domain licenses ======================================================================== diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md index 5d171cf08ef4..87aa02c5d44a 100644 --- a/docs/en/changes/changes.md +++ b/docs/en/changes/changes.md @@ -11,6 +11,8 @@ publish the source tar and binary tar to the website download page, and docker images to docker hub. * **Warning** If you are using the `skywalking-oap-server` as a dependency in your project, you need to download the source tar from the website and publish them to your private maven repository. +* [Breaking Change] Remove H2 as storage option permanently. BanyanDB 0.8(OAP 10.2 required) is easy, stable and + production-ready. Don't need H2 as default storage anymore. #### OAP Server @@ -46,6 +48,7 @@ * Add component ID(160) for Caffeine. * Alarm: Support store and query the metrics snapshot when the alarm is triggered. * Alarm: Remove unused `Alarm Trend` query. +* Fix missing remote endpoint IP address in span query of zipkin query module. #### UI diff --git a/docs/en/debugging/config_dump.md b/docs/en/debugging/config_dump.md index 128640487cb9..4f5bad7b8d52 100644 --- a/docs/en/debugging/config_dump.md +++ b/docs/en/debugging/config_dump.md @@ -43,7 +43,7 @@ in the dump result. For example, the `storage.elasticsearch.password` in the fol ```yaml storage: - selector: ${SW_STORAGE:h2} + selector: ${SW_STORAGE:elasticsearch} elasticsearch: password: ${SW_ES_PASSWORD:""} ``` diff --git a/docs/en/setup/backend/backend-setup.md b/docs/en/setup/backend/backend-setup.md index 38bd94ee2370..ea79b79531d6 100755 --- a/docs/en/setup/backend/backend-setup.md +++ b/docs/en/setup/backend/backend-setup.md @@ -14,19 +14,29 @@ SkyWalking's backend distribution package consists of the following parts: ## Requirements and default settings -Requirement: **Java 11/17/21**. +Requirement: **Java 11/17/21**. -Before you begin, you should understand that the main purpose of the following quickstart is to help you obtain a basic configuration for previews/demos. Performance and long-term running are **NOT** among the purposes of the quickstart. +You should set up the database ready before starting the backend. We recommend to use BanyanDB. +If you want to use other databases, please read the [storage document](backend-storage.md). -**For production/QA/tests environments, see [Backend and UI deployment documents](ui-setup.md).** +Use the docker mode to run BanyanDB containerized. +```shell +docker pull apache/skywalking-banyandb:latest -You can use `bin/startup.sh` (or cmd) to start up the backend and UI with their default settings, set out as follows: +docker run -d \ + -p 17912:17912 \ + -p 17913:17913 \ + --name banyandb \ + apache/skywalking-banyandb:latest \ + standalone +``` + +You can use `bin/startup.sh` (or cmd) to start up the OAP server and UI with their default settings, +OAP listens on `0.0.0.0/11800` for gRPC APIs and `0.0.0.0/12800` for HTTP APIs. -- Backend storage uses **H2 by default** (for an easier start) -- Backend listens on `0.0.0.0/11800` for gRPC APIs and `0.0.0.0/12800` for HTTP REST APIs. +In Java, DotNetCore, Node.js, and Istio agents/probes, you should set the gRPC service address to `ip/host:11800`, and IP/host should be where your OAP is. -In Java, DotNetCore, Node.js, and Istio agents/probes, you should set the gRPC service address to `ip/host:11800`, and IP/host should be where your backend is. -- UI listens on `8080` port and request `127.0.0.1/12800` to run a GraphQL query. +UI listens on `8080` port and request `127.0.0.1/12800` to run a GraphQL query. ### Interaction @@ -114,12 +124,7 @@ Example: ```yaml storage: - selector: mysql # the mysql storage will actually be activated, while the h2 storage takes no effect - h2: - properties: - jdbcUrl: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=FALSE} - dataSource.user: ${SW_STORAGE_H2_USER:sa} - metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000} + selector: banyandb # the banyandb storage will actually be activated. mysql: properties: jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?allowMultiQueries=true"} @@ -130,7 +135,11 @@ storage: dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048} dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true} metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000} - # other configurations + banyandb: + targets: ${SW_STORAGE_BANYANDB_TARGETS:127.0.0.1:17912} + maxBulkSize: ${SW_STORAGE_BANYANDB_MAX_BULK_SIZE:10000} + flushInterval: ${SW_STORAGE_BANYANDB_FLUSH_INTERVAL:15} + flushTimeout: ${SW_STORAGE_BANYANDB_FLUSH_TIMEOUT:10} ``` 1. **`storage`** is the module. diff --git a/docs/en/setup/backend/backend-storage.md b/docs/en/setup/backend/backend-storage.md index 7f34121e4eed..dac86fbbccff 100644 --- a/docs/en/setup/backend/backend-storage.md +++ b/docs/en/setup/backend/backend-storage.md @@ -4,7 +4,7 @@ use one of them by specifying it as the `selector` in `application.yml`: ```yaml storage: - selector: ${SW_STORAGE:elasticsearch} + selector: ${SW_STORAGE:banyandb} ``` Natively supported storage: @@ -12,16 +12,11 @@ Natively supported storage: ## BanyanDB - Native APM Database - [BanyanDB](storages/banyandb.md) -This is recommended to use for medium scale deployments from 0.6 until 1.0. -It has demonstrated significant potential in performance improvement. As of version 0.6.1, it achieves 5x less memory usage, +It has demonstrated significant potential in performance improvement. It indicates 5x less memory usage, 1/5 disk IOPS, 1/4 disk throughput, and 30% less disk space, albeit with a slightly higher CPU trade-off, compared to Elasticsearch. -We are looking for early adoption. Please contact us through Slack channels if you are interested in using BanyanDB. +It is designed and implemented natively for SkyWalking use cases. ## SQL database -- [H2](storages/h2.md) - -H2 is the default storage option in the distribution package. It is recommended to use H2 for testing and development ONLY. - - [MySQL and its compatible databases](storages/mysql.md) - [PostgreSQL and its compatible databases](storages/postgresql.md) diff --git a/docs/en/setup/backend/configuration-vocabulary.md b/docs/en/setup/backend/configuration-vocabulary.md index c0e08ec23913..525c0e9ae8af 100644 --- a/docs/en/setup/backend/configuration-vocabulary.md +++ b/docs/en/setup/backend/configuration-vocabulary.md @@ -2,369 +2,362 @@ The Configuration Vocabulary lists all available configurations provided by `application.yml`. -| Module | Provider | Settings | Value(s) and Explanation | System Environment Variable¹ | Default | -|-------------------------|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|----------------------------------------------------------------------------------------------| -| core | default | role | Option values: `Mixed/Receiver/Aggregator`. **Receiver** mode OAP opens the service to the agents, then analyzes and aggregates the results, and forwards the results for distributed aggregation. Aggregator mode OAP receives data from Mixer and Receiver role OAP nodes, and performs 2nd level aggregation. **Mixer** means both Receiver and Aggregator. | SW_CORE_ROLE | Mixed | -| - | - | restHost | Binding IP of RESTful services. Services include GraphQL query and HTTP data report. | SW_CORE_REST_HOST | 0.0.0.0 | -| - | - | restPort | Binding port of RESTful services. | SW_CORE_REST_PORT | 12800 | -| - | - | restContextPath | Web context path of RESTful services. | SW_CORE_REST_CONTEXT_PATH | / | -| - | - | restMaxThreads | Maximum thread number of RESTful services. | SW_CORE_REST_REST_MAX_THREADS | 200 | -| - | - | restIdleTimeOut | Connector idle timeout of RESTful services (in milliseconds). | SW_CORE_REST_IDLE_TIMEOUT | 30000 | -| - | - | restAcceptQueueSize | ServerSocketChannel Backlog of RESTful services. | SW_CORE_REST_QUEUE_SIZE | 0 | -| - | - | httpMaxRequestHeaderSize | Maximum request header size accepted. | SW_CORE_HTTP_MAX_REQUEST_HEADER_SIZE | 8192 | -| - | - | gRPCHost | Binding IP of gRPC services, including gRPC data report and internal communication among OAP nodes. | SW_CORE_GRPC_HOST | 0.0.0.0 | -| - | - | gRPCPort | Binding port of gRPC services. | SW_CORE_GRPC_PORT | 11800 | -| - | - | gRPCSslEnabled | Activates SSL for gRPC services. | SW_CORE_GRPC_SSL_ENABLED | false | -| - | - | gRPCSslKeyPath | File path of gRPC SSL key. | SW_CORE_GRPC_SSL_KEY_PATH | - | -| - | - | gRPCSslCertChainPath | File path of gRPC SSL cert chain. | SW_CORE_GRPC_SSL_CERT_CHAIN_PATH | - | -| - | - | gRPCSslTrustedCAPath | File path of gRPC trusted CA. | SW_CORE_GRPC_SSL_TRUSTED_CA_PATH | - | -| - | - | downsampling | Activated level of down sampling aggregation. | | Hour,Day | -| - | - | enableDataKeeperExecutor | Controller of TTL scheduler. Once disabled, TTL wouldn't work. | SW_CORE_ENABLE_DATA_KEEPER_EXECUTOR | true | -| - | - | dataKeeperExecutePeriod | Execution period of TTL scheduler (in minutes). Execution doesn't mean deleting data. The storage provider (e.g. ElasticSearch storage) could override this. | SW_CORE_DATA_KEEPER_EXECUTE_PERIOD | 5 | -| - | - | recordDataTTL | The lifecycle of record data (in days). Record data includes traces, top N sample records, and logs. Minimum value is 2. | SW_CORE_RECORD_DATA_TTL | 3 | -| - | - | metricsDataTTL | The lifecycle of metrics data (in days), including metadata. We recommend setting metricsDataTTL >= recordDataTTL. Minimum value is 2. | SW_CORE_METRICS_DATA_TTL | 7 | -| - | - | l1FlushPeriod | The period of L1 aggregation flush to L2 aggregation (in milliseconds). | SW_CORE_L1_AGGREGATION_FLUSH_PERIOD | 500 | -| - | - | storageSessionTimeout | The threshold of session time (in milliseconds). Default value is 70000. | SW_CORE_STORAGE_SESSION_TIMEOUT | 70000 | -| - | - | persistentPeriod | The period of doing data persistence. Unit is second.Default value is 25s | SW_CORE_PERSISTENT_PERIOD | 25 | -| - | - | topNReportPeriod | The execution period (in minutes) of top N sampler, which saves sampled data into the storage. | SW_CORE_TOPN_REPORT_PERIOD | 10 | -| - | - | activeExtraModelColumns | Appends entity names (e.g. service names) into metrics storage entities. | SW_CORE_ACTIVE_EXTRA_MODEL_COLUMNS | false | -| - | - | serviceNameMaxLength | Maximum length limit of service names. | SW_SERVICE_NAME_MAX_LENGTH | 70 | -| - | - | instanceNameMaxLength | Maximum length limit of service instance names. The maximum length of service + instance names should be less than 200. | SW_INSTANCE_NAME_MAX_LENGTH | 70 | -| - | - | endpointNameMaxLength | Maximum length limit of endpoint names. The maximum length of service + endpoint names should be less than 240. | SW_ENDPOINT_NAME_MAX_LENGTH | 150 | -| - | - | searchableTracesTags | Defines a set of span tag keys which are searchable through GraphQL. Multiple values are separated by commas. The max length of key=value should be less than 256 or will be dropped. | SW_SEARCHABLE_TAG_KEYS | http.method,http.status_code,rpc.status_code,db.type,db.instance,mq.queue,mq.topic,mq.broker | -| - | - | searchableLogsTags | Defines a set of log tag keys which are searchable through GraphQL. Multiple values are separated by commas. The max length of key=value should be less than 256 or will be dropped. | SW_SEARCHABLE_LOGS_TAG_KEYS | level | -| - | - | searchableAlarmTags | Defines a set of alarm tag keys which are searchable through GraphQL. Multiple values are separated by commas. The max length of key=value should be less than 256 or will be dropped. | SW_SEARCHABLE_ALARM_TAG_KEYS | level | -| - | - | autocompleteTagKeysQueryMaxSize | The max size of tags keys for autocomplete select. | SW_AUTOCOMPLETE_TAG_KEYS_QUERY_MAX_SIZE | 100 | -| - | - | autocompleteTagValuesQueryMaxSize | The max size of tags values for autocomplete select. | SW_AUTOCOMPLETE_TAG_VALUES_QUERY_MAX_SIZE | 100 | -| - | - | gRPCThreadPoolSize | Pool size of gRPC server. | SW_CORE_GRPC_THREAD_POOL_SIZE | Default to gRPC's implementation, which is a cached thread pool that can grow infinitely. | -| - | - | maxConcurrentCallsPerConnection | The maximum number of concurrent calls permitted for each incoming connection. Defaults to no limit. | SW_CORE_GRPC_MAX_CONCURRENT_CALL | - | -| - | - | maxMessageSize | Sets the maximum message size allowed to be received on the server. Empty means 4 MiB. | SW_CORE_GRPC_MAX_MESSAGE_SIZE | 52428800 (50MB) | -| - | - | remoteTimeout | Timeout for cluster internal communication (in seconds). | - | 20 | -| - | - | maxSizeOfNetworkAddressAlias | The maximum size of network address detected in the system being monitored. | - | 1_000_000 | -| - | - | maxPageSizeOfQueryProfileSnapshot | The maximum size for snapshot analysis in an OAP query. | - | 500 | -| - | - | maxSizeOfAnalyzeProfileSnapshot | The maximum number of snapshots analyzed by the OAP. | - | 12000 | -| - | - | prepareThreads | The number of threads used to prepare metrics data to the storage. | SW_CORE_PREPARE_THREADS | 2 | -| - | - | enableEndpointNameGroupingByOpenapi | Automatically groups endpoints by the given OpenAPI definitions. | SW_CORE_ENABLE_ENDPOINT_NAME_GROUPING_BY_OPENAPI | true | -| - | - | maxDurationOfQueryEBPFProfilingData | The maximum duration(in second) of query the eBPF profiling data from database. | - | 30 | -| - | - | maxThreadCountOfQueryEBPFProfilingData | The maximum thread count of query the eBPF profiling data from database. | - | System CPU core size | -| - | - | uiMenuRefreshInterval | The period(in seconds) of refreshing the status of all UI menu items. | - | 20 | -| - | - | serviceCacheRefreshInterval | The period(in seconds) of refreshing the service cache. | SW_SERVICE_CACHE_REFRESH_INTERVAL | 10 | -| - | - | enableHierarchy | If disable the hierarchy, the service and instance hierarchy relation will not be built. And the query of hierarchy will return empty result. All the hierarchy relations are defined in the `hierarchy-definition.yml`. Notice: some of the configurations only available for kubernetes environments. | SW_CORE_ENABLE_HIERARCHY | true | -| cluster | standalone | - | Standalone is not suitable for running on a single node running. No configuration available. | - | - | -| - | zookeeper | namespace | The namespace, represented by root path, isolates the configurations in Zookeeper. | SW_NAMESPACE | `/`, root path | -| - | - | hostPort | Hosts and ports of Zookeeper Cluster. | SW_CLUSTER_ZK_HOST_PORT | localhost:2181 | -| - | - | baseSleepTimeMs | The period of Zookeeper client between two retries (in milliseconds). | SW_CLUSTER_ZK_SLEEP_TIME | 1000 | -| - | - | maxRetries | The maximum retry time. | SW_CLUSTER_ZK_MAX_RETRIES | 3 | -| - | - | enableACL | Opens ACL using `schema` and `expression`. | SW_ZK_ENABLE_ACL | false | -| - | - | schema | Schema for the authorization. | SW_ZK_SCHEMA | digest | -| - | - | expression | Expression for the authorization. | SW_ZK_EXPRESSION | skywalking:skywalking | -| - | - | internalComHost | The hostname registered in Zookeeper for the internal communication of OAP cluster. | SW_CLUSTER_INTERNAL_COM_HOST | - | -| - | - | internalComPort | The port registered in Zookeeper for the internal communication of OAP cluster. | SW_CLUSTER_INTERNAL_COM_PORT | -1 | -| - | kubernetes | namespace | Namespace deployed by SkyWalking in k8s. | SW_CLUSTER_K8S_NAMESPACE | default | -| - | - | labelSelector | Labels used for filtering OAP deployment in k8s. | SW_CLUSTER_K8S_LABEL | app=collector,release=skywalking | -| - | - | uidEnvName | Environment variable name for reading uid. | SW_CLUSTER_K8S_UID | SKYWALKING_COLLECTOR_UID | -| - | consul | serviceName | Service name for SkyWalking cluster. | SW_SERVICE_NAME | SkyWalking_OAP_Cluster | -| - | - | hostPort | Hosts and ports for Consul cluster. | SW_CLUSTER_CONSUL_HOST_PORT | localhost:8500 | -| - | - | aclToken | ACL Token of Consul. Empty string means `without ALC token`. | SW_CLUSTER_CONSUL_ACLTOKEN | - | -| - | - | internalComHost | The hostname registered in Consul for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_HOST | - | -| - | - | internalComPort | The port registered in Consul for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_PORT | -1 | -| - | etcd | serviceName | Service name for SkyWalking cluster. | SW_CLUSTER_ETCD_SERVICE_NAME | SkyWalking_OAP_Cluster | -| - | - | endpoints | Hosts and ports for etcd cluster. | SW_CLUSTER_ETCD_ENDPOINTS | localhost:2379 | -| - | - | namespace | Namespace for SkyWalking cluster. | SW_CLUSTER_ETCD_NAMESPACE | /skywalking | -| - | - | authentication | Indicates whether there is authentication. | SW_CLUSTER_ETCD_AUTHENTICATION | false | -| - | - | user | Etcd auth username. | SW_CLUSTER_ETCD_USER | | -| - | - | password | Etcd auth password. | SW_CLUSTER_ETCD_PASSWORD | | -| - | - | internalComHost | The hostname registered in etcd for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_HOST | - | -| - | - | internalComPort | The port registered in etcd for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_PORT | -1 | -| - | Nacos | serviceName | Service name for SkyWalking cluster. | SW_SERVICE_NAME | SkyWalking_OAP_Cluster | -| - | - | hostPort | Hosts and ports for Nacos cluster. | SW_CLUSTER_NACOS_HOST_PORT | localhost:8848 | -| - | - | namespace | Namespace used by SkyWalking node coordination. | SW_CLUSTER_NACOS_NAMESPACE | public | -| - | - | internalComHost | The hostname registered in Nacos for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_HOST | - | -| - | - | internalComPort | The port registered in Nacos for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_PORT | -1 | -| - | - | contextPath | Nacos set contextPath. | SW_CLUSTER_NACOS_CONTEXT_PATH | - | -| - | - | username | Nacos Auth username. | SW_CLUSTER_NACOS_USERNAME | - | -| - | - | password | Nacos Auth password. | SW_CLUSTER_NACOS_PASSWORD | - | -| - | - | accessKey | Nacos Auth accessKey. | SW_CLUSTER_NACOS_ACCESSKEY | - | -| - | - | secretKey | Nacos Auth secretKey. | SW_CLUSTER_NACOS_SECRETKEY | - | -| - | - | syncPeriodHttpUriRecognitionPattern | The period of HTTP URI recognition pattern synchronization (in seconds). | SW_CORE_SYNC_PERIOD_HTTP_URI_RECOGNITION_PATTERN | 10 | -| - | - | trainingPeriodHttpUriRecognitionPattern | The period of HTTP URI recognition pattern training (in seconds). | SW_CORE_TRAINING_PERIOD_HTTP_URI_RECOGNITION_PATTERN | 60 | -| - | - | maxHttpUrisNumberPerService | The maximum number of HTTP URIs per service. | SW_MAX_HTTP_URIS_NUMBER_PER_SERVICE | 3000 | | -| storage | elasticsearch | - | ElasticSearch (and OpenSearch) storage implementation. | - | - | -| - | - | namespace | Prefix of indexes created and used by SkyWalking. | SW_NAMESPACE | - | -| - | - | clusterNodes | ElasticSearch cluster nodes for client connection. | SW_STORAGE_ES_CLUSTER_NODES | localhost | -| - | - | protocol | HTTP or HTTPs. | SW_STORAGE_ES_HTTP_PROTOCOL | HTTP | -| - | - | connectTimeout | Connect timeout of ElasticSearch client (in milliseconds). | SW_STORAGE_ES_CONNECT_TIMEOUT | 3000 | -| - | - | socketTimeout | Socket timeout of ElasticSearch client (in milliseconds). | SW_STORAGE_ES_SOCKET_TIMEOUT | 30000 | -| - | - | responseTimeout | Response timeout of ElasticSearch client (in milliseconds), `0` disables the timeout. | SW_STORAGE_ES_RESPONSE_TIMEOUT | 15000 | -| - | - | numHttpClientThread | The number of threads for the underlying HTTP client to perform socket I/O. If the value is <= 0, the number of available processors will be used. | SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD | 0 | -| - | - | user | Username of ElasticSearch cluster. | SW_ES_USER | - | -| - | - | password | Password of ElasticSearch cluster. | SW_ES_PASSWORD | - | -| - | - | trustStorePath | Trust JKS file path. Only works when username and password are enabled. | SW_STORAGE_ES_SSL_JKS_PATH | - | -| - | - | trustStorePass | Trust JKS file password. Only works when username and password are enabled. | SW_STORAGE_ES_SSL_JKS_PASS | - | -| - | - | secretsManagementFile | Secrets management file in the properties format, including username and password, which are managed by a 3rd party tool. Capable of being updated them at runtime. | SW_ES_SECRETS_MANAGEMENT_FILE | - | -| - | - | dayStep | Represents the number of days in the one-minute/hour/day index. | SW_STORAGE_DAY_STEP | 1 | -| - | - | indexShardsNumber | Shard number of new indexes. | SW_STORAGE_ES_INDEX_SHARDS_NUMBER | 1 | -| - | - | indexReplicasNumber | Replicas number of new indexes. | SW_STORAGE_ES_INDEX_REPLICAS_NUMBER | 0 | -| - | - | specificIndexSettings | Specify the settings for each index individually. If configured, this setting has the highest priority and overrides the generic settings. | SW_STORAGE_ES_SPECIFIC_INDEX_SETTINGS | - | -| - | - | superDatasetDayStep | Represents the number of days in the super size dataset record index. Default value is the same as dayStep when the value is less than 0. | SW_STORAGE_ES_SUPER_DATASET_DAY_STEP | -1 | -| - | - | superDatasetIndexShardsFactor | Super dataset is defined in the code (e.g. trace segments). This factor provides more shards for the super dataset: shards number = indexShardsNumber * superDatasetIndexShardsFactor. This factor also affects Zipkin and Jaeger traces. | SW_STORAGE_ES_SUPER_DATASET_INDEX_SHARDS_FACTOR | 5 | -| - | - | superDatasetIndexReplicasNumber | Represents the replicas number in the super size dataset record index. | SW_STORAGE_ES_SUPER_DATASET_INDEX_REPLICAS_NUMBER | 0 | -| - | - | indexTemplateOrder | The order of index template. | SW_STORAGE_ES_INDEX_TEMPLATE_ORDER | 0 | -| - | - | bulkActions | Async bulk size of the record data batch execution. | SW_STORAGE_ES_BULK_ACTIONS | 5000 | -| - | - | batchOfBytes | A threshold to control the max body size of ElasticSearch Bulk flush. | SW_STORAGE_ES_BATCH_OF_BYTES | 10485760 (10m) | -| - | - | flushInterval | Period of flush (in seconds). Does not matter whether `bulkActions` is reached or not. | SW_STORAGE_ES_FLUSH_INTERVAL | 5 | -| - | - | concurrentRequests | The number of concurrent requests allowed to be executed. | SW_STORAGE_ES_CONCURRENT_REQUESTS | 2 | -| - | - | resultWindowMaxSize | The maximum size of dataset when the OAP loads cache, such as network aliases. | SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE | 10000 | -| - | - | metadataQueryMaxSize | The maximum size of metadata per query. | SW_STORAGE_ES_QUERY_MAX_SIZE | 10000 | -| - | - | scrollingBatchSize | The batch size of metadata per iteration when `metadataQueryMaxSize` or `resultWindowMaxSize` is too large to be retrieved in a single query. | SW_STORAGE_ES_SCROLLING_BATCH_SIZE | 5000 | -| - | - | segmentQueryMaxSize | The maximum size of trace segments per query. | SW_STORAGE_ES_QUERY_SEGMENT_SIZE | 200 | -| - | - | profileTaskQueryMaxSize | The maximum size of profile task per query. | SW_STORAGE_ES_QUERY_PROFILE_TASK_SIZE | 200 | -| - | - | asyncProfilerTaskQueryMaxSize | The maximum size of async-profiler task per query. | SW_STORAGE_ES_QUERY_ASYNC_PROFILER_TASK_SIZE | 200 | -| - | - | profileDataQueryScrollBatchSize | The batch size of query profiling data. | SW_STORAGE_ES_QUERY_PROFILE_DATA_BATCH_SIZE | 100 | -| - | - | advanced | All settings of ElasticSearch index creation. The value should be in JSON format. | SW_STORAGE_ES_ADVANCED | - | -| - | - | logicSharding | Shard metrics and records indices into multi-physical indices, one index template per metric/meter aggregation function or record. | SW_STORAGE_ES_LOGIC_SHARDING | false | -| - | h2 | - | H2 storage is designed for demonstration and running in short term (i.e. 1-2 hours) only. | - | - | -| - | - | url | H2 connection URL. Defaults to H2 memory mode. | SW_STORAGE_H2_URL | jdbc:h2:mem:skywalking-oap-db | -| - | - | user | Username of H2 database. | SW_STORAGE_H2_USER | sa | -| - | - | password | Password of H2 database. | - | - | -| - | - | metadataQueryMaxSize | The maximum size of metadata per query. | SW_STORAGE_H2_QUERY_MAX_SIZE | 5000 | -| - | - | maxSizeOfBatchSql | The maximum size of batch size of SQL execution | SW_STORAGE_MAX_SIZE_OF_BATCH_SQL | 100 | -| - | - | asyncBatchPersistentPoolSize | async flush data into database thread size | SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE | 1 | -| - | mysql | - | MySQL Storage. The MySQL JDBC Driver is not in the dist. Please copy it into the oap-lib folder manually. | - | - | -| - | - | properties | Hikari connection pool configurations. | - | Listed in the `application.yaml`. | -| - | - | metadataQueryMaxSize | The maximum size of metadata per query. | SW_STORAGE_MYSQL_QUERY_MAX_SIZE | 5000 | -| - | - | maxSizeOfBatchSql | The maximum size of batch size of SQL execution | SW_STORAGE_MAX_SIZE_OF_BATCH_SQL | 2000 | -| - | - | asyncBatchPersistentPoolSize | async flush data into database thread size | SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE | 4 | -| - | postgresql | - | PostgreSQL storage. | - | - | -| - | - | properties | Hikari connection pool configurations. | - | Listed in the `application.yaml`. | -| - | - | metadataQueryMaxSize | The maximum size of metadata per query. | SW_STORAGE_MYSQL_QUERY_MAX_SIZE | 5000 | -| - | - | maxSizeOfBatchSql | The maximum size of batch size of SQL execution | SW_STORAGE_MAX_SIZE_OF_BATCH_SQL | 2000 | -| - | - | asyncBatchPersistentPoolSize | async flush data into database thread size | SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE | 4 | -| - | banyandb | - | BanyanDB storage. | - | - | -| - | - | targets | Hosts with ports of the BanyanDB. | SW_STORAGE_BANYANDB_TARGETS | 127.0.0.1:17912 | -| - | - | maxBulkSize | The maximum size of write entities in a single batch write call. | SW_STORAGE_BANYANDB_MAX_BULK_SIZE | 10000 | -| - | - | flushInterval | Period of flush interval. In the timeunit of seconds. | SW_STORAGE_BANYANDB_FLUSH_INTERVAL | 15 | -| - | - | flushTimeout | The timeout seconds of a bulk flush. | SW_STORAGE_BANYANDB_FLUSH_TIMEOUT | 10 | -| - | - | metricsShardsNumber | Shards Number for measure/metrics. | SW_STORAGE_BANYANDB_METRICS_SHARDS_NUMBER | 1 | -| - | - | recordShardsNumber | Shards Number for a normal record. | SW_STORAGE_BANYANDB_RECORD_SHARDS_NUMBER | 1 | -| - | - | superDatasetShardsFactor | Shards Factor for a super dataset record, i.e. Shard number of a super dataset is recordShardsNumber*superDatasetShardsFactor. | SW_STORAGE_BANYANDB_SUPERDATASET_SHARDS_FACTOR | 2 | -| - | - | concurrentWriteThreads | Concurrent consumer threads for batch writing. | SW_STORAGE_BANYANDB_CONCURRENT_WRITE_THREADS | 15 | -| - | - | profileTaskQueryMaxSize | Max size of ProfileTask to be fetched. | SW_STORAGE_BANYANDB_PROFILE_TASK_QUERY_MAX_SIZE | 200 | -| - | - | resultWindowMaxSize | The maximum size of dataset when the OAP loads cache, such as network aliases. | SW_STORAGE_BANYAND_QUERY_MAX_WINDOW_SIZE | 10000 | -| - | - | metadataQueryMaxSize | The maximum size of metadata per query. | SW_STORAGE_BANYAND_QUERY_MAX_SIZE | 10000 | -| - | - | segmentQueryMaxSize | The maximum size of trace segments per query. | SW_STORAGE_BANYAND_QUERY_SEGMENT_SIZE | 200 | -| - | - | asyncProfilerTaskQueryMaxSize | Max size of AsyncProfilerTask to be fetched. | SW_STORAGE_BANYANDB_ASYNC_PROFILER_TASK_QUERY_MAX_SIZE| 200 | -| - | - | profileDataQueryScrollBatchSize | The batch size of query profiling data. | SW_STORAGE_BANYAND_QUERY_PROFILE_DATA_BATCH_SIZE | 100 | -| - | - | segmentIntervalDays | Data is stored in BanyanDB in segments. A segment is a time range of data.The segment interval is the time range of a segment.The value should be less or equal to data TTL relevant settings. | SW_STORAGE_BANYANDB_SEGMENT_INTERVAL_DAYS | 1 | -| - | - | superDatasetSegmentIntervalDays | The super dataset segment interval is the time range of a segment in the super dataset. | SW_STORAGE_BANYANDB_SUPER_DATASET_SEGMENT_INTERVAL_DAYS | 1 | -| - | - | specificGroupSettings | Specific groups settings. | SW_STORAGE_BANYANDB_SPECIFIC_GROUP_SETTINGS | - | -| - | - | sslTrustCAPath | If the BanyanDB server is configured with TLS, config the TLS cert file path and open tls connection. | SW_STORAGE_BANYANDB_SSL_TRUST_CA_PATH | - | -| agent-analyzer | default | Agent Analyzer. | SW_AGENT_ANALYZER | default | | -| - | - | traceSamplingPolicySettingsFile | The sampling policy including `sampling rate` and `the threshold of trace segment latency` can be configured by the `traceSamplingPolicySettingsFile` file. | SW_TRACE_SAMPLING_POLICY_SETTINGS_FILE | `trace-sampling-policy-settings.yml` | -| - | - | slowDBAccessThreshold | The slow database access threshold (in milliseconds). | SW_SLOW_DB_THRESHOLD | default:200,mongodb:100 | -| - | - | forceSampleErrorSegment | When sampling mechanism is activated, this config samples the error status segment and ignores the sampling rate. | SW_FORCE_SAMPLE_ERROR_SEGMENT | true | -| - | - | segmentStatusAnalysisStrategy | Determines the final segment status from span status. Available values are `FROM_SPAN_STATUS` , `FROM_ENTRY_SPAN`, and `FROM_FIRST_SPAN`. `FROM_SPAN_STATUS` indicates that the segment status would be error if any span has an error status. `FROM_ENTRY_SPAN` means that the segment status would only be determined by the status of entry spans. `FROM_FIRST_SPAN` means that the segment status would only be determined by the status of the first span. | SW_SEGMENT_STATUS_ANALYSIS_STRATEGY | FROM_SPAN_STATUS | -| - | - | noUpstreamRealAddressAgents | Exit spans with the component in the list would not generate client-side instance relation metrics, since some tracing plugins (e.g. Nginx-LUA and Envoy) can't collect the real peer IP address. | SW_NO_UPSTREAM_REAL_ADDRESS | 6000,9000 | -| - | - | meterAnalyzerActiveFiles | Indicates which files could be instrumented and analyzed. Multiple files are split by ",". | SW_METER_ANALYZER_ACTIVE_FILES | | | -| - | - | slowCacheWriteThreshold | The threshold of slow command which is used for writing operation (in milliseconds). | SW_SLOW_CACHE_WRITE_THRESHOLD | `default:20,redis:10` | -| - | - | slowCacheReadThreshold | The threshold of slow command which is used for reading (getting) operation (in milliseconds). | SW_SLOW_CACHE_READ_THRESHOLD | `default:20,redis:10` | +| Module | Provider | Settings | Value(s) and Explanation | System Environment Variable¹ | Default | +|-------------------------|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|----------------------------------------------------------------------------------------------| +| core | default | role | Option values: `Mixed/Receiver/Aggregator`. **Receiver** mode OAP opens the service to the agents, then analyzes and aggregates the results, and forwards the results for distributed aggregation. Aggregator mode OAP receives data from Mixer and Receiver role OAP nodes, and performs 2nd level aggregation. **Mixer** means both Receiver and Aggregator. | SW_CORE_ROLE | Mixed | +| - | - | restHost | Binding IP of RESTful services. Services include GraphQL query and HTTP data report. | SW_CORE_REST_HOST | 0.0.0.0 | +| - | - | restPort | Binding port of RESTful services. | SW_CORE_REST_PORT | 12800 | +| - | - | restContextPath | Web context path of RESTful services. | SW_CORE_REST_CONTEXT_PATH | / | +| - | - | restMaxThreads | Maximum thread number of RESTful services. | SW_CORE_REST_REST_MAX_THREADS | 200 | +| - | - | restIdleTimeOut | Connector idle timeout of RESTful services (in milliseconds). | SW_CORE_REST_IDLE_TIMEOUT | 30000 | +| - | - | restAcceptQueueSize | ServerSocketChannel Backlog of RESTful services. | SW_CORE_REST_QUEUE_SIZE | 0 | +| - | - | httpMaxRequestHeaderSize | Maximum request header size accepted. | SW_CORE_HTTP_MAX_REQUEST_HEADER_SIZE | 8192 | +| - | - | gRPCHost | Binding IP of gRPC services, including gRPC data report and internal communication among OAP nodes. | SW_CORE_GRPC_HOST | 0.0.0.0 | +| - | - | gRPCPort | Binding port of gRPC services. | SW_CORE_GRPC_PORT | 11800 | +| - | - | gRPCSslEnabled | Activates SSL for gRPC services. | SW_CORE_GRPC_SSL_ENABLED | false | +| - | - | gRPCSslKeyPath | File path of gRPC SSL key. | SW_CORE_GRPC_SSL_KEY_PATH | - | +| - | - | gRPCSslCertChainPath | File path of gRPC SSL cert chain. | SW_CORE_GRPC_SSL_CERT_CHAIN_PATH | - | +| - | - | gRPCSslTrustedCAPath | File path of gRPC trusted CA. | SW_CORE_GRPC_SSL_TRUSTED_CA_PATH | - | +| - | - | downsampling | Activated level of down sampling aggregation. | | Hour,Day | +| - | - | enableDataKeeperExecutor | Controller of TTL scheduler. Once disabled, TTL wouldn't work. | SW_CORE_ENABLE_DATA_KEEPER_EXECUTOR | true | +| - | - | dataKeeperExecutePeriod | Execution period of TTL scheduler (in minutes). Execution doesn't mean deleting data. The storage provider (e.g. ElasticSearch storage) could override this. | SW_CORE_DATA_KEEPER_EXECUTE_PERIOD | 5 | +| - | - | recordDataTTL | The lifecycle of record data (in days). Record data includes traces, top N sample records, and logs. Minimum value is 2. | SW_CORE_RECORD_DATA_TTL | 3 | +| - | - | metricsDataTTL | The lifecycle of metrics data (in days), including metadata. We recommend setting metricsDataTTL >= recordDataTTL. Minimum value is 2. | SW_CORE_METRICS_DATA_TTL | 7 | +| - | - | l1FlushPeriod | The period of L1 aggregation flush to L2 aggregation (in milliseconds). | SW_CORE_L1_AGGREGATION_FLUSH_PERIOD | 500 | +| - | - | storageSessionTimeout | The threshold of session time (in milliseconds). Default value is 70000. | SW_CORE_STORAGE_SESSION_TIMEOUT | 70000 | +| - | - | persistentPeriod | The period of doing data persistence. Unit is second.Default value is 25s | SW_CORE_PERSISTENT_PERIOD | 25 | +| - | - | topNReportPeriod | The execution period (in minutes) of top N sampler, which saves sampled data into the storage. | SW_CORE_TOPN_REPORT_PERIOD | 10 | +| - | - | activeExtraModelColumns | Appends entity names (e.g. service names) into metrics storage entities. | SW_CORE_ACTIVE_EXTRA_MODEL_COLUMNS | false | +| - | - | serviceNameMaxLength | Maximum length limit of service names. | SW_SERVICE_NAME_MAX_LENGTH | 70 | +| - | - | instanceNameMaxLength | Maximum length limit of service instance names. The maximum length of service + instance names should be less than 200. | SW_INSTANCE_NAME_MAX_LENGTH | 70 | +| - | - | endpointNameMaxLength | Maximum length limit of endpoint names. The maximum length of service + endpoint names should be less than 240. | SW_ENDPOINT_NAME_MAX_LENGTH | 150 | +| - | - | searchableTracesTags | Defines a set of span tag keys which are searchable through GraphQL. Multiple values are separated by commas. The max length of key=value should be less than 256 or will be dropped. | SW_SEARCHABLE_TAG_KEYS | http.method,http.status_code,rpc.status_code,db.type,db.instance,mq.queue,mq.topic,mq.broker | +| - | - | searchableLogsTags | Defines a set of log tag keys which are searchable through GraphQL. Multiple values are separated by commas. The max length of key=value should be less than 256 or will be dropped. | SW_SEARCHABLE_LOGS_TAG_KEYS | level | +| - | - | searchableAlarmTags | Defines a set of alarm tag keys which are searchable through GraphQL. Multiple values are separated by commas. The max length of key=value should be less than 256 or will be dropped. | SW_SEARCHABLE_ALARM_TAG_KEYS | level | +| - | - | autocompleteTagKeysQueryMaxSize | The max size of tags keys for autocomplete select. | SW_AUTOCOMPLETE_TAG_KEYS_QUERY_MAX_SIZE | 100 | +| - | - | autocompleteTagValuesQueryMaxSize | The max size of tags values for autocomplete select. | SW_AUTOCOMPLETE_TAG_VALUES_QUERY_MAX_SIZE | 100 | +| - | - | gRPCThreadPoolSize | Pool size of gRPC server. | SW_CORE_GRPC_THREAD_POOL_SIZE | Default to gRPC's implementation, which is a cached thread pool that can grow infinitely. | +| - | - | maxConcurrentCallsPerConnection | The maximum number of concurrent calls permitted for each incoming connection. Defaults to no limit. | SW_CORE_GRPC_MAX_CONCURRENT_CALL | - | +| - | - | maxMessageSize | Sets the maximum message size allowed to be received on the server. Empty means 4 MiB. | SW_CORE_GRPC_MAX_MESSAGE_SIZE | 52428800 (50MB) | +| - | - | remoteTimeout | Timeout for cluster internal communication (in seconds). | - | 20 | +| - | - | maxSizeOfNetworkAddressAlias | The maximum size of network address detected in the system being monitored. | - | 1_000_000 | +| - | - | maxPageSizeOfQueryProfileSnapshot | The maximum size for snapshot analysis in an OAP query. | - | 500 | +| - | - | maxSizeOfAnalyzeProfileSnapshot | The maximum number of snapshots analyzed by the OAP. | - | 12000 | +| - | - | prepareThreads | The number of threads used to prepare metrics data to the storage. | SW_CORE_PREPARE_THREADS | 2 | +| - | - | enableEndpointNameGroupingByOpenapi | Automatically groups endpoints by the given OpenAPI definitions. | SW_CORE_ENABLE_ENDPOINT_NAME_GROUPING_BY_OPENAPI | true | +| - | - | maxDurationOfQueryEBPFProfilingData | The maximum duration(in second) of query the eBPF profiling data from database. | - | 30 | +| - | - | maxThreadCountOfQueryEBPFProfilingData | The maximum thread count of query the eBPF profiling data from database. | - | System CPU core size | +| - | - | uiMenuRefreshInterval | The period(in seconds) of refreshing the status of all UI menu items. | - | 20 | +| - | - | serviceCacheRefreshInterval | The period(in seconds) of refreshing the service cache. | SW_SERVICE_CACHE_REFRESH_INTERVAL | 10 | +| - | - | enableHierarchy | If disable the hierarchy, the service and instance hierarchy relation will not be built. And the query of hierarchy will return empty result. All the hierarchy relations are defined in the `hierarchy-definition.yml`. Notice: some of the configurations only available for kubernetes environments. | SW_CORE_ENABLE_HIERARCHY | true | +| cluster | standalone | - | Standalone is not suitable for running on a single node running. No configuration available. | - | - | +| - | zookeeper | namespace | The namespace, represented by root path, isolates the configurations in Zookeeper. | SW_NAMESPACE | `/`, root path | +| - | - | hostPort | Hosts and ports of Zookeeper Cluster. | SW_CLUSTER_ZK_HOST_PORT | localhost:2181 | +| - | - | baseSleepTimeMs | The period of Zookeeper client between two retries (in milliseconds). | SW_CLUSTER_ZK_SLEEP_TIME | 1000 | +| - | - | maxRetries | The maximum retry time. | SW_CLUSTER_ZK_MAX_RETRIES | 3 | +| - | - | enableACL | Opens ACL using `schema` and `expression`. | SW_ZK_ENABLE_ACL | false | +| - | - | schema | Schema for the authorization. | SW_ZK_SCHEMA | digest | +| - | - | expression | Expression for the authorization. | SW_ZK_EXPRESSION | skywalking:skywalking | +| - | - | internalComHost | The hostname registered in Zookeeper for the internal communication of OAP cluster. | SW_CLUSTER_INTERNAL_COM_HOST | - | +| - | - | internalComPort | The port registered in Zookeeper for the internal communication of OAP cluster. | SW_CLUSTER_INTERNAL_COM_PORT | -1 | +| - | kubernetes | namespace | Namespace deployed by SkyWalking in k8s. | SW_CLUSTER_K8S_NAMESPACE | default | +| - | - | labelSelector | Labels used for filtering OAP deployment in k8s. | SW_CLUSTER_K8S_LABEL | app=collector,release=skywalking | +| - | - | uidEnvName | Environment variable name for reading uid. | SW_CLUSTER_K8S_UID | SKYWALKING_COLLECTOR_UID | +| - | consul | serviceName | Service name for SkyWalking cluster. | SW_SERVICE_NAME | SkyWalking_OAP_Cluster | +| - | - | hostPort | Hosts and ports for Consul cluster. | SW_CLUSTER_CONSUL_HOST_PORT | localhost:8500 | +| - | - | aclToken | ACL Token of Consul. Empty string means `without ALC token`. | SW_CLUSTER_CONSUL_ACLTOKEN | - | +| - | - | internalComHost | The hostname registered in Consul for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_HOST | - | +| - | - | internalComPort | The port registered in Consul for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_PORT | -1 | +| - | etcd | serviceName | Service name for SkyWalking cluster. | SW_CLUSTER_ETCD_SERVICE_NAME | SkyWalking_OAP_Cluster | +| - | - | endpoints | Hosts and ports for etcd cluster. | SW_CLUSTER_ETCD_ENDPOINTS | localhost:2379 | +| - | - | namespace | Namespace for SkyWalking cluster. | SW_CLUSTER_ETCD_NAMESPACE | /skywalking | +| - | - | authentication | Indicates whether there is authentication. | SW_CLUSTER_ETCD_AUTHENTICATION | false | +| - | - | user | Etcd auth username. | SW_CLUSTER_ETCD_USER | | +| - | - | password | Etcd auth password. | SW_CLUSTER_ETCD_PASSWORD | | +| - | - | internalComHost | The hostname registered in etcd for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_HOST | - | +| - | - | internalComPort | The port registered in etcd for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_PORT | -1 | +| - | Nacos | serviceName | Service name for SkyWalking cluster. | SW_SERVICE_NAME | SkyWalking_OAP_Cluster | +| - | - | hostPort | Hosts and ports for Nacos cluster. | SW_CLUSTER_NACOS_HOST_PORT | localhost:8848 | +| - | - | namespace | Namespace used by SkyWalking node coordination. | SW_CLUSTER_NACOS_NAMESPACE | public | +| - | - | internalComHost | The hostname registered in Nacos for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_HOST | - | +| - | - | internalComPort | The port registered in Nacos for internal communications of the OAP cluster. | SW_CLUSTER_INTERNAL_COM_PORT | -1 | +| - | - | contextPath | Nacos set contextPath. | SW_CLUSTER_NACOS_CONTEXT_PATH | - | +| - | - | username | Nacos Auth username. | SW_CLUSTER_NACOS_USERNAME | - | +| - | - | password | Nacos Auth password. | SW_CLUSTER_NACOS_PASSWORD | - | +| - | - | accessKey | Nacos Auth accessKey. | SW_CLUSTER_NACOS_ACCESSKEY | - | +| - | - | secretKey | Nacos Auth secretKey. | SW_CLUSTER_NACOS_SECRETKEY | - | +| - | - | syncPeriodHttpUriRecognitionPattern | The period of HTTP URI recognition pattern synchronization (in seconds). | SW_CORE_SYNC_PERIOD_HTTP_URI_RECOGNITION_PATTERN | 10 | +| - | - | trainingPeriodHttpUriRecognitionPattern | The period of HTTP URI recognition pattern training (in seconds). | SW_CORE_TRAINING_PERIOD_HTTP_URI_RECOGNITION_PATTERN | 60 | +| - | - | maxHttpUrisNumberPerService | The maximum number of HTTP URIs per service. | SW_MAX_HTTP_URIS_NUMBER_PER_SERVICE | 3000 | | +| storage | elasticsearch | - | ElasticSearch (and OpenSearch) storage implementation. | - | - | +| - | - | namespace | Prefix of indexes created and used by SkyWalking. | SW_NAMESPACE | - | +| - | - | clusterNodes | ElasticSearch cluster nodes for client connection. | SW_STORAGE_ES_CLUSTER_NODES | localhost | +| - | - | protocol | HTTP or HTTPs. | SW_STORAGE_ES_HTTP_PROTOCOL | HTTP | +| - | - | connectTimeout | Connect timeout of ElasticSearch client (in milliseconds). | SW_STORAGE_ES_CONNECT_TIMEOUT | 3000 | +| - | - | socketTimeout | Socket timeout of ElasticSearch client (in milliseconds). | SW_STORAGE_ES_SOCKET_TIMEOUT | 30000 | +| - | - | responseTimeout | Response timeout of ElasticSearch client (in milliseconds), `0` disables the timeout. | SW_STORAGE_ES_RESPONSE_TIMEOUT | 15000 | +| - | - | numHttpClientThread | The number of threads for the underlying HTTP client to perform socket I/O. If the value is <= 0, the number of available processors will be used. | SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD | 0 | +| - | - | user | Username of ElasticSearch cluster. | SW_ES_USER | - | +| - | - | password | Password of ElasticSearch cluster. | SW_ES_PASSWORD | - | +| - | - | trustStorePath | Trust JKS file path. Only works when username and password are enabled. | SW_STORAGE_ES_SSL_JKS_PATH | - | +| - | - | trustStorePass | Trust JKS file password. Only works when username and password are enabled. | SW_STORAGE_ES_SSL_JKS_PASS | - | +| - | - | secretsManagementFile | Secrets management file in the properties format, including username and password, which are managed by a 3rd party tool. Capable of being updated them at runtime. | SW_ES_SECRETS_MANAGEMENT_FILE | - | +| - | - | dayStep | Represents the number of days in the one-minute/hour/day index. | SW_STORAGE_DAY_STEP | 1 | +| - | - | indexShardsNumber | Shard number of new indexes. | SW_STORAGE_ES_INDEX_SHARDS_NUMBER | 1 | +| - | - | indexReplicasNumber | Replicas number of new indexes. | SW_STORAGE_ES_INDEX_REPLICAS_NUMBER | 0 | +| - | - | specificIndexSettings | Specify the settings for each index individually. If configured, this setting has the highest priority and overrides the generic settings. | SW_STORAGE_ES_SPECIFIC_INDEX_SETTINGS | - | +| - | - | superDatasetDayStep | Represents the number of days in the super size dataset record index. Default value is the same as dayStep when the value is less than 0. | SW_STORAGE_ES_SUPER_DATASET_DAY_STEP | -1 | +| - | - | superDatasetIndexShardsFactor | Super dataset is defined in the code (e.g. trace segments). This factor provides more shards for the super dataset: shards number = indexShardsNumber * superDatasetIndexShardsFactor. This factor also affects Zipkin and Jaeger traces. | SW_STORAGE_ES_SUPER_DATASET_INDEX_SHARDS_FACTOR | 5 | +| - | - | superDatasetIndexReplicasNumber | Represents the replicas number in the super size dataset record index. | SW_STORAGE_ES_SUPER_DATASET_INDEX_REPLICAS_NUMBER | 0 | +| - | - | indexTemplateOrder | The order of index template. | SW_STORAGE_ES_INDEX_TEMPLATE_ORDER | 0 | +| - | - | bulkActions | Async bulk size of the record data batch execution. | SW_STORAGE_ES_BULK_ACTIONS | 5000 | +| - | - | batchOfBytes | A threshold to control the max body size of ElasticSearch Bulk flush. | SW_STORAGE_ES_BATCH_OF_BYTES | 10485760 (10m) | +| - | - | flushInterval | Period of flush (in seconds). Does not matter whether `bulkActions` is reached or not. | SW_STORAGE_ES_FLUSH_INTERVAL | 5 | +| - | - | concurrentRequests | The number of concurrent requests allowed to be executed. | SW_STORAGE_ES_CONCURRENT_REQUESTS | 2 | +| - | - | resultWindowMaxSize | The maximum size of dataset when the OAP loads cache, such as network aliases. | SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE | 10000 | +| - | - | metadataQueryMaxSize | The maximum size of metadata per query. | SW_STORAGE_ES_QUERY_MAX_SIZE | 10000 | +| - | - | scrollingBatchSize | The batch size of metadata per iteration when `metadataQueryMaxSize` or `resultWindowMaxSize` is too large to be retrieved in a single query. | SW_STORAGE_ES_SCROLLING_BATCH_SIZE | 5000 | +| - | - | segmentQueryMaxSize | The maximum size of trace segments per query. | SW_STORAGE_ES_QUERY_SEGMENT_SIZE | 200 | +| - | - | profileTaskQueryMaxSize | The maximum size of profile task per query. | SW_STORAGE_ES_QUERY_PROFILE_TASK_SIZE | 200 | +| - | - | asyncProfilerTaskQueryMaxSize | The maximum size of async-profiler task per query. | SW_STORAGE_ES_QUERY_ASYNC_PROFILER_TASK_SIZE | 200 | +| - | - | profileDataQueryScrollBatchSize | The batch size of query profiling data. | SW_STORAGE_ES_QUERY_PROFILE_DATA_BATCH_SIZE | 100 | +| - | - | advanced | All settings of ElasticSearch index creation. The value should be in JSON format. | SW_STORAGE_ES_ADVANCED | - | +| - | - | logicSharding | Shard metrics and records indices into multi-physical indices, one index template per metric/meter aggregation function or record. | SW_STORAGE_ES_LOGIC_SHARDING | false | +| - | mysql | - | MySQL Storage. The MySQL JDBC Driver is not in the dist. Please copy it into the oap-lib folder manually. | - | - | +| - | - | properties | Hikari connection pool configurations. | - | Listed in the `application.yaml`. | +| - | - | metadataQueryMaxSize | The maximum size of metadata per query. | SW_STORAGE_MYSQL_QUERY_MAX_SIZE | 5000 | +| - | - | maxSizeOfBatchSql | The maximum size of batch size of SQL execution | SW_STORAGE_MAX_SIZE_OF_BATCH_SQL | 2000 | +| - | - | asyncBatchPersistentPoolSize | async flush data into database thread size | SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE | 4 | +| - | postgresql | - | PostgreSQL storage. | - | - | +| - | - | properties | Hikari connection pool configurations. | - | Listed in the `application.yaml`. | +| - | - | metadataQueryMaxSize | The maximum size of metadata per query. | SW_STORAGE_MYSQL_QUERY_MAX_SIZE | 5000 | +| - | - | maxSizeOfBatchSql | The maximum size of batch size of SQL execution | SW_STORAGE_MAX_SIZE_OF_BATCH_SQL | 2000 | +| - | - | asyncBatchPersistentPoolSize | async flush data into database thread size | SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE | 4 | +| - | banyandb | - | BanyanDB storage. | - | - | +| - | - | targets | Hosts with ports of the BanyanDB. | SW_STORAGE_BANYANDB_TARGETS | 127.0.0.1:17912 | +| - | - | maxBulkSize | The maximum size of write entities in a single batch write call. | SW_STORAGE_BANYANDB_MAX_BULK_SIZE | 10000 | +| - | - | flushInterval | Period of flush interval. In the timeunit of seconds. | SW_STORAGE_BANYANDB_FLUSH_INTERVAL | 15 | +| - | - | flushTimeout | The timeout seconds of a bulk flush. | SW_STORAGE_BANYANDB_FLUSH_TIMEOUT | 10 | +| - | - | metricsShardsNumber | Shards Number for measure/metrics. | SW_STORAGE_BANYANDB_METRICS_SHARDS_NUMBER | 1 | +| - | - | recordShardsNumber | Shards Number for a normal record. | SW_STORAGE_BANYANDB_RECORD_SHARDS_NUMBER | 1 | +| - | - | superDatasetShardsFactor | Shards Factor for a super dataset record, i.e. Shard number of a super dataset is recordShardsNumber*superDatasetShardsFactor. | SW_STORAGE_BANYANDB_SUPERDATASET_SHARDS_FACTOR | 2 | +| - | - | concurrentWriteThreads | Concurrent consumer threads for batch writing. | SW_STORAGE_BANYANDB_CONCURRENT_WRITE_THREADS | 15 | +| - | - | profileTaskQueryMaxSize | Max size of ProfileTask to be fetched. | SW_STORAGE_BANYANDB_PROFILE_TASK_QUERY_MAX_SIZE | 200 | +| - | - | resultWindowMaxSize | The maximum size of dataset when the OAP loads cache, such as network aliases. | SW_STORAGE_BANYAND_QUERY_MAX_WINDOW_SIZE | 10000 | +| - | - | metadataQueryMaxSize | The maximum size of metadata per query. | SW_STORAGE_BANYAND_QUERY_MAX_SIZE | 10000 | +| - | - | segmentQueryMaxSize | The maximum size of trace segments per query. | SW_STORAGE_BANYAND_QUERY_SEGMENT_SIZE | 200 | +| - | - | asyncProfilerTaskQueryMaxSize | Max size of AsyncProfilerTask to be fetched. | SW_STORAGE_BANYANDB_ASYNC_PROFILER_TASK_QUERY_MAX_SIZE| 200 | +| - | - | profileDataQueryScrollBatchSize | The batch size of query profiling data. | SW_STORAGE_BANYAND_QUERY_PROFILE_DATA_BATCH_SIZE | 100 | +| - | - | segmentIntervalDays | Data is stored in BanyanDB in segments. A segment is a time range of data.The segment interval is the time range of a segment.The value should be less or equal to data TTL relevant settings. | SW_STORAGE_BANYANDB_SEGMENT_INTERVAL_DAYS | 1 | +| - | - | superDatasetSegmentIntervalDays | The super dataset segment interval is the time range of a segment in the super dataset. | SW_STORAGE_BANYANDB_SUPER_DATASET_SEGMENT_INTERVAL_DAYS | 1 | +| - | - | specificGroupSettings | Specific groups settings. | SW_STORAGE_BANYANDB_SPECIFIC_GROUP_SETTINGS | - | +| - | - | sslTrustCAPath | If the BanyanDB server is configured with TLS, config the TLS cert file path and open tls connection. | SW_STORAGE_BANYANDB_SSL_TRUST_CA_PATH | - | +| agent-analyzer | default | Agent Analyzer. | SW_AGENT_ANALYZER | default | | +| - | - | traceSamplingPolicySettingsFile | The sampling policy including `sampling rate` and `the threshold of trace segment latency` can be configured by the `traceSamplingPolicySettingsFile` file. | SW_TRACE_SAMPLING_POLICY_SETTINGS_FILE | `trace-sampling-policy-settings.yml` | +| - | - | slowDBAccessThreshold | The slow database access threshold (in milliseconds). | SW_SLOW_DB_THRESHOLD | default:200,mongodb:100 | +| - | - | forceSampleErrorSegment | When sampling mechanism is activated, this config samples the error status segment and ignores the sampling rate. | SW_FORCE_SAMPLE_ERROR_SEGMENT | true | +| - | - | segmentStatusAnalysisStrategy | Determines the final segment status from span status. Available values are `FROM_SPAN_STATUS` , `FROM_ENTRY_SPAN`, and `FROM_FIRST_SPAN`. `FROM_SPAN_STATUS` indicates that the segment status would be error if any span has an error status. `FROM_ENTRY_SPAN` means that the segment status would only be determined by the status of entry spans. `FROM_FIRST_SPAN` means that the segment status would only be determined by the status of the first span. | SW_SEGMENT_STATUS_ANALYSIS_STRATEGY | FROM_SPAN_STATUS | +| - | - | noUpstreamRealAddressAgents | Exit spans with the component in the list would not generate client-side instance relation metrics, since some tracing plugins (e.g. Nginx-LUA and Envoy) can't collect the real peer IP address. | SW_NO_UPSTREAM_REAL_ADDRESS | 6000,9000 | +| - | - | meterAnalyzerActiveFiles | Indicates which files could be instrumented and analyzed. Multiple files are split by ",". | SW_METER_ANALYZER_ACTIVE_FILES | | | +| - | - | slowCacheWriteThreshold | The threshold of slow command which is used for writing operation (in milliseconds). | SW_SLOW_CACHE_WRITE_THRESHOLD | `default:20,redis:10` | +| - | - | slowCacheReadThreshold | The threshold of slow command which is used for reading (getting) operation (in milliseconds). | SW_SLOW_CACHE_READ_THRESHOLD | `default:20,redis:10` | | receiver-sharing-server | default | Sharing server provides new gRPC and restful servers for data collection. Ana designates that servers in the core module are to be used for internal communication only. | - | - | | -| - | - | restHost | Binding IP of RESTful services. Services include GraphQL query and HTTP data report. | SW_RECEIVER_SHARING_REST_HOST | - | -| - | - | restPort | Binding port of RESTful services. | SW_RECEIVER_SHARING_REST_PORT | - | -| - | - | restContextPath | Web context path of RESTful services. | SW_RECEIVER_SHARING_REST_CONTEXT_PATH | - | -| - | - | restMaxThreads | Maximum thread number of RESTful services. | SW_RECEIVER_SHARING_REST_MAX_THREADS | 200 | -| - | - | restIdleTimeOut | Connector idle timeout of RESTful services (in milliseconds). | SW_RECEIVER_SHARING_REST_IDLE_TIMEOUT | 30000 | -| - | - | restAcceptQueueSize | ServerSocketChannel backlog of RESTful services. | SW_RECEIVER_SHARING_REST_QUEUE_SIZE | 0 | -| - | - | httpMaxRequestHeaderSize | Maximum request header size accepted. | SW_RECEIVER_SHARING_HTTP_MAX_REQUEST_HEADER_SIZE | 8192 | -| - | - | gRPCHost | Binding IP of gRPC services. Services include gRPC data report and internal communication among OAP nodes. | SW_RECEIVER_GRPC_HOST | 0.0.0.0. Not Activated | -| - | - | gRPCPort | Binding port of gRPC services. | SW_RECEIVER_GRPC_PORT | Not Activated | -| - | - | gRPCThreadPoolSize | Pool size of gRPC server. | SW_RECEIVER_GRPC_THREAD_POOL_SIZE | Default to gRPC's implementation, which is a cached thread pool that can grow infinitely. | -| - | - | gRPCSslEnabled | Activates SSL for gRPC services. | SW_RECEIVER_GRPC_SSL_ENABLED | false | -| - | - | gRPCSslKeyPath | File path of gRPC SSL key. | SW_RECEIVER_GRPC_SSL_KEY_PATH | - | -| - | - | gRPCSslCertChainPath | File path of gRPC SSL cert chain. | SW_RECEIVER_GRPC_SSL_CERT_CHAIN_PATH | - | -| - | - | maxConcurrentCallsPerConnection | The maximum number of concurrent calls permitted for each incoming connection. Defaults to no limit. | SW_RECEIVER_GRPC_MAX_CONCURRENT_CALL | - | -| - | - | maxMessageSize | Sets the maximum message size allowed to be received on the server. Empty means 4 MiB. | SW_RECEIVER_GRPC_MAX_MESSAGE_SIZE | 52428800 (50MB) | -| - | - | authentication | The token text for authentication. Works for gRPC connection only. Once this is set, the client is required to use the same token. | SW_AUTHENTICATION | - | -| log-analyzer | default | Log Analyzer. | SW_LOG_ANALYZER | default | | -| - | - | lalFiles | The LAL configuration file names (without file extension) to be activated. Read [LAL](../../concepts-and-designs/lal.md) for more details. | SW_LOG_LAL_FILES | default | -| - | - | malFiles | The MAL configuration file names (without file extension) to be activated. Read [LAL](../../concepts-and-designs/lal.md) for more details. | SW_LOG_MAL_FILES | "" | -| event-analyzer | default | Event Analyzer. | SW_EVENT_ANALYZER | default | | -| receiver-register | default | gRPC and HTTPRestful services that provide service, service instance and endpoint register. | - | - | | -| receiver-trace | default | gRPC and HTTPRestful services that accept SkyWalking format traces. | - | - | | -| receiver-jvm | default | gRPC services that accept JVM metrics data. | - | - | | -| receiver-clr | default | gRPC services that accept .Net CLR metrics data. | - | - | | -| receiver-profile | default | gRPC services that accept profile task status and snapshot reporter. | - | - | | -| receiver-zabbix | default | TCP receiver accepts Zabbix format metrics. | - | - | | -| - | - | port | Exported TCP port. Zabbix agent could connect and transport data. | SW_RECEIVER_ZABBIX_PORT | 10051 | -| - | - | host | Binds to host. | SW_RECEIVER_ZABBIX_HOST | 0.0.0.0 | -| - | - | activeFiles | Enables config when agent request is received. | SW_RECEIVER_ZABBIX_ACTIVE_FILES | agent | -| service-mesh | default | gRPC services that accept data from inbound mesh probes. | - | - | | -| envoy-metric | default | Envoy `metrics_service` and `ALS(access log service)` are supported by this receiver. The OAL script supports all GAUGE type metrics. | - | - | | -| - | - | acceptMetricsService | Starts Envoy Metrics Service analysis. | SW_ENVOY_METRIC_SERVICE | true | -| - | - | alsHTTPAnalysis | Starts Envoy HTTP Access Log Service analysis. Value = `k8s-mesh` means starting the analysis. | SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS | - | -| - | - | alsTCPAnalysis | Starts Envoy TCP Access Log Service analysis. Value = `k8s-mesh` means starting the analysis. | SW_ENVOY_METRIC_ALS_TCP_ANALYSIS | - | -| - | - | k8sServiceNameRule | `k8sServiceNameRule` allows you to customize the service name in ALS via Kubernetes metadata. The available variables are `pod` and `service`. E.g. you can use `${service.metadata.name}-${pod.metadata.labels.version}` to append the version number to the service name. Note that when using environment variables to pass this configuration, use single quotes(`''`) to avoid being evaluated by the shell. | K8S_SERVICE_NAME_RULE | ${pod.metadata.labels.(service.istio.io/canonical-name)}.${pod.metadata.namespace} | -| - | - | istioServiceNameRule | `istioServiceNameRule` allows you to customize the service name in ALS via Kubernetes metadata. The available variables are `serviceEntry`. E.g. you can use `${serviceEntry.metadata.name}-${serviceEntry.metadata.labels.version}` to append the version number to the service name. Note that when using environment variables to pass this configuration, use single quotes(`''`) to avoid being evaluated by the shell. | ISTIO_SERVICE_NAME_RULE | ${serviceEntry.metadata.name}.${serviceEntry.metadata.namespace} | -| - | - | istioServiceEntryIgnoredNamespaces | When looking up service informations from the Istio ServiceEntries, some of the ServiceEntries might be created in several namespaces automatically by some components, and OAP will randomly pick one of them to build the service name, users can use this config to exclude ServiceEntries that they don't want to be used. Comma separated. | SW_ISTIO_SERVICE_ENTRY_IGNORED_NAMESPACES | - | -| - | - | gRPCHost | Binding IP of gRPC service for Envoy access log service. | SW_ALS_GRPC_HOST | 0.0.0.0. Not Activated | -| - | - | gRPCPort | Binding port of gRPC service for Envoy access log service. | SW_ALS_GRPC_PORT | Not Activated | -| - | - | gRPCThreadPoolSize | Pool size of gRPC server. | SW_ALS_GRPC_THREAD_POOL_SIZE | Default to gRPC's implementation, which is a cached thread pool that can grow infinitely. | -| - | - | gRPCSslEnabled | Activates SSL for gRPC services. | SW_ALS_GRPC_SSL_ENABLED | false | -| - | - | gRPCSslKeyPath | File path of gRPC SSL key. | SW_ALS_GRPC_SSL_KEY_PATH | - | -| - | - | gRPCSslCertChainPath | File path of gRPC SSL cert chain. | SW_ALS_GRPC_SSL_CERT_CHAIN_PATH | - | -| - | - | maxConcurrentCallsPerConnection | The maximum number of concurrent calls permitted for each incoming connection. Defaults to no limit. | SW_ALS_GRPC_MAX_CONCURRENT_CALL | - | -| - | - | maxMessageSize | Sets the maximum message size allowed to be received on the server. Empty means 4 MiB. | SW_ALS_GRPC_MAX_MESSAGE_SIZE | 4M(based on Netty) | -| receiver-otel | default | A receiver for analyzing metrics data from OpenTelemetry. | - | - | | -| - | - | enabledHandlers | Enabled handlers for otel. | SW_OTEL_RECEIVER_ENABLED_HANDLERS | - | -| - | - | enabledOtelMetricsRules | Enabled metric rules for OTLP handler. | SW_OTEL_RECEIVER_ENABLED_OTEL_METRICS_RULES | - | -| receiver-zipkin | default | A receiver for Zipkin traces. | - | - | | -| - | - | sampleRate | The sample rate precision is 1/10000, should be between 0 and 10000 | SW_ZIPKIN_SAMPLE_RATE | 10000 | -| - | - | searchableTracesTags | Defines a set of span tag keys which are searchable. Multiple values are separated by commas. The max length of key=value should be less than 256 or will be dropped. | SW_ZIPKIN_SEARCHABLE_TAG_KEYS | http.method | -| - | - | enableHttpCollector | Enable Http Collector. | SW_ZIPKIN_HTTP_COLLECTOR_ENABLED | true | -| - | - | restHost | Binding IP of RESTful services. | SW_RECEIVER_ZIPKIN_REST_HOST | 0.0.0.0 | -| - | - | restPort | Binding port of RESTful services. | SW_RECEIVER_ZIPKIN_REST_PORT | 9411 | -| - | - | restContextPath | Web context path of RESTful services. | SW_RECEIVER_ZIPKIN_REST_CONTEXT_PATH | / | -| - | - | restMaxThreads | Maximum thread number of RESTful services. | SW_RECEIVER_ZIPKIN_REST_MAX_THREADS | 200 | -| - | - | restIdleTimeOut | Connector idle timeout of RESTful services (in milliseconds). | SW_RECEIVER_ZIPKIN_REST_IDLE_TIMEOUT | 30000 | -| - | - | restAcceptQueueSize | Maximum request header size accepted. | SW_RECEIVER_ZIPKIN_REST_QUEUE_SIZE | 0 | -| - | - | enableKafkaCollector | Enable Kafka Collector. | SW_ZIPKIN_KAFKA_COLLECTOR_ENABLED | false | -| - | - | kafkaBootstrapServers | Kafka ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG. | SW_ZIPKIN_KAFKA_SERVERS | localhost:9092 | -| - | - | kafkaGroupId | Kafka ConsumerConfig.GROUP_ID_CONFIG. | SW_ZIPKIN_KAFKA_GROUP_ID | zipkin | -| - | - | kafkaTopic | Kafka Topics. | SW_ZIPKIN_KAFKA_TOPIC | zipkin | -| - | - | kafkaConsumerConfig | Kafka consumer config, JSON format as Properties. If it contains the same key with above, would override. | SW_ZIPKIN_KAFKA_CONSUMER_CONFIG | "{\"auto.offset.reset\":\"earliest\",\"enable.auto.commit\":true}" | -| - | - | kafkaConsumers | The number of consumers to create. | SW_ZIPKIN_KAFKA_CONSUMERS | 1 | -| - | - | kafkaHandlerThreadPoolSize | Pool size of Kafka message handler executor. | SW_ZIPKIN_KAFKA_HANDLER_THREAD_POOL_SIZE | CPU core * 2 | -| - | - | kafkaHandlerThreadPoolQueueSize | Queue size of Kafka message handler executor. | SW_ZIPKIN_KAFKA_HANDLER_THREAD_POOL_QUEUE_SIZE | 10000 | -| kafka-fetcher | default | Read SkyWalking's native metrics/logs/traces through Kafka server. | - | - | | -| - | - | bootstrapServers | A list of host/port pairs to use for establishing the initial connection to the Kafka cluster. | SW_KAFKA_FETCHER_SERVERS | localhost:9092 | -| - | - | namespace | Namespace aims to isolate multi OAP cluster when using the same Kafka cluster. If you set a namespace for Kafka fetcher, OAP will add a prefix to topic name. You should also set namespace in `agent.config`. The property is named `plugin.kafka.namespace`. | SW_NAMESPACE | - | -| - | - | groupId | A unique string that identifies the consumer group to which this consumer belongs. | - | skywalking-consumer | -| - | - | partitions | The number of partitions for the topic being created. | SW_KAFKA_FETCHER_PARTITIONS | 3 | -| - | - | consumers | The number of consumers to create. | SW_KAFKA_FETCHER_CONSUMERS | 1 | -| - | - | enableNativeProtoLog | Enables fetching and handling native proto log data. | SW_KAFKA_FETCHER_ENABLE_NATIVE_PROTO_LOG | true | -| - | - | enableNativeJsonLog | Enables fetching and handling native json log data. | SW_KAFKA_FETCHER_ENABLE_NATIVE_JSON_LOG | true | -| - | - | replicationFactor | The replication factor for each partition in the topic being created. | SW_KAFKA_FETCHER_PARTITIONS_FACTOR | 2 | -| - | - | kafkaHandlerThreadPoolSize | Pool size of Kafka message handler executor. | SW_KAFKA_HANDLER_THREAD_POOL_SIZE | CPU core * 2 | -| - | - | kafkaHandlerThreadPoolQueueSize | Queue size of Kafka message handler executor. | SW_KAFKA_HANDLER_THREAD_POOL_QUEUE_SIZE | 10000 | -| - | - | topicNameOfMeters | Kafka topic name for meter system data. | - | skywalking-meters | -| - | - | topicNameOfMetrics | Kafka topic name for JVM metrics data. | - | skywalking-metrics | -| - | - | topicNameOfProfiling | Kafka topic name for profiling data. | - | skywalking-profilings | -| - | - | topicNameOfTracingSegments | Kafka topic name for tracing data. | - | skywalking-segments | -| - | - | topicNameOfManagements | Kafka topic name for service instance reporting and registration. | - | skywalking-managements | -| - | - | topicNameOfLogs | Kafka topic name for native proto log data. | - | skywalking-logs | -| - | - | topicNameOfJsonLogs | Kafka topic name for native json log data. | - | skywalking-logs-json | -| cilium-fetcher | default | Read Cilium Observe protocol data to collect Cilium Service status. | - | - | | -| - | - | peerHost | The Cilium Peer Service Host. | SW_CILIUM_FETCHER_PEER_HOST | hubble-peer.kube-system.svc.cluster.local | -| - | - | peerPort | The Cilium Peer Service Port. | SW_CILIUM_FETCHER_PEER_PORT | 80 | -| - | - | fetchFailureRetrySecond | The Cilium fetch observe data failure retry interval(second). | SW_CILIUM_FETCHER_FETCH_FAILURE_RETRY_SECOND | 10 | -| - | - | sslConnection | The Cilium fetch protocol is TLS enabled or not. | eSW_CILIUM_FETCHER_SSL_CONNECTION | false | -| - | - | sslPrivateKeyFile | The Cilium TLS fetch private key file path. | SW_CILIUM_FETCHER_PRIVATE_KEY_FILE_PATH | "" | -| - | - | sslCertChainFile | The Cilium TLS fetch cert chain file path. | SW_CILIUM_FETCHER_CERT_CHAIN_FILE_PATH | "" | -| - | - | sslCaFile | The Cilium TLS fetch rot CA Certification file path. | SW_CILIUM_FETCHER_CA_FILE_PATH | "" | -| - | - | convertClientAsServerTraffic | The Cilium flow data should convert client to the server side not. If convert, then the server side flow would be ignored. | SW_CILIUM_FETCHER_CONVERT_CLIENT_AS_SERVER_TRAFFIC | true | -| receiver-browser | default | gRPC services that accept browser performance data and error log. | - | - | - | -| - | - | sampleRate | Sampling rate for receiving trace. Precise to 1/10000. 10000 means sampling rate of 100% by default. | SW_RECEIVER_BROWSER_SAMPLE_RATE | 10000 | -| query | graphql | - | GraphQL query implementation. | - | | -| - | - | enableLogTestTool | Enable the log testing API to test the LAL. **NOTE**: This API evaluates untrusted code on the OAP server. A malicious script can do significant damage (steal keys and secrets, remove files and directories, install malware, etc). As such, please enable this API only when you completely trust your users. | SW_QUERY_GRAPHQL_ENABLE_LOG_TEST_TOOL | false | -| - | - | maxQueryComplexity | Maximum complexity allowed for the GraphQL query that can be used to abort a query if the total number of data fields queried exceeds the defined threshold. | SW_QUERY_MAX_QUERY_COMPLEXITY | 3000 | -| - | - | enableUpdateUITemplate | Allow user add,disable and update UI template. | SW_ENABLE_UPDATE_UI_TEMPLATE | false | -| - | - | enableOnDemandPodLog | Ondemand Pod log: fetch the Pod logs on users' demand, the logs are fetched and displayed in real time, and are not persisted in any kind. This is helpful when users want to do some experiments and monitor the logs and see what's happing inside the service. Note: if you print secrets in the logs, they are also visible to the UI, so for the sake of security, this feature is disabled by default, please set this configuration to enable the feature manually. | SW_ENABLE_ON_DEMAND_POD_LOG | false | -| query-zipkin | default | - | This module is for Zipkin query API and support zipkin-lens UI | - | | -| - | - | restHost | Binding IP of RESTful services. | SW_QUERY_ZIPKIN_REST_HOST | 0.0.0.0 | -| - | - | restPort | Binding port of RESTful services. | SW_QUERY_ZIPKIN_REST_PORT | 9412 | -| - | - | restContextPath | Web context path of RESTful services. | SW_QUERY_ZIPKIN_REST_CONTEXT_PATH | zipkin | -| - | - | restMaxThreads | Maximum thread number of RESTful services. | SW_QUERY_ZIPKIN_REST_MAX_THREADS | 200 | -| - | - | restIdleTimeOut | Connector idle timeout of RESTful services (in milliseconds). | SW_QUERY_ZIPKIN_REST_IDLE_TIMEOUT | 30000 | -| - | - | restAcceptQueueSize | Maximum request header size accepted. | SW_QUERY_ZIPKIN_REST_QUEUE_SIZE | 0 | -| - | - | lookback | Default look back for traces and autocompleteTags, 1 day in millis | SW_QUERY_ZIPKIN_LOOKBACK | 86400000 | -| - | - | namesMaxAge | The Cache-Control max-age (seconds) for serviceNames, remoteServiceNames and spanNames | SW_QUERY_ZIPKIN_NAMES_MAX_AGE | 300 | -| - | - | uiQueryLimit | Default traces query max size | SW_QUERY_ZIPKIN_UI_QUERY_LIMIT | 10 | -| - | - | uiDefaultLookback | Default look back on the UI for search traces, 15 minutes in millis | SW_QUERY_ZIPKIN_UI_DEFAULT_LOOKBACK | 900000 | -| promql | default | - | This module is for PromQL API. | - | | -| - | - | restHost | Binding IP of RESTful services. | SW_PROMQL_REST_HOST | 0.0.0.0 | -| - | - | restPort | Binding port of RESTful services. | SW_PROMQL_REST_PORT | 9090 | -| - | - | restContextPath | Web context path of RESTful services. | SW_PROMQL_REST_CONTEXT_PATH | / | -| - | - | restMaxThreads | Maximum thread number of RESTful services. | SW_PROMQL_REST_MAX_THREADS | 200 | -| - | - | restIdleTimeOut | Connector idle timeout of RESTful services (in milliseconds). | SW_PROMQL_REST_IDLE_TIMEOUT | 30000 | -| - | - | restAcceptQueueSize | Maximum request header size accepted. | SW_PROMQL_REST_QUEUE_SIZE | 0 | -| - | - | buildInfoVersion | Mock version for API buildInfo | SW_PROMQL_BUILD_INFO_VERSION | 2.45.0 | -| - | - | buildInfoRevision | Mock revision for API buildInfo | SW_PROMQL_BUILD_INFO_REVISION | | -| - | - | buildInfoBranch | Mock branch for API buildInfo | SW_PROMQL_BUILD_INFO_BRANCH | | -| - | - | buildInfoBuildUser | Mock build user for API buildInfo | SW_PROMQL_BUILD_INFO_BUILD_USER | | -| - | - | buildInfoBuildDate | Mock build date for API buildInfo | SW_PROMQL_BUILD_INFO_BUILD_DATE | | -| - | - | buildInfoGoVersion | Mock go version for API buildInfo | SW_PROMQL_BUILD_INFO_GO_VERSION | | -| alarm | default | - | Read [alarm doc](backend-alarm.md) for more details. | - | | -| telemetry | - | - | Read [telemetry doc](backend-telemetry.md) for more details. | - | | -| - | none | - | No op implementation. | - | | -| - | prometheus | host | Binding host for Prometheus server fetching data. | SW_TELEMETRY_PROMETHEUS_HOST | 0.0.0.0 | -| - | - | port | Binding port for Prometheus server fetching data. | SW_TELEMETRY_PROMETHEUS_PORT | 1234 | -| configuration | - | - | Read [dynamic configuration doc](dynamic-config.md) for more details. | - | | -| - | grpc | host | DCS server binding hostname. | SW_DCS_SERVER_HOST | - | -| - | - | port | DCS server binding port. | SW_DCS_SERVER_PORT | 80 | -| - | - | clusterName | Cluster name when reading the latest configuration from DSC server. | SW_DCS_CLUSTER_NAME | SkyWalking | -| - | - | period | The period of reading data from DSC server by the OAP (in seconds). | SW_DCS_PERIOD | 20 | -| - | - | maxInboundMessageSize | The max inbound message size of gRPC. | SW_DCS_MAX_INBOUND_MESSAGE_SIZE | 4194304 | -| - | apollo | apolloMeta | `apollo.meta` in Apollo. | SW_CONFIG_APOLLO | http://localhost:8080 | -| - | - | apolloCluster | `apollo.cluster` in Apollo. | SW_CONFIG_APOLLO_CLUSTER | default | -| - | - | apolloEnv | `env` in Apollo. | SW_CONFIG_APOLLO_ENV | - | -| - | - | appId | `app.id` in Apollo. | SW_CONFIG_APOLLO_APP_ID | skywalking | -| - | zookeeper | namespace | The namespace (represented by root path) that isolates the configurations in the Zookeeper. | SW_CONFIG_ZK_NAMESPACE | `/`, root path | -| - | - | hostPort | Hosts and ports of Zookeeper Cluster. | SW_CONFIG_ZK_HOST_PORT | localhost:2181 | -| - | - | baseSleepTimeMs | The period of Zookeeper client between two retries (in milliseconds). | SW_CONFIG_ZK_BASE_SLEEP_TIME_MS | 1000 | -| - | - | maxRetries | The maximum retry time. | SW_CONFIG_ZK_MAX_RETRIES | 3 | -| - | - | period | The period of data sync (in seconds). | SW_CONFIG_ZK_PERIOD | 60 | -| - | etcd | endpoints | Hosts and ports for etcd cluster (separated by commas if multiple). | SW_CONFIG_ETCD_ENDPOINTS | http://localhost:2379 | -| - | - | namespace | Namespace for SkyWalking cluster. | SW_CONFIG_ETCD_NAMESPACE | /skywalking | -| - | - | authentication | Indicates whether there is authentication. | SW_CONFIG_ETCD_AUTHENTICATION | false | -| - | - | user | Etcd auth username. | SW_CONFIG_ETCD_USER | | -| - | - | password | Etcd auth password. | SW_CONFIG_ETCD_PASSWORD | | -| - | - | period | The period of data sync (in seconds). | SW_CONFIG_ZK_PERIOD | 60 | -| - | consul | hostPort | Hosts and ports for Consul cluster. | SW_CONFIG_CONSUL_HOST_AND_PORTS | localhost:8500 | -| - | - | aclToken | ACL Token of Consul. Empty string means `without ACL token`. | SW_CONFIG_CONSUL_ACL_TOKEN | - | -| - | - | period | The period of data sync (in seconds). | SW_CONFIG_CONSUL_PERIOD | 60 | -| - | k8s-configmap | namespace | Deployment namespace of the config map. | SW_CLUSTER_K8S_NAMESPACE | default | -| - | - | labelSelector | Labels for locating configmap. | SW_CLUSTER_K8S_LABEL | app=collector,release=skywalking | -| - | - | period | The period of data sync (in seconds). | SW_CONFIG_ZK_PERIOD | 60 | -| - | nacos | serverAddr | Nacos Server Host. | SW_CONFIG_NACOS_SERVER_ADDR | 127.0.0.1 | -| - | - | port | Nacos Server Port. | SW_CONFIG_NACOS_SERVER_PORT | 8848 | -| - | - | group | Nacos Configuration namespace. | SW_CONFIG_NACOS_SERVER_NAMESPACE | - | -| - | - | period | The period of data sync (in seconds). | SW_CONFIG_CONFIG_NACOS_PERIOD | 60 | -| - | - | username | Nacos Auth username. | SW_CONFIG_NACOS_USERNAME | - | -| - | - | password | Nacos Auth password. | SW_CONFIG_NACOS_PASSWORD | - | -| - | - | accessKey | Nacos Auth accessKey. | SW_CONFIG_NACOS_ACCESSKEY | - | -| - | - | secretKey | Nacos Auth secretKey. | SW_CONFIG_NACOS_SECRETKEY | - | -| exporter | default | enableGRPCMetrics | Enable gRPC metrics exporter. | SW_EXPORTER_ENABLE_GRPC_METRICS | false | -| - | - | gRPCTargetHost | The host of target gRPC server for receiving export data | SW_EXPORTER_GRPC_HOST | 127.0.0.1 | -| - | - | gRPCTargetPort | The port of target gRPC server for receiving export data. | SW_EXPORTER_GRPC_PORT | 9870 | -| - | - | enableKafkaTrace | Enable Kafka trace exporter. | SW_EXPORTER_ENABLE_KAFKA_TRACE | false | -| - | - | enableKafkaLog | Enable Kafka log exporter. | SW_EXPORTER_ENABLE_KAFKA_LOG | false | -| - | - | kafkaBootstrapServers | A list of host/port pairs to use for establishing the initial connection to the Kafka cluster. | SW_EXPORTER_KAFKA_SERVERS | localhost:9092 | -| - | - | kafkaProducerConfig | Kafka producer config, JSON format as Properties. | SW_EXPORTER_KAFKA_PRODUCER_CONFIG | - | -| - | - | kafkaTopicTrace | Kafka topic name for trace. | SW_EXPORTER_KAFKA_TOPIC_TRACE | skywalking-export-trace | -| - | - | kafkaTopicLog | Kafka topic name for log. | SW_EXPORTER_KAFKA_TOPIC_LOG | skywalking-export-log | -| - | - | exportErrorStatusTraceOnly | Export error status trace segments through the Kafka channel. | SW_EXPORTER_KAFKA_TRACE_FILTER_ERROR | false | -| health-checker | default | checkIntervalSeconds | The period of checking OAP internal health status (in seconds). | SW_HEALTH_CHECKER_INTERVAL_SECONDS | 5 | -| status-query | default | | | | | -| - | - | keywords4MaskingSecretsOfConfig | Include the list of keywords to filter configurations including secrets. Separate keywords by a comma. | SW_DEBUGGING_QUERY_KEYWORDS_FOR_MASKING_SECRETS | user,password,token,accessKey,secretKey,authentication | -| configuration-discovery | default | disableMessageDigest | If true, agent receives the latest configuration every time, even without making any changes. By default, OAP uses the SHA512 message digest mechanism to detect changes in configuration. | SW_DISABLE_MESSAGE_DIGEST | false | -| receiver-event | default | gRPC services that handle events data. | - | - | | -| aws-firehose-receiver | default | host | Binding IP of HTTP server | SW_RECEIVER_AWS_FIREHOSE_HTTP_HOST | 0.0.0.0 | -| - | - | port | Binding port of HTTP server | SW_RECEIVER_AWS_FIREHOSE_HTTP_PORT | 12801 | -| - | - | contextPath | Context path of HTTP server | SW_RECEIVER_AWS_FIREHOSE_HTTP_CONTEXT_PATH | / | -| - | - | maxThreads | Max Thread number of HTTP server | SW_RECEIVER_AWS_FIREHOSE_HTTP_MAX_THREADS | 200 | -| - | - | idleTimeOut | Idle timeout of a connection for keep-alive. | SW_RECEIVER_AWS_FIREHOSE_HTTP_IDLE_TIME_OUT | 30000 | -| - | - | acceptQueueSize | Maximum allowed number of open connections | SW_RECEIVER_AWS_FIREHOSE_HTTP_ACCEPT_QUEUE_SIZE | 0 | -| - | - | maxRequestHeaderSize | Maximum length of all headers in an HTTP/1 response | SW_RECEIVER_AWS_FIREHOSE_HTTP_MAX_REQUEST_HEADER_SIZE | 8192 | -| - | - | firehoseAccessKey | The AccessKey of AWS firhose | SW_RECEIVER_AWS_FIREHOSE_ACCESS_KEY | | -| - | - | enableTLS | Indicate if enable HTTPS for the server | SW_RECEIVER_AWS_FIREHOSE_HTTP_ENABLE_TLS | false | -| - | - | tlsKeyPath | TLS key path | SW_RECEIVER_AWS_FIREHOSE_HTTP_TLS_KEY_PATH | | -| - | - | tlsCertChainPath | TLS certificate chain path | SW_RECEIVER_AWS_FIREHOSE_HTTP_TLS_CERT_CHAIN_PATH | | -| ai-pipeline | default | | | | -| - | - | uriRecognitionServerAddr | The address of the URI recognition server. | SW_AI_PIPELINE_URI_RECOGNITION_SERVER_ADDR | - | -| - | - | uriRecognitionServerPort | The port of the URI recognition server. | SW_AI_PIPELINE_URI_RECOGNITION_SERVER_PORT | 17128 | -| receiver-async-profiler | default | gRPC services that accept async-profiler task status and data reporter. | - | - | | -| - | - | jfrMaxSize | Used to manage the maximum size of the jfr file that can be received, the unit is Byte, default is 30M. | SW_RECEIVER_ASYNC_PROFILER_JFR_MAX_SIZE | 31457280 | -| - | - | memoryParserEnabled | Used to determine whether to receive jfr in memory file or physical file mode. | SW_RECEIVER_ASYNC_PROFILER_MEMORY_PARSER_ENABLED | true | +| - | - | restHost | Binding IP of RESTful services. Services include GraphQL query and HTTP data report. | SW_RECEIVER_SHARING_REST_HOST | - | +| - | - | restPort | Binding port of RESTful services. | SW_RECEIVER_SHARING_REST_PORT | - | +| - | - | restContextPath | Web context path of RESTful services. | SW_RECEIVER_SHARING_REST_CONTEXT_PATH | - | +| - | - | restMaxThreads | Maximum thread number of RESTful services. | SW_RECEIVER_SHARING_REST_MAX_THREADS | 200 | +| - | - | restIdleTimeOut | Connector idle timeout of RESTful services (in milliseconds). | SW_RECEIVER_SHARING_REST_IDLE_TIMEOUT | 30000 | +| - | - | restAcceptQueueSize | ServerSocketChannel backlog of RESTful services. | SW_RECEIVER_SHARING_REST_QUEUE_SIZE | 0 | +| - | - | httpMaxRequestHeaderSize | Maximum request header size accepted. | SW_RECEIVER_SHARING_HTTP_MAX_REQUEST_HEADER_SIZE | 8192 | +| - | - | gRPCHost | Binding IP of gRPC services. Services include gRPC data report and internal communication among OAP nodes. | SW_RECEIVER_GRPC_HOST | 0.0.0.0. Not Activated | +| - | - | gRPCPort | Binding port of gRPC services. | SW_RECEIVER_GRPC_PORT | Not Activated | +| - | - | gRPCThreadPoolSize | Pool size of gRPC server. | SW_RECEIVER_GRPC_THREAD_POOL_SIZE | Default to gRPC's implementation, which is a cached thread pool that can grow infinitely. | +| - | - | gRPCSslEnabled | Activates SSL for gRPC services. | SW_RECEIVER_GRPC_SSL_ENABLED | false | +| - | - | gRPCSslKeyPath | File path of gRPC SSL key. | SW_RECEIVER_GRPC_SSL_KEY_PATH | - | +| - | - | gRPCSslCertChainPath | File path of gRPC SSL cert chain. | SW_RECEIVER_GRPC_SSL_CERT_CHAIN_PATH | - | +| - | - | maxConcurrentCallsPerConnection | The maximum number of concurrent calls permitted for each incoming connection. Defaults to no limit. | SW_RECEIVER_GRPC_MAX_CONCURRENT_CALL | - | +| - | - | maxMessageSize | Sets the maximum message size allowed to be received on the server. Empty means 4 MiB. | SW_RECEIVER_GRPC_MAX_MESSAGE_SIZE | 52428800 (50MB) | +| - | - | authentication | The token text for authentication. Works for gRPC connection only. Once this is set, the client is required to use the same token. | SW_AUTHENTICATION | - | +| log-analyzer | default | Log Analyzer. | SW_LOG_ANALYZER | default | | +| - | - | lalFiles | The LAL configuration file names (without file extension) to be activated. Read [LAL](../../concepts-and-designs/lal.md) for more details. | SW_LOG_LAL_FILES | default | +| - | - | malFiles | The MAL configuration file names (without file extension) to be activated. Read [LAL](../../concepts-and-designs/lal.md) for more details. | SW_LOG_MAL_FILES | "" | +| event-analyzer | default | Event Analyzer. | SW_EVENT_ANALYZER | default | | +| receiver-register | default | gRPC and HTTPRestful services that provide service, service instance and endpoint register. | - | - | | +| receiver-trace | default | gRPC and HTTPRestful services that accept SkyWalking format traces. | - | - | | +| receiver-jvm | default | gRPC services that accept JVM metrics data. | - | - | | +| receiver-clr | default | gRPC services that accept .Net CLR metrics data. | - | - | | +| receiver-profile | default | gRPC services that accept profile task status and snapshot reporter. | - | - | | +| receiver-zabbix | default | TCP receiver accepts Zabbix format metrics. | - | - | | +| - | - | port | Exported TCP port. Zabbix agent could connect and transport data. | SW_RECEIVER_ZABBIX_PORT | 10051 | +| - | - | host | Binds to host. | SW_RECEIVER_ZABBIX_HOST | 0.0.0.0 | +| - | - | activeFiles | Enables config when agent request is received. | SW_RECEIVER_ZABBIX_ACTIVE_FILES | agent | +| service-mesh | default | gRPC services that accept data from inbound mesh probes. | - | - | | +| envoy-metric | default | Envoy `metrics_service` and `ALS(access log service)` are supported by this receiver. The OAL script supports all GAUGE type metrics. | - | - | | +| - | - | acceptMetricsService | Starts Envoy Metrics Service analysis. | SW_ENVOY_METRIC_SERVICE | true | +| - | - | alsHTTPAnalysis | Starts Envoy HTTP Access Log Service analysis. Value = `k8s-mesh` means starting the analysis. | SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS | - | +| - | - | alsTCPAnalysis | Starts Envoy TCP Access Log Service analysis. Value = `k8s-mesh` means starting the analysis. | SW_ENVOY_METRIC_ALS_TCP_ANALYSIS | - | +| - | - | k8sServiceNameRule | `k8sServiceNameRule` allows you to customize the service name in ALS via Kubernetes metadata. The available variables are `pod` and `service`. E.g. you can use `${service.metadata.name}-${pod.metadata.labels.version}` to append the version number to the service name. Note that when using environment variables to pass this configuration, use single quotes(`''`) to avoid being evaluated by the shell. | K8S_SERVICE_NAME_RULE | ${pod.metadata.labels.(service.istio.io/canonical-name)}.${pod.metadata.namespace} | +| - | - | istioServiceNameRule | `istioServiceNameRule` allows you to customize the service name in ALS via Kubernetes metadata. The available variables are `serviceEntry`. E.g. you can use `${serviceEntry.metadata.name}-${serviceEntry.metadata.labels.version}` to append the version number to the service name. Note that when using environment variables to pass this configuration, use single quotes(`''`) to avoid being evaluated by the shell. | ISTIO_SERVICE_NAME_RULE | ${serviceEntry.metadata.name}.${serviceEntry.metadata.namespace} | +| - | - | istioServiceEntryIgnoredNamespaces | When looking up service informations from the Istio ServiceEntries, some of the ServiceEntries might be created in several namespaces automatically by some components, and OAP will randomly pick one of them to build the service name, users can use this config to exclude ServiceEntries that they don't want to be used. Comma separated. | SW_ISTIO_SERVICE_ENTRY_IGNORED_NAMESPACES | - | +| - | - | gRPCHost | Binding IP of gRPC service for Envoy access log service. | SW_ALS_GRPC_HOST | 0.0.0.0. Not Activated | +| - | - | gRPCPort | Binding port of gRPC service for Envoy access log service. | SW_ALS_GRPC_PORT | Not Activated | +| - | - | gRPCThreadPoolSize | Pool size of gRPC server. | SW_ALS_GRPC_THREAD_POOL_SIZE | Default to gRPC's implementation, which is a cached thread pool that can grow infinitely. | +| - | - | gRPCSslEnabled | Activates SSL for gRPC services. | SW_ALS_GRPC_SSL_ENABLED | false | +| - | - | gRPCSslKeyPath | File path of gRPC SSL key. | SW_ALS_GRPC_SSL_KEY_PATH | - | +| - | - | gRPCSslCertChainPath | File path of gRPC SSL cert chain. | SW_ALS_GRPC_SSL_CERT_CHAIN_PATH | - | +| - | - | maxConcurrentCallsPerConnection | The maximum number of concurrent calls permitted for each incoming connection. Defaults to no limit. | SW_ALS_GRPC_MAX_CONCURRENT_CALL | - | +| - | - | maxMessageSize | Sets the maximum message size allowed to be received on the server. Empty means 4 MiB. | SW_ALS_GRPC_MAX_MESSAGE_SIZE | 4M(based on Netty) | +| receiver-otel | default | A receiver for analyzing metrics data from OpenTelemetry. | - | - | | +| - | - | enabledHandlers | Enabled handlers for otel. | SW_OTEL_RECEIVER_ENABLED_HANDLERS | - | +| - | - | enabledOtelMetricsRules | Enabled metric rules for OTLP handler. | SW_OTEL_RECEIVER_ENABLED_OTEL_METRICS_RULES | - | +| receiver-zipkin | default | A receiver for Zipkin traces. | - | - | | +| - | - | sampleRate | The sample rate precision is 1/10000, should be between 0 and 10000 | SW_ZIPKIN_SAMPLE_RATE | 10000 | +| - | - | searchableTracesTags | Defines a set of span tag keys which are searchable. Multiple values are separated by commas. The max length of key=value should be less than 256 or will be dropped. | SW_ZIPKIN_SEARCHABLE_TAG_KEYS | http.method | +| - | - | enableHttpCollector | Enable Http Collector. | SW_ZIPKIN_HTTP_COLLECTOR_ENABLED | true | +| - | - | restHost | Binding IP of RESTful services. | SW_RECEIVER_ZIPKIN_REST_HOST | 0.0.0.0 | +| - | - | restPort | Binding port of RESTful services. | SW_RECEIVER_ZIPKIN_REST_PORT | 9411 | +| - | - | restContextPath | Web context path of RESTful services. | SW_RECEIVER_ZIPKIN_REST_CONTEXT_PATH | / | +| - | - | restMaxThreads | Maximum thread number of RESTful services. | SW_RECEIVER_ZIPKIN_REST_MAX_THREADS | 200 | +| - | - | restIdleTimeOut | Connector idle timeout of RESTful services (in milliseconds). | SW_RECEIVER_ZIPKIN_REST_IDLE_TIMEOUT | 30000 | +| - | - | restAcceptQueueSize | Maximum request header size accepted. | SW_RECEIVER_ZIPKIN_REST_QUEUE_SIZE | 0 | +| - | - | enableKafkaCollector | Enable Kafka Collector. | SW_ZIPKIN_KAFKA_COLLECTOR_ENABLED | false | +| - | - | kafkaBootstrapServers | Kafka ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG. | SW_ZIPKIN_KAFKA_SERVERS | localhost:9092 | +| - | - | kafkaGroupId | Kafka ConsumerConfig.GROUP_ID_CONFIG. | SW_ZIPKIN_KAFKA_GROUP_ID | zipkin | +| - | - | kafkaTopic | Kafka Topics. | SW_ZIPKIN_KAFKA_TOPIC | zipkin | +| - | - | kafkaConsumerConfig | Kafka consumer config, JSON format as Properties. If it contains the same key with above, would override. | SW_ZIPKIN_KAFKA_CONSUMER_CONFIG | "{\"auto.offset.reset\":\"earliest\",\"enable.auto.commit\":true}" | +| - | - | kafkaConsumers | The number of consumers to create. | SW_ZIPKIN_KAFKA_CONSUMERS | 1 | +| - | - | kafkaHandlerThreadPoolSize | Pool size of Kafka message handler executor. | SW_ZIPKIN_KAFKA_HANDLER_THREAD_POOL_SIZE | CPU core * 2 | +| - | - | kafkaHandlerThreadPoolQueueSize | Queue size of Kafka message handler executor. | SW_ZIPKIN_KAFKA_HANDLER_THREAD_POOL_QUEUE_SIZE | 10000 | +| kafka-fetcher | default | Read SkyWalking's native metrics/logs/traces through Kafka server. | - | - | | +| - | - | bootstrapServers | A list of host/port pairs to use for establishing the initial connection to the Kafka cluster. | SW_KAFKA_FETCHER_SERVERS | localhost:9092 | +| - | - | namespace | Namespace aims to isolate multi OAP cluster when using the same Kafka cluster. If you set a namespace for Kafka fetcher, OAP will add a prefix to topic name. You should also set namespace in `agent.config`. The property is named `plugin.kafka.namespace`. | SW_NAMESPACE | - | +| - | - | groupId | A unique string that identifies the consumer group to which this consumer belongs. | - | skywalking-consumer | +| - | - | partitions | The number of partitions for the topic being created. | SW_KAFKA_FETCHER_PARTITIONS | 3 | +| - | - | consumers | The number of consumers to create. | SW_KAFKA_FETCHER_CONSUMERS | 1 | +| - | - | enableNativeProtoLog | Enables fetching and handling native proto log data. | SW_KAFKA_FETCHER_ENABLE_NATIVE_PROTO_LOG | true | +| - | - | enableNativeJsonLog | Enables fetching and handling native json log data. | SW_KAFKA_FETCHER_ENABLE_NATIVE_JSON_LOG | true | +| - | - | replicationFactor | The replication factor for each partition in the topic being created. | SW_KAFKA_FETCHER_PARTITIONS_FACTOR | 2 | +| - | - | kafkaHandlerThreadPoolSize | Pool size of Kafka message handler executor. | SW_KAFKA_HANDLER_THREAD_POOL_SIZE | CPU core * 2 | +| - | - | kafkaHandlerThreadPoolQueueSize | Queue size of Kafka message handler executor. | SW_KAFKA_HANDLER_THREAD_POOL_QUEUE_SIZE | 10000 | +| - | - | topicNameOfMeters | Kafka topic name for meter system data. | - | skywalking-meters | +| - | - | topicNameOfMetrics | Kafka topic name for JVM metrics data. | - | skywalking-metrics | +| - | - | topicNameOfProfiling | Kafka topic name for profiling data. | - | skywalking-profilings | +| - | - | topicNameOfTracingSegments | Kafka topic name for tracing data. | - | skywalking-segments | +| - | - | topicNameOfManagements | Kafka topic name for service instance reporting and registration. | - | skywalking-managements | +| - | - | topicNameOfLogs | Kafka topic name for native proto log data. | - | skywalking-logs | +| - | - | topicNameOfJsonLogs | Kafka topic name for native json log data. | - | skywalking-logs-json | +| cilium-fetcher | default | Read Cilium Observe protocol data to collect Cilium Service status. | - | - | | +| - | - | peerHost | The Cilium Peer Service Host. | SW_CILIUM_FETCHER_PEER_HOST | hubble-peer.kube-system.svc.cluster.local | +| - | - | peerPort | The Cilium Peer Service Port. | SW_CILIUM_FETCHER_PEER_PORT | 80 | +| - | - | fetchFailureRetrySecond | The Cilium fetch observe data failure retry interval(second). | SW_CILIUM_FETCHER_FETCH_FAILURE_RETRY_SECOND | 10 | +| - | - | sslConnection | The Cilium fetch protocol is TLS enabled or not. | eSW_CILIUM_FETCHER_SSL_CONNECTION | false | +| - | - | sslPrivateKeyFile | The Cilium TLS fetch private key file path. | SW_CILIUM_FETCHER_PRIVATE_KEY_FILE_PATH | "" | +| - | - | sslCertChainFile | The Cilium TLS fetch cert chain file path. | SW_CILIUM_FETCHER_CERT_CHAIN_FILE_PATH | "" | +| - | - | sslCaFile | The Cilium TLS fetch rot CA Certification file path. | SW_CILIUM_FETCHER_CA_FILE_PATH | "" | +| - | - | convertClientAsServerTraffic | The Cilium flow data should convert client to the server side not. If convert, then the server side flow would be ignored. | SW_CILIUM_FETCHER_CONVERT_CLIENT_AS_SERVER_TRAFFIC | true | +| receiver-browser | default | gRPC services that accept browser performance data and error log. | - | - | - | +| - | - | sampleRate | Sampling rate for receiving trace. Precise to 1/10000. 10000 means sampling rate of 100% by default. | SW_RECEIVER_BROWSER_SAMPLE_RATE | 10000 | +| query | graphql | - | GraphQL query implementation. | - | | +| - | - | enableLogTestTool | Enable the log testing API to test the LAL. **NOTE**: This API evaluates untrusted code on the OAP server. A malicious script can do significant damage (steal keys and secrets, remove files and directories, install malware, etc). As such, please enable this API only when you completely trust your users. | SW_QUERY_GRAPHQL_ENABLE_LOG_TEST_TOOL | false | +| - | - | maxQueryComplexity | Maximum complexity allowed for the GraphQL query that can be used to abort a query if the total number of data fields queried exceeds the defined threshold. | SW_QUERY_MAX_QUERY_COMPLEXITY | 3000 | +| - | - | enableUpdateUITemplate | Allow user add,disable and update UI template. | SW_ENABLE_UPDATE_UI_TEMPLATE | false | +| - | - | enableOnDemandPodLog | Ondemand Pod log: fetch the Pod logs on users' demand, the logs are fetched and displayed in real time, and are not persisted in any kind. This is helpful when users want to do some experiments and monitor the logs and see what's happing inside the service. Note: if you print secrets in the logs, they are also visible to the UI, so for the sake of security, this feature is disabled by default, please set this configuration to enable the feature manually. | SW_ENABLE_ON_DEMAND_POD_LOG | false | +| query-zipkin | default | - | This module is for Zipkin query API and support zipkin-lens UI | - | | +| - | - | restHost | Binding IP of RESTful services. | SW_QUERY_ZIPKIN_REST_HOST | 0.0.0.0 | +| - | - | restPort | Binding port of RESTful services. | SW_QUERY_ZIPKIN_REST_PORT | 9412 | +| - | - | restContextPath | Web context path of RESTful services. | SW_QUERY_ZIPKIN_REST_CONTEXT_PATH | zipkin | +| - | - | restMaxThreads | Maximum thread number of RESTful services. | SW_QUERY_ZIPKIN_REST_MAX_THREADS | 200 | +| - | - | restIdleTimeOut | Connector idle timeout of RESTful services (in milliseconds). | SW_QUERY_ZIPKIN_REST_IDLE_TIMEOUT | 30000 | +| - | - | restAcceptQueueSize | Maximum request header size accepted. | SW_QUERY_ZIPKIN_REST_QUEUE_SIZE | 0 | +| - | - | lookback | Default look back for traces and autocompleteTags, 1 day in millis | SW_QUERY_ZIPKIN_LOOKBACK | 86400000 | +| - | - | namesMaxAge | The Cache-Control max-age (seconds) for serviceNames, remoteServiceNames and spanNames | SW_QUERY_ZIPKIN_NAMES_MAX_AGE | 300 | +| - | - | uiQueryLimit | Default traces query max size | SW_QUERY_ZIPKIN_UI_QUERY_LIMIT | 10 | +| - | - | uiDefaultLookback | Default look back on the UI for search traces, 15 minutes in millis | SW_QUERY_ZIPKIN_UI_DEFAULT_LOOKBACK | 900000 | +| promql | default | - | This module is for PromQL API. | - | | +| - | - | restHost | Binding IP of RESTful services. | SW_PROMQL_REST_HOST | 0.0.0.0 | +| - | - | restPort | Binding port of RESTful services. | SW_PROMQL_REST_PORT | 9090 | +| - | - | restContextPath | Web context path of RESTful services. | SW_PROMQL_REST_CONTEXT_PATH | / | +| - | - | restMaxThreads | Maximum thread number of RESTful services. | SW_PROMQL_REST_MAX_THREADS | 200 | +| - | - | restIdleTimeOut | Connector idle timeout of RESTful services (in milliseconds). | SW_PROMQL_REST_IDLE_TIMEOUT | 30000 | +| - | - | restAcceptQueueSize | Maximum request header size accepted. | SW_PROMQL_REST_QUEUE_SIZE | 0 | +| - | - | buildInfoVersion | Mock version for API buildInfo | SW_PROMQL_BUILD_INFO_VERSION | 2.45.0 | +| - | - | buildInfoRevision | Mock revision for API buildInfo | SW_PROMQL_BUILD_INFO_REVISION | | +| - | - | buildInfoBranch | Mock branch for API buildInfo | SW_PROMQL_BUILD_INFO_BRANCH | | +| - | - | buildInfoBuildUser | Mock build user for API buildInfo | SW_PROMQL_BUILD_INFO_BUILD_USER | | +| - | - | buildInfoBuildDate | Mock build date for API buildInfo | SW_PROMQL_BUILD_INFO_BUILD_DATE | | +| - | - | buildInfoGoVersion | Mock go version for API buildInfo | SW_PROMQL_BUILD_INFO_GO_VERSION | | +| alarm | default | - | Read [alarm doc](backend-alarm.md) for more details. | - | | +| telemetry | - | - | Read [telemetry doc](backend-telemetry.md) for more details. | - | | +| - | none | - | No op implementation. | - | | +| - | prometheus | host | Binding host for Prometheus server fetching data. | SW_TELEMETRY_PROMETHEUS_HOST | 0.0.0.0 | +| - | - | port | Binding port for Prometheus server fetching data. | SW_TELEMETRY_PROMETHEUS_PORT | 1234 | +| configuration | - | - | Read [dynamic configuration doc](dynamic-config.md) for more details. | - | | +| - | grpc | host | DCS server binding hostname. | SW_DCS_SERVER_HOST | - | +| - | - | port | DCS server binding port. | SW_DCS_SERVER_PORT | 80 | +| - | - | clusterName | Cluster name when reading the latest configuration from DSC server. | SW_DCS_CLUSTER_NAME | SkyWalking | +| - | - | period | The period of reading data from DSC server by the OAP (in seconds). | SW_DCS_PERIOD | 20 | +| - | - | maxInboundMessageSize | The max inbound message size of gRPC. | SW_DCS_MAX_INBOUND_MESSAGE_SIZE | 4194304 | +| - | apollo | apolloMeta | `apollo.meta` in Apollo. | SW_CONFIG_APOLLO | http://localhost:8080 | +| - | - | apolloCluster | `apollo.cluster` in Apollo. | SW_CONFIG_APOLLO_CLUSTER | default | +| - | - | apolloEnv | `env` in Apollo. | SW_CONFIG_APOLLO_ENV | - | +| - | - | appId | `app.id` in Apollo. | SW_CONFIG_APOLLO_APP_ID | skywalking | +| - | zookeeper | namespace | The namespace (represented by root path) that isolates the configurations in the Zookeeper. | SW_CONFIG_ZK_NAMESPACE | `/`, root path | +| - | - | hostPort | Hosts and ports of Zookeeper Cluster. | SW_CONFIG_ZK_HOST_PORT | localhost:2181 | +| - | - | baseSleepTimeMs | The period of Zookeeper client between two retries (in milliseconds). | SW_CONFIG_ZK_BASE_SLEEP_TIME_MS | 1000 | +| - | - | maxRetries | The maximum retry time. | SW_CONFIG_ZK_MAX_RETRIES | 3 | +| - | - | period | The period of data sync (in seconds). | SW_CONFIG_ZK_PERIOD | 60 | +| - | etcd | endpoints | Hosts and ports for etcd cluster (separated by commas if multiple). | SW_CONFIG_ETCD_ENDPOINTS | http://localhost:2379 | +| - | - | namespace | Namespace for SkyWalking cluster. | SW_CONFIG_ETCD_NAMESPACE | /skywalking | +| - | - | authentication | Indicates whether there is authentication. | SW_CONFIG_ETCD_AUTHENTICATION | false | +| - | - | user | Etcd auth username. | SW_CONFIG_ETCD_USER | | +| - | - | password | Etcd auth password. | SW_CONFIG_ETCD_PASSWORD | | +| - | - | period | The period of data sync (in seconds). | SW_CONFIG_ZK_PERIOD | 60 | +| - | consul | hostPort | Hosts and ports for Consul cluster. | SW_CONFIG_CONSUL_HOST_AND_PORTS | localhost:8500 | +| - | - | aclToken | ACL Token of Consul. Empty string means `without ACL token`. | SW_CONFIG_CONSUL_ACL_TOKEN | - | +| - | - | period | The period of data sync (in seconds). | SW_CONFIG_CONSUL_PERIOD | 60 | +| - | k8s-configmap | namespace | Deployment namespace of the config map. | SW_CLUSTER_K8S_NAMESPACE | default | +| - | - | labelSelector | Labels for locating configmap. | SW_CLUSTER_K8S_LABEL | app=collector,release=skywalking | +| - | - | period | The period of data sync (in seconds). | SW_CONFIG_ZK_PERIOD | 60 | +| - | nacos | serverAddr | Nacos Server Host. | SW_CONFIG_NACOS_SERVER_ADDR | 127.0.0.1 | +| - | - | port | Nacos Server Port. | SW_CONFIG_NACOS_SERVER_PORT | 8848 | +| - | - | group | Nacos Configuration namespace. | SW_CONFIG_NACOS_SERVER_NAMESPACE | - | +| - | - | period | The period of data sync (in seconds). | SW_CONFIG_CONFIG_NACOS_PERIOD | 60 | +| - | - | username | Nacos Auth username. | SW_CONFIG_NACOS_USERNAME | - | +| - | - | password | Nacos Auth password. | SW_CONFIG_NACOS_PASSWORD | - | +| - | - | accessKey | Nacos Auth accessKey. | SW_CONFIG_NACOS_ACCESSKEY | - | +| - | - | secretKey | Nacos Auth secretKey. | SW_CONFIG_NACOS_SECRETKEY | - | +| exporter | default | enableGRPCMetrics | Enable gRPC metrics exporter. | SW_EXPORTER_ENABLE_GRPC_METRICS | false | +| - | - | gRPCTargetHost | The host of target gRPC server for receiving export data | SW_EXPORTER_GRPC_HOST | 127.0.0.1 | +| - | - | gRPCTargetPort | The port of target gRPC server for receiving export data. | SW_EXPORTER_GRPC_PORT | 9870 | +| - | - | enableKafkaTrace | Enable Kafka trace exporter. | SW_EXPORTER_ENABLE_KAFKA_TRACE | false | +| - | - | enableKafkaLog | Enable Kafka log exporter. | SW_EXPORTER_ENABLE_KAFKA_LOG | false | +| - | - | kafkaBootstrapServers | A list of host/port pairs to use for establishing the initial connection to the Kafka cluster. | SW_EXPORTER_KAFKA_SERVERS | localhost:9092 | +| - | - | kafkaProducerConfig | Kafka producer config, JSON format as Properties. | SW_EXPORTER_KAFKA_PRODUCER_CONFIG | - | +| - | - | kafkaTopicTrace | Kafka topic name for trace. | SW_EXPORTER_KAFKA_TOPIC_TRACE | skywalking-export-trace | +| - | - | kafkaTopicLog | Kafka topic name for log. | SW_EXPORTER_KAFKA_TOPIC_LOG | skywalking-export-log | +| - | - | exportErrorStatusTraceOnly | Export error status trace segments through the Kafka channel. | SW_EXPORTER_KAFKA_TRACE_FILTER_ERROR | false | +| health-checker | default | checkIntervalSeconds | The period of checking OAP internal health status (in seconds). | SW_HEALTH_CHECKER_INTERVAL_SECONDS | 5 | +| status-query | default | | | | | +| - | - | keywords4MaskingSecretsOfConfig | Include the list of keywords to filter configurations including secrets. Separate keywords by a comma. | SW_DEBUGGING_QUERY_KEYWORDS_FOR_MASKING_SECRETS | user,password,token,accessKey,secretKey,authentication | +| configuration-discovery | default | disableMessageDigest | If true, agent receives the latest configuration every time, even without making any changes. By default, OAP uses the SHA512 message digest mechanism to detect changes in configuration. | SW_DISABLE_MESSAGE_DIGEST | false | +| receiver-event | default | gRPC services that handle events data. | - | - | | +| aws-firehose-receiver | default | host | Binding IP of HTTP server | SW_RECEIVER_AWS_FIREHOSE_HTTP_HOST | 0.0.0.0 | +| - | - | port | Binding port of HTTP server | SW_RECEIVER_AWS_FIREHOSE_HTTP_PORT | 12801 | +| - | - | contextPath | Context path of HTTP server | SW_RECEIVER_AWS_FIREHOSE_HTTP_CONTEXT_PATH | / | +| - | - | maxThreads | Max Thread number of HTTP server | SW_RECEIVER_AWS_FIREHOSE_HTTP_MAX_THREADS | 200 | +| - | - | idleTimeOut | Idle timeout of a connection for keep-alive. | SW_RECEIVER_AWS_FIREHOSE_HTTP_IDLE_TIME_OUT | 30000 | +| - | - | acceptQueueSize | Maximum allowed number of open connections | SW_RECEIVER_AWS_FIREHOSE_HTTP_ACCEPT_QUEUE_SIZE | 0 | +| - | - | maxRequestHeaderSize | Maximum length of all headers in an HTTP/1 response | SW_RECEIVER_AWS_FIREHOSE_HTTP_MAX_REQUEST_HEADER_SIZE | 8192 | +| - | - | firehoseAccessKey | The AccessKey of AWS firhose | SW_RECEIVER_AWS_FIREHOSE_ACCESS_KEY | | +| - | - | enableTLS | Indicate if enable HTTPS for the server | SW_RECEIVER_AWS_FIREHOSE_HTTP_ENABLE_TLS | false | +| - | - | tlsKeyPath | TLS key path | SW_RECEIVER_AWS_FIREHOSE_HTTP_TLS_KEY_PATH | | +| - | - | tlsCertChainPath | TLS certificate chain path | SW_RECEIVER_AWS_FIREHOSE_HTTP_TLS_CERT_CHAIN_PATH | | +| ai-pipeline | default | | | | +| - | - | uriRecognitionServerAddr | The address of the URI recognition server. | SW_AI_PIPELINE_URI_RECOGNITION_SERVER_ADDR | - | +| - | - | uriRecognitionServerPort | The port of the URI recognition server. | SW_AI_PIPELINE_URI_RECOGNITION_SERVER_PORT | 17128 | +| receiver-async-profiler | default | gRPC services that accept async-profiler task status and data reporter. | - | - | | +| - | - | jfrMaxSize | Used to manage the maximum size of the jfr file that can be received, the unit is Byte, default is 30M. | SW_RECEIVER_ASYNC_PROFILER_JFR_MAX_SIZE | 31457280 | +| - | - | memoryParserEnabled | Used to determine whether to receive jfr in memory file or physical file mode. | SW_RECEIVER_ASYNC_PROFILER_MEMORY_PARSER_ENABLED | true | ## Note ¹ System Environment Variable name could be declared and changed in `application.yml`. The names listed here are simply diff --git a/docs/en/setup/backend/storages/banyandb.md b/docs/en/setup/backend/storages/banyandb.md index 3253b17eb72a..108f0c97e9e4 100644 --- a/docs/en/setup/backend/storages/banyandb.md +++ b/docs/en/setup/backend/storages/banyandb.md @@ -85,6 +85,30 @@ BanyanDB Server supports two installation modes: - **Standalone Mode**: Suitable for small-scale deployments. - **Configuration**: `targets` is the IP address/hostname and port of the BanyanDB server. +Use the docker mode to run BanyanDB containerized. +```shell +docker pull apache/skywalking-banyandb:latest + +docker run -d \ + -p 17912:17912 \ + -p 17913:17913 \ + --name banyandb \ + apache/skywalking-banyandb:latest \ + standalone +``` + +Or use the development builds for latest and unreleased features, all versions are available [here](https://github.com/apache/skywalking-banyandb/pkgs/container/skywalking-banyandb). +```shell +docker pull apache/skywalking-banyandb:latest + +docker run -d \ + -p 17912:17912 \ + -p 17913:17913 \ + --name banyandb \ + ghcr.io/apache/skywalking-banyandb:xxxxxx \ + standalone +``` + - **Cluster Mode**: Suitable for large-scale deployments. - **Configuration**: `targets` is the IP address/hostname and port of the `liaison` nodes, separated by commas. `Liaison` nodes are the entry points of the BanyanDB cluster. diff --git a/docs/en/setup/backend/storages/h2.md b/docs/en/setup/backend/storages/h2.md deleted file mode 100644 index f30b15969dea..000000000000 --- a/docs/en/setup/backend/storages/h2.md +++ /dev/null @@ -1,16 +0,0 @@ -# H2 -Activate H2 as storage, set storage provider to **H2** In-Memory Databases by default in the distribution package. -Please read `Database URL Overview` in [H2 official document](http://www.h2database.com/html/features.html). -You can set the target to H2 in **Embedded**, **Server** and **Mixed** modes. - -Setting fragment example -```yaml -storage: - selector: ${SW_STORAGE:h2} - h2: - driver: org.h2.jdbcx.JdbcDataSource - url: jdbc:h2:mem:skywalking-oap-db - user: sa - maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:100} - asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:1} -``` \ No newline at end of file diff --git a/docs/menu.yml b/docs/menu.yml index cbd6f8f994a0..8bb5acd4623e 100644 --- a/docs/menu.yml +++ b/docs/menu.yml @@ -170,8 +170,6 @@ catalog: path: "/en/setup/backend/backend-storage" - name: "BanyanDB" path: "/en/setup/backend/storages/banyandb" - - name: "H2" - path: "/en/setup/backend/storages/h2" - name: "MySQL" path: "/en/setup/backend/storages/mysql" - name: "PostgreSQL" diff --git a/oap-server-bom/pom.xml b/oap-server-bom/pom.xml index 64799507c317..32481c60a769 100644 --- a/oap-server-bom/pom.xml +++ b/oap-server-bom/pom.xml @@ -36,7 +36,6 @@ 18.1 3.14.9 4.5.13 - 2.1.212 2.10.5 3.5.7 32.0.1-jre @@ -153,11 +152,6 @@ okhttp ${okhttp.version} - - com.h2database - h2 - ${h2.version} - joda-time joda-time diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java index 954ff4d06e14..b8b45b5b8114 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java @@ -284,7 +284,7 @@ public static Span buildSpanFromRecord(ZipkinSpanRecord record) { //Build remoteEndpoint Endpoint.Builder remoteEndpoint = Endpoint.newBuilder(); remoteEndpoint.serviceName(record.getRemoteEndpointServiceName()); - if (!StringUtil.isEmpty(record.getLocalEndpointIPV4())) { + if (!StringUtil.isEmpty(record.getRemoteEndpointIPV4())) { remoteEndpoint.parseIp(record.getRemoteEndpointIPV4()); } else { remoteEndpoint.parseIp(record.getRemoteEndpointIPV6()); diff --git a/oap-server/server-library/library-util/src/test/resources/application.yml b/oap-server/server-library/library-util/src/test/resources/application.yml index ad0445ef18fa..9d6cc8b09ff2 100755 --- a/oap-server/server-library/library-util/src/test/resources/application.yml +++ b/oap-server/server-library/library-util/src/test/resources/application.yml @@ -59,11 +59,6 @@ storage: flushInterval: ${ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests concurrentRequests: ${ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests - h2: - driver: org.h2.jdbcx.JdbcDataSource - url: jdbc:h2:mem:skywalking-oap-db - user: sa - receiver-register: default: diff --git a/oap-server/server-starter/src/main/resources/application.yml b/oap-server/server-starter/src/main/resources/application.yml index ee396483ea71..883020ae6100 100644 --- a/oap-server/server-starter/src/main/resources/application.yml +++ b/oap-server/server-starter/src/main/resources/application.yml @@ -142,81 +142,7 @@ core: # Notice: some of the configurations only available for kubernetes environments. enableHierarchy: ${SW_CORE_ENABLE_HIERARCHY:true} storage: - selector: ${SW_STORAGE:h2} - elasticsearch: - namespace: ${SW_NAMESPACE:""} - clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200} - protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"} - connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:3000} - socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000} - responseTimeout: ${SW_STORAGE_ES_RESPONSE_TIMEOUT:15000} - numHttpClientThread: ${SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD:0} - user: ${SW_ES_USER:""} - password: ${SW_ES_PASSWORD:""} - trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:""} - trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:""} - secretsManagementFile: ${SW_ES_SECRETS_MANAGEMENT_FILE:""} # Secrets management file in the properties format includes the username, password, which are managed by 3rd party tool. - dayStep: ${SW_STORAGE_DAY_STEP:1} # Represent the number of days in the one minute/hour/day index. - indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:1} # Shard number of new indexes - indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:1} # Replicas number of new indexes - # Specify the settings for each index individually. - # If configured, this setting has the highest priority and overrides the generic settings. - specificIndexSettings: ${SW_STORAGE_ES_SPECIFIC_INDEX_SETTINGS:""} - # Super data set has been defined in the codes, such as trace segments.The following 3 config would be improve es performance when storage super size data in es. - superDatasetDayStep: ${SW_STORAGE_ES_SUPER_DATASET_DAY_STEP:-1} # Represent the number of days in the super size dataset record index, the default value is the same as dayStep when the value is less than 0 - superDatasetIndexShardsFactor: ${SW_STORAGE_ES_SUPER_DATASET_INDEX_SHARDS_FACTOR:5} # This factor provides more shards for the super data set, shards number = indexShardsNumber * superDatasetIndexShardsFactor. Also, this factor effects Zipkin traces. - superDatasetIndexReplicasNumber: ${SW_STORAGE_ES_SUPER_DATASET_INDEX_REPLICAS_NUMBER:0} # Represent the replicas number in the super size dataset record index, the default value is 0. - indexTemplateOrder: ${SW_STORAGE_ES_INDEX_TEMPLATE_ORDER:0} # the order of index template - bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:5000} # Execute the async bulk record data every ${SW_STORAGE_ES_BULK_ACTIONS} requests - batchOfBytes: ${SW_STORAGE_ES_BATCH_OF_BYTES:10485760} # A threshold to control the max body size of ElasticSearch Bulk flush. - # flush the bulk every 5 seconds whatever the number of requests - flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:5} - concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests - resultWindowMaxSize: ${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000} - metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:10000} - scrollingBatchSize: ${SW_STORAGE_ES_SCROLLING_BATCH_SIZE:5000} - segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200} - profileTaskQueryMaxSize: ${SW_STORAGE_ES_QUERY_PROFILE_TASK_SIZE:200} - asyncProfilerTaskQueryMaxSize: ${SW_STORAGE_ES_QUERY_ASYNC_PROFILER_TASK_SIZE:200} - profileDataQueryBatchSize: ${SW_STORAGE_ES_QUERY_PROFILE_DATA_BATCH_SIZE:100} - oapAnalyzer: ${SW_STORAGE_ES_OAP_ANALYZER:"{\"analyzer\":{\"oap_analyzer\":{\"type\":\"stop\"}}}"} # the oap analyzer. - oapLogAnalyzer: ${SW_STORAGE_ES_OAP_LOG_ANALYZER:"{\"analyzer\":{\"oap_log_analyzer\":{\"type\":\"standard\"}}}"} # the oap log analyzer. It could be customized by the ES analyzer configuration to support more language log formats, such as Chinese log, Japanese log and etc. - advanced: ${SW_STORAGE_ES_ADVANCED:""} - # Enable shard metrics and records indices into multi-physical indices, one index template per metric/meter aggregation function or record. - logicSharding: ${SW_STORAGE_ES_LOGIC_SHARDING:false} - # Custom routing can reduce the impact of searches. Instead of having to fan out a search request to all the shards in an index, the request can be sent to just the shard that matches the specific routing value (or values). - enableCustomRouting: ${SW_STORAGE_ES_ENABLE_CUSTOM_ROUTING:false} - h2: - properties: - jdbcUrl: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=FALSE} - dataSource.user: ${SW_STORAGE_H2_USER:sa} - metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000} - maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:100} - asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:1} - mysql: - properties: - jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?rewriteBatchedStatements=true&allowMultiQueries=true"} - dataSource.user: ${SW_DATA_SOURCE_USER:root} - dataSource.password: ${SW_DATA_SOURCE_PASSWORD:root@1234} - dataSource.cachePrepStmts: ${SW_DATA_SOURCE_CACHE_PREP_STMTS:true} - dataSource.prepStmtCacheSize: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE:250} - dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048} - dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true} - metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000} - maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:2000} - asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:4} - postgresql: - properties: - jdbcUrl: ${SW_JDBC_URL:"jdbc:postgresql://localhost:5432/skywalking"} - dataSource.user: ${SW_DATA_SOURCE_USER:postgres} - dataSource.password: ${SW_DATA_SOURCE_PASSWORD:123456} - dataSource.cachePrepStmts: ${SW_DATA_SOURCE_CACHE_PREP_STMTS:true} - dataSource.prepStmtCacheSize: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE:250} - dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048} - dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true} - metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000} - maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:2000} - asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:4} + selector: ${SW_STORAGE:banyandb} banyandb: # Targets is the list of BanyanDB servers, separated by commas. # Each target is a BanyanDB server in the format of `host:port`. @@ -284,6 +210,73 @@ storage: gmIndexShardNum: ${SW_STORAGE_BANYANDB_GM_INDEX_SHARD_NUM:2} gmIndexSIDays: ${SW_STORAGE_BANYANDB_GM_INDEX_SI_DAYS:15} gmIndexTTLDays: ${SW_STORAGE_BANYANDB_GM_INDEX_TTL_DAYS:15} + elasticsearch: + namespace: ${SW_NAMESPACE:""} + clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200} + protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"} + connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:3000} + socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000} + responseTimeout: ${SW_STORAGE_ES_RESPONSE_TIMEOUT:15000} + numHttpClientThread: ${SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD:0} + user: ${SW_ES_USER:""} + password: ${SW_ES_PASSWORD:""} + trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:""} + trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:""} + secretsManagementFile: ${SW_ES_SECRETS_MANAGEMENT_FILE:""} # Secrets management file in the properties format includes the username, password, which are managed by 3rd party tool. + dayStep: ${SW_STORAGE_DAY_STEP:1} # Represent the number of days in the one minute/hour/day index. + indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:1} # Shard number of new indexes + indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:1} # Replicas number of new indexes + # Specify the settings for each index individually. + # If configured, this setting has the highest priority and overrides the generic settings. + specificIndexSettings: ${SW_STORAGE_ES_SPECIFIC_INDEX_SETTINGS:""} + # Super data set has been defined in the codes, such as trace segments.The following 3 config would be improve es performance when storage super size data in es. + superDatasetDayStep: ${SW_STORAGE_ES_SUPER_DATASET_DAY_STEP:-1} # Represent the number of days in the super size dataset record index, the default value is the same as dayStep when the value is less than 0 + superDatasetIndexShardsFactor: ${SW_STORAGE_ES_SUPER_DATASET_INDEX_SHARDS_FACTOR:5} # This factor provides more shards for the super data set, shards number = indexShardsNumber * superDatasetIndexShardsFactor. Also, this factor effects Zipkin traces. + superDatasetIndexReplicasNumber: ${SW_STORAGE_ES_SUPER_DATASET_INDEX_REPLICAS_NUMBER:0} # Represent the replicas number in the super size dataset record index, the default value is 0. + indexTemplateOrder: ${SW_STORAGE_ES_INDEX_TEMPLATE_ORDER:0} # the order of index template + bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:5000} # Execute the async bulk record data every ${SW_STORAGE_ES_BULK_ACTIONS} requests + batchOfBytes: ${SW_STORAGE_ES_BATCH_OF_BYTES:10485760} # A threshold to control the max body size of ElasticSearch Bulk flush. + # flush the bulk every 5 seconds whatever the number of requests + flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:5} + concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests + resultWindowMaxSize: ${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000} + metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:10000} + scrollingBatchSize: ${SW_STORAGE_ES_SCROLLING_BATCH_SIZE:5000} + segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200} + profileTaskQueryMaxSize: ${SW_STORAGE_ES_QUERY_PROFILE_TASK_SIZE:200} + asyncProfilerTaskQueryMaxSize: ${SW_STORAGE_ES_QUERY_ASYNC_PROFILER_TASK_SIZE:200} + profileDataQueryBatchSize: ${SW_STORAGE_ES_QUERY_PROFILE_DATA_BATCH_SIZE:100} + oapAnalyzer: ${SW_STORAGE_ES_OAP_ANALYZER:"{\"analyzer\":{\"oap_analyzer\":{\"type\":\"stop\"}}}"} # the oap analyzer. + oapLogAnalyzer: ${SW_STORAGE_ES_OAP_LOG_ANALYZER:"{\"analyzer\":{\"oap_log_analyzer\":{\"type\":\"standard\"}}}"} # the oap log analyzer. It could be customized by the ES analyzer configuration to support more language log formats, such as Chinese log, Japanese log and etc. + advanced: ${SW_STORAGE_ES_ADVANCED:""} + # Enable shard metrics and records indices into multi-physical indices, one index template per metric/meter aggregation function or record. + logicSharding: ${SW_STORAGE_ES_LOGIC_SHARDING:false} + # Custom routing can reduce the impact of searches. Instead of having to fan out a search request to all the shards in an index, the request can be sent to just the shard that matches the specific routing value (or values). + enableCustomRouting: ${SW_STORAGE_ES_ENABLE_CUSTOM_ROUTING:false} + mysql: + properties: + jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?rewriteBatchedStatements=true&allowMultiQueries=true"} + dataSource.user: ${SW_DATA_SOURCE_USER:root} + dataSource.password: ${SW_DATA_SOURCE_PASSWORD:root@1234} + dataSource.cachePrepStmts: ${SW_DATA_SOURCE_CACHE_PREP_STMTS:true} + dataSource.prepStmtCacheSize: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE:250} + dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048} + dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true} + metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000} + maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:2000} + asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:4} + postgresql: + properties: + jdbcUrl: ${SW_JDBC_URL:"jdbc:postgresql://localhost:5432/skywalking"} + dataSource.user: ${SW_DATA_SOURCE_USER:postgres} + dataSource.password: ${SW_DATA_SOURCE_PASSWORD:123456} + dataSource.cachePrepStmts: ${SW_DATA_SOURCE_CACHE_PREP_STMTS:true} + dataSource.prepStmtCacheSize: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE:250} + dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048} + dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true} + metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000} + maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:2000} + asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:4} agent-analyzer: selector: ${SW_AGENT_ANALYZER:default} diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/pom.xml b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/pom.xml index 03e92550ce59..3285d110a4e1 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/pom.xml +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/pom.xml @@ -44,10 +44,6 @@ library-datacarrier-queue ${project.version} - - com.h2database - h2 - org.postgresql postgresql diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java deleted file mode 100644 index fb37c2614485..000000000000 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.apache.skywalking.oap.server.storage.plugin.jdbc.h2; - -import org.apache.skywalking.oap.server.core.storage.model.ModelInstaller; -import org.apache.skywalking.oap.server.storage.plugin.jdbc.common.JDBCStorageProvider; - -/** - * H2 Storage provider is for demonstration and preview only. I will find that haven't implemented several interfaces, - * because not necessary, and don't consider about performance very much. - *

- * If someone wants to implement SQL-style database as storage, please just refer the logic. - */ -public class H2StorageProvider extends JDBCStorageProvider { - @Override - public String name() { - return "h2"; - } - - @Override - protected ModelInstaller createModelInstaller() { - return new H2TableInstaller(jdbcClient, getManager()); - } -} diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2TableInstaller.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2TableInstaller.java deleted file mode 100644 index 225ada38cf20..000000000000 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2TableInstaller.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.apache.skywalking.oap.server.storage.plugin.jdbc.h2; - -import lombok.extern.slf4j.Slf4j; -import org.apache.skywalking.oap.server.library.client.Client; -import org.apache.skywalking.oap.server.library.module.ModuleManager; -import org.apache.skywalking.oap.server.storage.plugin.jdbc.common.JDBCTableInstaller; - -@Slf4j -public class H2TableInstaller extends JDBCTableInstaller { - public H2TableInstaller(Client client, ModuleManager moduleManager) { - super(client, moduleManager); - } - - @Override - public void start() { - overrideColumnName("value", "value_"); - } -} diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider index e47d40941dc7..cdf011f61913 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider @@ -16,6 +16,5 @@ # # -org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.H2StorageProvider org.apache.skywalking.oap.server.storage.plugin.jdbc.mysql.MySQLStorageProvider org.apache.skywalking.oap.server.storage.plugin.jdbc.postgresql.PostgreSQLStorageProvider \ No newline at end of file diff --git a/oap-server/server-tools/data-generator/src/main/resources/application.yml b/oap-server/server-tools/data-generator/src/main/resources/application.yml index ec7ee1725764..c7fbcbfc377e 100755 --- a/oap-server/server-tools/data-generator/src/main/resources/application.yml +++ b/oap-server/server-tools/data-generator/src/main/resources/application.yml @@ -89,7 +89,7 @@ core: # The max number of HTTP URIs per service for further URI pattern recognition. maxHttpUrisNumberPerService: ${SW_CORE_MAX_HTTP_URIS_NUMBER_PER_SVR:3000} storage: - selector: ${SW_STORAGE:h2} + selector: ${SW_STORAGE:banyandb} elasticsearch: namespace: ${SW_NAMESPACE:""} clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200} @@ -132,13 +132,6 @@ storage: logicSharding: ${SW_STORAGE_ES_LOGIC_SHARDING:false} # Custom routing can reduce the impact of searches. Instead of having to fan out a search request to all the shards in an index, the request can be sent to just the shard that matches the specific routing value (or values). enableCustomRouting: ${SW_STORAGE_ES_ENABLE_CUSTOM_ROUTING:false} - h2: - properties: - jdbcUrl: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=FALSE} - dataSource.user: ${SW_STORAGE_H2_USER:sa} - metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000} - maxSizeOfBatchSql: ${SW_STORAGE_MAX_SIZE_OF_BATCH_SQL:100} - asyncBatchPersistentPoolSize: ${SW_STORAGE_ASYNC_BATCH_PERSISTENT_POOL_SIZE:1} mysql: properties: jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?rewriteBatchedStatements=true&allowMultiQueries=true"} diff --git a/test/e2e-v2/cases/activemq/docker-compose.yml b/test/e2e-v2/cases/activemq/docker-compose.yml index 54c400c05941..ddaedefc03bd 100644 --- a/test/e2e-v2/cases/activemq/docker-compose.yml +++ b/test/e2e-v2/cases/activemq/docker-compose.yml @@ -25,6 +25,13 @@ services: networks: - e2e + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + amq: image: apache/activemq-classic:6.0.1 hostname: amq diff --git a/test/e2e-v2/cases/alarm/h2/docker-compose.yml b/test/e2e-v2/cases/alarm/h2/docker-compose.yml deleted file mode 100644 index 148f6c9ed6e7..000000000000 --- a/test/e2e-v2/cases/alarm/h2/docker-compose.yml +++ /dev/null @@ -1,60 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: '2.1' - -services: - h2db: - build: - context: . - dockerfile: ../../../script/dockerfile/Dockerfile.h2 - networks: - - e2e - expose: - - 1521 - healthcheck: - test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/1521"] - interval: 5s - timeout: 60s - retries: 120 - - oap: - extends: - file: ../../../script/docker-compose/base-compose.yml - service: oap - environment: - SW_STORAGE: h2 - SW_STORAGE_H2_URL: jdbc:h2:tcp://h2db:1521/skywalking-oap-db;DATABASE_TO_UPPER=FALSE - SW_SEARCHABLE_ALARM_TAG_KEYS: level,receivers - ports: - - 12800 - depends_on: - h2db: - condition: service_healthy - volumes: - - ../alarm-settings.yml:/skywalking/config/alarm-settings.yml - - provider: - extends: - file: ../../../script/docker-compose/base-compose.yml - service: provider - ports: - - 9090 - depends_on: - oap: - condition: service_healthy - -networks: - e2e: diff --git a/test/e2e-v2/cases/alarm/h2/e2e.yaml b/test/e2e-v2/cases/alarm/h2/e2e.yaml deleted file mode 100644 index 4dcb90bf0f7d..000000000000 --- a/test/e2e-v2/cases/alarm/h2/e2e.yaml +++ /dev/null @@ -1,47 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is used to show how to write configuration files and can be used to test. - -setup: - env: compose - file: docker-compose.yml - timeout: 20m - init-system-environment: ../../../script/env - steps: - - name: set PATH - command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH - - name: install yq - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq - - name: install swctl - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl - -trigger: - action: http - interval: 3s - times: 30 - url: http://${provider_host}:${provider_9090}/users - method: POST - body: '{"id":"123","name":"skywalking"}' - headers: - "Content-Type": "application/json" - -verify: - retry: - count: 20 - interval: 3s - cases: - - includes: - - ../alarm-cases.yaml diff --git a/test/e2e-v2/cases/apisix/otel-collector/docker-compose.yml b/test/e2e-v2/cases/apisix/otel-collector/docker-compose.yml index 908a827938ee..cb717c2f94c1 100644 --- a/test/e2e-v2/cases/apisix/otel-collector/docker-compose.yml +++ b/test/e2e-v2/cases/apisix/otel-collector/docker-compose.yml @@ -24,6 +24,12 @@ services: - 12800 networks: e2e: + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 otel-collector: image: otel/opentelemetry-collector:${OTEL_COLLECTOR_VERSION} command: [ "--config=/etc/otel-collector-config.yaml" ] diff --git a/test/e2e-v2/cases/aws/api-gateway/docker-compose.yml b/test/e2e-v2/cases/aws/api-gateway/docker-compose.yml index dcd2cfc5af6f..77a0f9efdeaf 100644 --- a/test/e2e-v2/cases/aws/api-gateway/docker-compose.yml +++ b/test/e2e-v2/cases/aws/api-gateway/docker-compose.yml @@ -25,6 +25,13 @@ services: networks: e2e: + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + sender: image: "eclipse-temurin:8-jre" volumes: diff --git a/test/e2e-v2/cases/aws/dynamodb/docker-compose.yml b/test/e2e-v2/cases/aws/dynamodb/docker-compose.yml index 39262bbea821..5dc01ea6894a 100644 --- a/test/e2e-v2/cases/aws/dynamodb/docker-compose.yml +++ b/test/e2e-v2/cases/aws/dynamodb/docker-compose.yml @@ -25,6 +25,13 @@ services: networks: e2e: + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + sender: image: "eclipse-temurin:8-jre" volumes: diff --git a/test/e2e-v2/cases/aws/eks/docker-compose.yml b/test/e2e-v2/cases/aws/eks/docker-compose.yml index dcd2cfc5af6f..77a0f9efdeaf 100644 --- a/test/e2e-v2/cases/aws/eks/docker-compose.yml +++ b/test/e2e-v2/cases/aws/eks/docker-compose.yml @@ -25,6 +25,13 @@ services: networks: e2e: + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + sender: image: "eclipse-temurin:8-jre" volumes: diff --git a/test/e2e-v2/cases/aws/s3/docker-compose.yml b/test/e2e-v2/cases/aws/s3/docker-compose.yml index dcd2cfc5af6f..77a0f9efdeaf 100644 --- a/test/e2e-v2/cases/aws/s3/docker-compose.yml +++ b/test/e2e-v2/cases/aws/s3/docker-compose.yml @@ -25,6 +25,13 @@ services: networks: e2e: + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + sender: image: "eclipse-temurin:8-jre" volumes: diff --git a/test/e2e-v2/cases/browser/docker-compose.yml b/test/e2e-v2/cases/browser/docker-compose.yml index 00b89244828e..29946365b237 100644 --- a/test/e2e-v2/cases/browser/docker-compose.yml +++ b/test/e2e-v2/cases/browser/docker-compose.yml @@ -23,7 +23,14 @@ services: ports: - 12800 environment: - SW_STORAGE: h2 + SW_STORAGE: banyandb + + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 provider: build: diff --git a/test/e2e-v2/cases/clickhouse/clickhouse-prometheus-endpoint/docker-compose.yml b/test/e2e-v2/cases/clickhouse/clickhouse-prometheus-endpoint/docker-compose.yml index 0e0db6a45ee6..cc2227cdbcd0 100644 --- a/test/e2e-v2/cases/clickhouse/clickhouse-prometheus-endpoint/docker-compose.yml +++ b/test/e2e-v2/cases/clickhouse/clickhouse-prometheus-endpoint/docker-compose.yml @@ -24,6 +24,12 @@ services: - TZ=Asia/Shanghai ports: - "12800:12800" + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 zookeeper: image: zookeeper:3.7.2 environment: diff --git a/test/e2e-v2/cases/elasticsearch/docker-compose.yml b/test/e2e-v2/cases/elasticsearch/docker-compose.yml index e44b801c7274..a698f17ed764 100644 --- a/test/e2e-v2/cases/elasticsearch/docker-compose.yml +++ b/test/e2e-v2/cases/elasticsearch/docker-compose.yml @@ -24,6 +24,12 @@ services: - "12800:12800" networks: - e2e + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 es: image: elastic/elasticsearch:8.3.2 expose: diff --git a/test/e2e-v2/cases/event/h2/docker-compose.yml b/test/e2e-v2/cases/event/h2/docker-compose.yml deleted file mode 100644 index 65ea3112f50c..000000000000 --- a/test/e2e-v2/cases/event/h2/docker-compose.yml +++ /dev/null @@ -1,48 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: '3.8' - -services: - h2db: - build: - context: . - dockerfile: ../../../script/dockerfile/Dockerfile.h2 - networks: - - e2e - expose: - - 1521 - healthcheck: - test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/1521"] - interval: 5s - timeout: 60s - retries: 120 - - oap: - extends: - file: ../../../script/docker-compose/base-compose.yml - service: oap - environment: - SW_STORAGE: h2 - SW_STORAGE_H2_URL: jdbc:h2:tcp://h2db:1521/skywalking-oap-db;DATABASE_TO_UPPER=FALSE - depends_on: - h2db: - condition: service_healthy - ports: - - 11800 - - 12800 - -networks: - e2e: diff --git a/test/e2e-v2/cases/event/h2/e2e.yaml b/test/e2e-v2/cases/event/h2/e2e.yaml deleted file mode 100644 index c957da231699..000000000000 --- a/test/e2e-v2/cases/event/h2/e2e.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is used to show how to write configuration files and can be used to test. - -setup: - env: compose - file: docker-compose.yml - timeout: 20m - init-system-environment: ../../../script/env - steps: - - name: set PATH - command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH - - name: install yq - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq - - name: install swctl - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl - -verify: - retry: - count: 20 - interval: 3s - cases: - - includes: - - ../event-cases.yaml diff --git a/test/e2e-v2/cases/exporter/kafka/docker-compose.yml b/test/e2e-v2/cases/exporter/kafka/docker-compose.yml index bc188e4d6d35..98f5d34c359e 100644 --- a/test/e2e-v2/cases/exporter/kafka/docker-compose.yml +++ b/test/e2e-v2/cases/exporter/kafka/docker-compose.yml @@ -70,6 +70,13 @@ services: networks: - e2e + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: extends: file: ../../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/go/docker-compose.yml b/test/e2e-v2/cases/go/docker-compose.yml index 8370b79c44a4..8dc12b67604d 100644 --- a/test/e2e-v2/cases/go/docker-compose.yml +++ b/test/e2e-v2/cases/go/docker-compose.yml @@ -23,6 +23,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: extends: file: ../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/kafka/kafka-monitoring/docker-compose.yml b/test/e2e-v2/cases/kafka/kafka-monitoring/docker-compose.yml index b24e4de9a431..c7768e565e7f 100644 --- a/test/e2e-v2/cases/kafka/kafka-monitoring/docker-compose.yml +++ b/test/e2e-v2/cases/kafka/kafka-monitoring/docker-compose.yml @@ -25,6 +25,13 @@ services: networks: - e2e + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + zookeeper: image: zookeeper:3.4 expose: diff --git a/test/e2e-v2/cases/kafka/log/docker-compose.yml b/test/e2e-v2/cases/kafka/log/docker-compose.yml index 05ace1c906e5..d29ea70ee76a 100644 --- a/test/e2e-v2/cases/kafka/log/docker-compose.yml +++ b/test/e2e-v2/cases/kafka/log/docker-compose.yml @@ -89,6 +89,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: extends: file: ../../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/kafka/meter/docker-compose.yml b/test/e2e-v2/cases/kafka/meter/docker-compose.yml index 4e989e9acd7f..b20dbfccf387 100644 --- a/test/e2e-v2/cases/kafka/meter/docker-compose.yml +++ b/test/e2e-v2/cases/kafka/meter/docker-compose.yml @@ -89,6 +89,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: build: context: ../../../ diff --git a/test/e2e-v2/cases/kafka/profile/docker-compose.yml b/test/e2e-v2/cases/kafka/profile/docker-compose.yml index 1d8924a5524c..3eb74ad1cd9e 100644 --- a/test/e2e-v2/cases/kafka/profile/docker-compose.yml +++ b/test/e2e-v2/cases/kafka/profile/docker-compose.yml @@ -88,6 +88,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: build: context: ../../../ diff --git a/test/e2e-v2/cases/kafka/simple-so11y/docker-compose.yml b/test/e2e-v2/cases/kafka/simple-so11y/docker-compose.yml index ee549ffd222b..77a3a180e15f 100644 --- a/test/e2e-v2/cases/kafka/simple-so11y/docker-compose.yml +++ b/test/e2e-v2/cases/kafka/simple-so11y/docker-compose.yml @@ -90,6 +90,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: build: context: ../../../ diff --git a/test/e2e-v2/cases/kong/docker-compose.yml b/test/e2e-v2/cases/kong/docker-compose.yml index 3bee88804f62..b69c312b443d 100644 --- a/test/e2e-v2/cases/kong/docker-compose.yml +++ b/test/e2e-v2/cases/kong/docker-compose.yml @@ -24,6 +24,12 @@ services: - "12800:12800" networks: - e2e + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 kong-db: image: postgres:alpine networks: diff --git a/test/e2e-v2/cases/log/h2/docker-compose.yml b/test/e2e-v2/cases/log/h2/docker-compose.yml deleted file mode 100644 index cf293be54511..000000000000 --- a/test/e2e-v2/cases/log/h2/docker-compose.yml +++ /dev/null @@ -1,61 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: '2.1' - -services: - h2db: - build: - context: . - dockerfile: ../../../script/dockerfile/Dockerfile.h2 - networks: - - e2e - expose: - - 1521 - healthcheck: - test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/1521"] - interval: 5s - timeout: 60s - retries: 120 - - oap: - extends: - file: ../log-base-compose.yml - service: oap - environment: - SW_STORAGE: h2 - SW_STORAGE_H2_URL: jdbc:h2:tcp://h2db:1521/skywalking-oap-db;DATABASE_TO_UPPER=FALSE - depends_on: - h2db: - condition: service_healthy - ports: - - 12800 - networks: - - e2e - - provider: - extends: - file: ../../../script/docker-compose/base-compose.yml - service: provider - ports: - - 9090 - networks: - - e2e - depends_on: - oap: - condition: service_healthy - -networks: - e2e: diff --git a/test/e2e-v2/cases/log/h2/e2e.yaml b/test/e2e-v2/cases/log/h2/e2e.yaml deleted file mode 100644 index ca75d051fd7d..000000000000 --- a/test/e2e-v2/cases/log/h2/e2e.yaml +++ /dev/null @@ -1,47 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is used to show how to write configuration files and can be used to test. - -setup: - env: compose - file: docker-compose.yml - timeout: 20m - init-system-environment: ../../../script/env - steps: - - name: set PATH - command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH - - name: install yq - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq - - name: install swctl - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl - -trigger: - action: http - interval: 3s - times: 10 - url: http://${provider_host}:${provider_9090}/logs/trigger - method: GET - -verify: - # verify with retry strategy - retry: - # max retry count - count: 20 - # the interval between two retries, in millisecond. - interval: 10s - cases: - - includes: - - ../log-cases.yaml diff --git a/test/e2e-v2/cases/lua/docker-compose.yml b/test/e2e-v2/cases/lua/docker-compose.yml index 7a460138aa02..b269318b490f 100644 --- a/test/e2e-v2/cases/lua/docker-compose.yml +++ b/test/e2e-v2/cases/lua/docker-compose.yml @@ -23,6 +23,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider-entry: extends: file: ../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/mariadb/mariadb-slowsql/docker-compose.yaml b/test/e2e-v2/cases/mariadb/mariadb-slowsql/docker-compose.yaml index e63c54c5f0c1..7df892e24aa1 100644 --- a/test/e2e-v2/cases/mariadb/mariadb-slowsql/docker-compose.yaml +++ b/test/e2e-v2/cases/mariadb/mariadb-slowsql/docker-compose.yaml @@ -27,7 +27,14 @@ services: environment: - SW_CORE_TOPN_REPORT_PERIOD=1 - SW_OTEL_RECEIVER=default - + + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + mariadb: image: mariadb:10.7.3 networks: diff --git a/test/e2e-v2/cases/menu/h2/docker-compose.yml b/test/e2e-v2/cases/menu/h2/docker-compose.yml deleted file mode 100644 index fd1be8367c0b..000000000000 --- a/test/e2e-v2/cases/menu/h2/docker-compose.yml +++ /dev/null @@ -1,69 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: '2.1' - -services: - h2db: - build: - context: "" - dockerfile: ../../../script/dockerfile/Dockerfile.h2 - networks: - - e2e - expose: - - 1521 - healthcheck: - test: [ "CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/1521" ] - interval: 5s - timeout: 60s - retries: 120 - - oap: - extends: - file: ../../../script/docker-compose/base-compose.yml - service: oap - networks: - - e2e - environment: - SW_STORAGE: h2 - SW_STORAGE_H2_URL: jdbc:h2:tcp://h2db:1521/skywalking-oap-db;DATABASE_TO_UPPER=FALSE - depends_on: - h2db: - condition: service_healthy - ports: - - 12800 - - provider: - extends: - file: ../../../script/docker-compose/base-compose.yml - service: provider - ports: - - 9090 - depends_on: - oap: - condition: service_healthy - - consumer: - extends: - file: ../../../script/docker-compose/base-compose.yml - service: consumer - ports: - - 9092 - depends_on: - provider: - condition: service_healthy - -networks: - e2e: diff --git a/test/e2e-v2/cases/menu/h2/e2e.yaml b/test/e2e-v2/cases/menu/h2/e2e.yaml deleted file mode 100644 index bae14e111aa0..000000000000 --- a/test/e2e-v2/cases/menu/h2/e2e.yaml +++ /dev/null @@ -1,47 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is used to show how to write configuration files and can be used to test. - -setup: - env: compose - file: docker-compose.yml - timeout: 20m - init-system-environment: ../../../script/env - steps: - - name: set PATH - command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH - - name: install yq - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq - - name: install swctl - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl - -trigger: - action: http - interval: 3s - times: 10 - url: http://${consumer_host}:${consumer_9092}/users - method: POST - body: '{"id":"123","name":"skywalking"}' - headers: - "Content-Type": "application/json" - -verify: - retry: - count: 20 - interval: 10s - cases: - - includes: - - ../menu-cases.yaml \ No newline at end of file diff --git a/test/e2e-v2/cases/meter/docker-compose.yml b/test/e2e-v2/cases/meter/docker-compose.yml index fe09ee79adc6..736f27310e14 100644 --- a/test/e2e-v2/cases/meter/docker-compose.yml +++ b/test/e2e-v2/cases/meter/docker-compose.yml @@ -31,6 +31,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: extends: file: ../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/mongodb/docker-compose.yml b/test/e2e-v2/cases/mongodb/docker-compose.yml index 6d851fdff73b..4118621675b0 100644 --- a/test/e2e-v2/cases/mongodb/docker-compose.yml +++ b/test/e2e-v2/cases/mongodb/docker-compose.yml @@ -24,6 +24,12 @@ services: - "12800:12800" networks: - e2e + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 mongodb-1: &mongodb image: mongo:6.0.8 networks: diff --git a/test/e2e-v2/cases/mqe/docker-compose.yml b/test/e2e-v2/cases/mqe/docker-compose.yml index 7832ef055df9..9b487d180fa3 100644 --- a/test/e2e-v2/cases/mqe/docker-compose.yml +++ b/test/e2e-v2/cases/mqe/docker-compose.yml @@ -27,6 +27,13 @@ services: networks: - e2e + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: extends: file: ../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/mqe/expected/topN-OP-service.yml b/test/e2e-v2/cases/mqe/expected/topN-OP-service.yml index 76b98b170da4..b889bdd1f8ef 100644 --- a/test/e2e-v2/cases/mqe/expected/topN-OP-service.yml +++ b/test/e2e-v2/cases/mqe/expected/topN-OP-service.yml @@ -20,11 +20,11 @@ results: labels: [] values: - id: e2e-service-consumer - value: "100" + value: "{{ (index (index .results 0).values 0).value }}" traceid: null owner: null - id: e2e-service-provider - value: "100" + value: "{{ (index (index .results 0).values 1).value }}" traceid: null owner: null -error: null +error: null \ No newline at end of file diff --git a/test/e2e-v2/cases/mqe/mqe-cases.yaml b/test/e2e-v2/cases/mqe/mqe-cases.yaml index 6d100728ceda..78eafd122003 100644 --- a/test/e2e-v2/cases/mqe/mqe-cases.yaml +++ b/test/e2e-v2/cases/mqe/mqe-cases.yaml @@ -37,7 +37,7 @@ cases: expected: expected/func-OP.yml # topN-OP-service Global - - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics exec --expression="top_n(service_sla,3,des)/100" + - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics exec --expression="top_n(service_resp_time,3,des)" expected: expected/topN-OP-service.yml # topN-OP-service Global with attrs - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics exec --expression="top_n(service_sla,3,des,attr0='GENERAL')/100" diff --git a/test/e2e-v2/cases/nginx/docker-compose.yml b/test/e2e-v2/cases/nginx/docker-compose.yml index 7d2cecfb5f67..92111eac8e07 100644 --- a/test/e2e-v2/cases/nginx/docker-compose.yml +++ b/test/e2e-v2/cases/nginx/docker-compose.yml @@ -25,6 +25,13 @@ services: networks: - e2e + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + nginx: build: context: . diff --git a/test/e2e-v2/cases/nodejs/docker-compose.yml b/test/e2e-v2/cases/nodejs/docker-compose.yml index 9345eaecb24c..4c78c4f48d03 100644 --- a/test/e2e-v2/cases/nodejs/docker-compose.yml +++ b/test/e2e-v2/cases/nodejs/docker-compose.yml @@ -23,6 +23,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: build: context: . diff --git a/test/e2e-v2/cases/otlp-traces/docker-compose.yml b/test/e2e-v2/cases/otlp-traces/docker-compose.yml index 8a12a5540b80..561e550e7bed 100644 --- a/test/e2e-v2/cases/otlp-traces/docker-compose.yml +++ b/test/e2e-v2/cases/otlp-traces/docker-compose.yml @@ -80,5 +80,11 @@ services: SW_RECEIVER_ZIPKIN: default SW_QUERY_ZIPKIN: default + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 networks: e2e: diff --git a/test/e2e-v2/cases/php/docker-compose.yml b/test/e2e-v2/cases/php/docker-compose.yml index 91120d4b56a0..452bdeed9e7a 100644 --- a/test/e2e-v2/cases/php/docker-compose.yml +++ b/test/e2e-v2/cases/php/docker-compose.yml @@ -23,6 +23,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + php: build: context: . diff --git a/test/e2e-v2/cases/profiling/async-profiler/h2/docker-compose.yml b/test/e2e-v2/cases/profiling/async-profiler/h2/docker-compose.yml deleted file mode 100644 index cfbd96296999..000000000000 --- a/test/e2e-v2/cases/profiling/async-profiler/h2/docker-compose.yml +++ /dev/null @@ -1,58 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: '2.1' - -services: - h2db: - build: - context: . - dockerfile: ../../../../script/dockerfile/Dockerfile.h2 - networks: - - e2e - expose: - - 1521 - healthcheck: - test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/1521"] - interval: 5s - timeout: 60s - retries: 120 - - provider: - extends: - file: ../../../../script/docker-compose/base-compose.yml - service: provider - privileged: true - depends_on: - oap: - condition: service_healthy - ports: - - 9090 - - oap: - extends: - file: ../../../../script/docker-compose/base-compose.yml - service: oap - environment: - SW_STORAGE: h2 - SW_STORAGE_H2_URL: jdbc:h2:tcp://h2db:1521/skywalking-oap-db;DATABASE_TO_UPPER=FALSE - depends_on: - h2db: - condition: service_healthy - ports: - - 12800 - -networks: - e2e: diff --git a/test/e2e-v2/cases/profiling/async-profiler/h2/e2e.yaml b/test/e2e-v2/cases/profiling/async-profiler/h2/e2e.yaml deleted file mode 100644 index 956e87c2820e..000000000000 --- a/test/e2e-v2/cases/profiling/async-profiler/h2/e2e.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is used to show how to write configuration files and can be used to test. - -setup: - env: compose - file: docker-compose.yml - timeout: 20m - init-system-environment: ../../../../script/env - steps: - - name: set PATH - command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH - - name: install yq - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq - - name: install swctl - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl - -verify: - retry: - count: 20 - interval: 10s - cases: - - includes: - - ../profiling-cases.yaml diff --git a/test/e2e-v2/cases/profiling/trace/h2/docker-compose.yml b/test/e2e-v2/cases/profiling/trace/h2/docker-compose.yml deleted file mode 100644 index 02327cf2242d..000000000000 --- a/test/e2e-v2/cases/profiling/trace/h2/docker-compose.yml +++ /dev/null @@ -1,57 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: '2.1' - -services: - h2db: - build: - context: . - dockerfile: ../../../../script/dockerfile/Dockerfile.h2 - networks: - - e2e - expose: - - 1521 - healthcheck: - test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/1521"] - interval: 5s - timeout: 60s - retries: 120 - - provider: - extends: - file: ../../../../script/docker-compose/base-compose.yml - service: provider - depends_on: - oap: - condition: service_healthy - ports: - - 9090 - - oap: - extends: - file: ../../../../script/docker-compose/base-compose.yml - service: oap - environment: - SW_STORAGE: h2 - SW_STORAGE_H2_URL: jdbc:h2:tcp://h2db:1521/skywalking-oap-db;DATABASE_TO_UPPER=FALSE - depends_on: - h2db: - condition: service_healthy - ports: - - 12800 - -networks: - e2e: diff --git a/test/e2e-v2/cases/profiling/trace/h2/e2e.yaml b/test/e2e-v2/cases/profiling/trace/h2/e2e.yaml deleted file mode 100644 index 8a4fdf3a3e8c..000000000000 --- a/test/e2e-v2/cases/profiling/trace/h2/e2e.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is used to show how to write configuration files and can be used to test. - -setup: - env: compose - file: docker-compose.yml - timeout: 20m - init-system-environment: ../../../../script/env - steps: - - name: set PATH - command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH - - name: install yq - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq - - name: install swctl - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl - -verify: - retry: - count: 20 - interval: 3s - cases: - - includes: - - ../profiling-cases.yaml diff --git a/test/e2e-v2/cases/pulsar/docker-compose.yml b/test/e2e-v2/cases/pulsar/docker-compose.yml index 2187458694fe..132eaacaa528 100644 --- a/test/e2e-v2/cases/pulsar/docker-compose.yml +++ b/test/e2e-v2/cases/pulsar/docker-compose.yml @@ -25,6 +25,13 @@ services: networks: - e2e + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + # Start zookeeper zookeeper: image: zookeeper:3.9.1 diff --git a/test/e2e-v2/cases/python/docker-compose.yml b/test/e2e-v2/cases/python/docker-compose.yml index 7d5c54f47be2..faed4178acc8 100644 --- a/test/e2e-v2/cases/python/docker-compose.yml +++ b/test/e2e-v2/cases/python/docker-compose.yml @@ -88,6 +88,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider-py: build: context: . diff --git a/test/e2e-v2/cases/rabbitmq/docker-compose.yml b/test/e2e-v2/cases/rabbitmq/docker-compose.yml index b279d3e5303f..8333b8fdda16 100644 --- a/test/e2e-v2/cases/rabbitmq/docker-compose.yml +++ b/test/e2e-v2/cases/rabbitmq/docker-compose.yml @@ -24,6 +24,12 @@ services: - "12800:12800" networks: - e2e + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 rmq0: &rabbitmq image: rabbitmq:3.11.14-management networks: diff --git a/test/e2e-v2/cases/redis/redis-exporter/docker-compose.yml b/test/e2e-v2/cases/redis/redis-exporter/docker-compose.yml index d79cbbb06b54..2cfd5537a6e4 100644 --- a/test/e2e-v2/cases/redis/redis-exporter/docker-compose.yml +++ b/test/e2e-v2/cases/redis/redis-exporter/docker-compose.yml @@ -27,6 +27,12 @@ services: environment: - TZ=Asia/Shanghai - SW_CORE_TOPN_REPORT_PERIOD=2 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 redis_1: &redis image: redis:6.0 networks: diff --git a/test/e2e-v2/cases/rocketmq/docker-compose.yml b/test/e2e-v2/cases/rocketmq/docker-compose.yml index 31807a60b204..a7ce08cc4275 100644 --- a/test/e2e-v2/cases/rocketmq/docker-compose.yml +++ b/test/e2e-v2/cases/rocketmq/docker-compose.yml @@ -25,6 +25,13 @@ services: networks: - e2e + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + rocketmq-namesrv-1: image: apache/rocketmq:4.9.4 hostname: rocketmq-namesrv-1 diff --git a/test/e2e-v2/cases/satellite/native-protocols/docker-compose.yml b/test/e2e-v2/cases/satellite/native-protocols/docker-compose.yml index ab11954e9d5d..aed10a7c9b56 100644 --- a/test/e2e-v2/cases/satellite/native-protocols/docker-compose.yml +++ b/test/e2e-v2/cases/satellite/native-protocols/docker-compose.yml @@ -55,6 +55,13 @@ services: etcd: condition: service_healthy + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + satellite: build: context: ../ diff --git a/test/e2e-v2/cases/simple/auth/docker-compose.yml b/test/e2e-v2/cases/simple/auth/docker-compose.yml index 086393aa5376..be13b40d9335 100644 --- a/test/e2e-v2/cases/simple/auth/docker-compose.yml +++ b/test/e2e-v2/cases/simple/auth/docker-compose.yml @@ -25,6 +25,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: extends: file: ../../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/simple/jdk/docker-compose.yml b/test/e2e-v2/cases/simple/jdk/docker-compose.yml index 5daf0a46dfee..55e6f5f1f813 100644 --- a/test/e2e-v2/cases/simple/jdk/docker-compose.yml +++ b/test/e2e-v2/cases/simple/jdk/docker-compose.yml @@ -23,6 +23,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: extends: file: ../../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/simple/mtls/docker-compose.yml b/test/e2e-v2/cases/simple/mtls/docker-compose.yml index 7cba0e69276a..1f2de2a27187 100644 --- a/test/e2e-v2/cases/simple/mtls/docker-compose.yml +++ b/test/e2e-v2/cases/simple/mtls/docker-compose.yml @@ -33,6 +33,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: extends: file: ../../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/simple/ssl/docker-compose.yml b/test/e2e-v2/cases/simple/ssl/docker-compose.yml index 1cc94a6f8cda..b8d04edbf8ab 100644 --- a/test/e2e-v2/cases/simple/ssl/docker-compose.yml +++ b/test/e2e-v2/cases/simple/ssl/docker-compose.yml @@ -30,6 +30,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: extends: file: ../../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/so11y/docker-compose.yml b/test/e2e-v2/cases/so11y/docker-compose.yml index 38d9518a2712..d45d9383894d 100644 --- a/test/e2e-v2/cases/so11y/docker-compose.yml +++ b/test/e2e-v2/cases/so11y/docker-compose.yml @@ -28,6 +28,13 @@ services: - 12800 - 1234 + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: extends: file: ../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/storage/h2/docker-compose.yml b/test/e2e-v2/cases/storage/h2/docker-compose.yml deleted file mode 100644 index ae7ace11f6cd..000000000000 --- a/test/e2e-v2/cases/storage/h2/docker-compose.yml +++ /dev/null @@ -1,73 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: '2.1' - -services: - h2db: - build: - context: . - dockerfile: ../../../script/dockerfile/Dockerfile.h2 - networks: - - e2e - expose: - - 1521 - healthcheck: - test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/1521"] - interval: 5s - timeout: 60s - retries: 120 - - oap: - extends: - file: ../../../script/docker-compose/base-compose.yml - service: oap - environment: - SW_STORAGE: h2 - SW_STORAGE_H2_URL: jdbc:h2:tcp://h2db:1521/skywalking-oap-db;DATABASE_TO_UPPER=FALSE - depends_on: - h2db: - condition: service_healthy - ports: - - 12800 - networks: - - e2e - - provider: - extends: - file: ../../../script/docker-compose/base-compose.yml - service: provider - ports: - - 9090 - networks: - - e2e - depends_on: - oap: - condition: service_healthy - - consumer: - extends: - file: ../../../script/docker-compose/base-compose.yml - service: consumer - ports: - - 9092 - depends_on: - oap: - condition: service_healthy - provider: - condition: service_healthy - -networks: - e2e: diff --git a/test/e2e-v2/cases/storage/h2/e2e.yaml b/test/e2e-v2/cases/storage/h2/e2e.yaml deleted file mode 100644 index 833e1957dc5b..000000000000 --- a/test/e2e-v2/cases/storage/h2/e2e.yaml +++ /dev/null @@ -1,50 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is used to show how to write configuration files and can be used to test. - -setup: - env: compose - file: docker-compose.yml - timeout: 20m - init-system-environment: ../../../script/env - steps: - - name: set PATH - command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH - - name: install yq - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq - - name: install swctl - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl - -trigger: - action: http - interval: 3s - times: 10 - url: http://${consumer_host}:${consumer_9092}/users - method: POST - body: '{"id":"123","name":"skywalking"}' - headers: - "Content-Type": "application/json" - -verify: - # verify with retry strategy - retry: - # max retry count - count: 20 - # the interval between two retries, in millisecond. - interval: 10s - cases: - - includes: - - ../storage-cases.yaml diff --git a/test/e2e-v2/cases/virtual-mq/docker-compose.yml b/test/e2e-v2/cases/virtual-mq/docker-compose.yml index 576d14a55931..89121e693e34 100644 --- a/test/e2e-v2/cases/virtual-mq/docker-compose.yml +++ b/test/e2e-v2/cases/virtual-mq/docker-compose.yml @@ -25,6 +25,13 @@ services: networks: e2e: + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + provider: extends: file: ../../script/docker-compose/base-compose.yml diff --git a/test/e2e-v2/cases/vm/prometheus-node-exporter/docker-compose.yml b/test/e2e-v2/cases/vm/prometheus-node-exporter/docker-compose.yml index 45d770b4da76..05d0efba7d50 100644 --- a/test/e2e-v2/cases/vm/prometheus-node-exporter/docker-compose.yml +++ b/test/e2e-v2/cases/vm/prometheus-node-exporter/docker-compose.yml @@ -28,6 +28,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + vm-service: build: context: . diff --git a/test/e2e-v2/cases/vm/telegraf/docker-compose.yml b/test/e2e-v2/cases/vm/telegraf/docker-compose.yml index 654bb1d9a194..83067b93f65d 100644 --- a/test/e2e-v2/cases/vm/telegraf/docker-compose.yml +++ b/test/e2e-v2/cases/vm/telegraf/docker-compose.yml @@ -26,6 +26,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + telegraf: image: telegraf:1.24 networks: diff --git a/test/e2e-v2/cases/vm/zabbix/docker-compose.yml b/test/e2e-v2/cases/vm/zabbix/docker-compose.yml index 4c5e1f8b27c9..177541ae3319 100644 --- a/test/e2e-v2/cases/vm/zabbix/docker-compose.yml +++ b/test/e2e-v2/cases/vm/zabbix/docker-compose.yml @@ -25,6 +25,13 @@ services: ports: - 12800 + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + zabbix-client: image: zabbix/zabbix-agent:alpine-6.4.15 networks: diff --git a/test/e2e-v2/cases/win/docker-compose.yml b/test/e2e-v2/cases/win/docker-compose.yml index d2544f61ba1d..3a92e5be574d 100644 --- a/test/e2e-v2/cases/win/docker-compose.yml +++ b/test/e2e-v2/cases/win/docker-compose.yml @@ -25,6 +25,13 @@ services: networks: e2e: + banyandb: + extends: + file: ../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + sender: image: "eclipse-temurin:8-jre" volumes: diff --git a/test/e2e-v2/cases/zipkin/h2/docker-compose.yml b/test/e2e-v2/cases/zipkin/h2/docker-compose.yml deleted file mode 100644 index 2cc4a189fa62..000000000000 --- a/test/e2e-v2/cases/zipkin/h2/docker-compose.yml +++ /dev/null @@ -1,73 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: '2.1' - -services: - h2db: - build: - context: . - dockerfile: ../../../script/dockerfile/Dockerfile.h2 - networks: - - e2e - expose: - - 1521 - healthcheck: - test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/1521"] - interval: 5s - timeout: 60s - retries: 120 - - oap: - extends: - file: ../../../script/docker-compose/base-compose.yml - service: oap - environment: - SW_STORAGE: h2 - SW_STORAGE_H2_URL: jdbc:h2:tcp://h2db:1521/skywalking-oap-db;DATABASE_TO_UPPER=FALSE - SW_QUERY_ZIPKIN: default - SW_RECEIVER_ZIPKIN: default - expose: - - 9411 - ports: - - 9412 - depends_on: - h2db: - condition: service_healthy - networks: - - e2e - - frontend: - extends: - file: ../docker-compose-brave.yml - service: frontend - depends_on: - backend: - condition: service_healthy - oap: - condition: service_healthy - ports: - - 8081 - - backend: - extends: - file: ../docker-compose-brave.yml - service: backend - depends_on: - oap: - condition: service_healthy - -networks: - e2e: diff --git a/test/e2e-v2/cases/zipkin/h2/e2e.yaml b/test/e2e-v2/cases/zipkin/h2/e2e.yaml deleted file mode 100644 index 8e3ff87be9f1..000000000000 --- a/test/e2e-v2/cases/zipkin/h2/e2e.yaml +++ /dev/null @@ -1,47 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is used to show how to write configuration files and can be used to test. - -setup: - env: compose - file: docker-compose.yml - timeout: 20m - init-system-environment: ../../../script/env - steps: - - name: set PATH - command: export PATH=/tmp/skywalking-infra-e2e/bin:$PATH - - name: install yq - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh yq - - name: install swctl - command: bash test/e2e-v2/script/prepare/setup-e2e-shell/install.sh swctl - -trigger: - action: http - interval: 3s - times: 10 - url: http://${frontend_host}:${frontend_8081} - method: POST - -verify: - # verify with retry strategy - retry: - # max retry count - count: 20 - # the interval between two retries, in millisecond. - interval: 10s - cases: - - includes: - - ../zipkin-cases.yaml diff --git a/test/e2e-v2/cases/zipkin/kafka/docker-compose.yml b/test/e2e-v2/cases/zipkin/kafka/docker-compose.yml index c13d119093d8..bae4566423cd 100644 --- a/test/e2e-v2/cases/zipkin/kafka/docker-compose.yml +++ b/test/e2e-v2/cases/zipkin/kafka/docker-compose.yml @@ -92,6 +92,13 @@ services: networks: - e2e + banyandb: + extends: + file: ../../../script/docker-compose/base-compose.yml + service: banyandb + ports: + - 17912 + sender: image: "eclipse-temurin:8-jre" volumes: diff --git a/test/e2e-v2/script/dockerfile/Dockerfile.h2 b/test/e2e-v2/script/dockerfile/Dockerfile.h2 deleted file mode 100644 index 7efd79543bd9..000000000000 --- a/test/e2e-v2/script/dockerfile/Dockerfile.h2 +++ /dev/null @@ -1,24 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -FROM eclipse-temurin:11-jre - -WORKDIR /h2 - -VOLUME /h2/data - -ADD https://repo.maven.apache.org/maven2/com/h2database/h2/1.4.200/h2-1.4.200.jar /h2 - -CMD ["sh", "-c", "java -cp /h2/*.jar org.h2.tools.Server -tcp -tcpAllowOthers -tcpPort 1521 -ifNotExists -baseDir /h2/data"] diff --git a/tools/profile-exporter/application.yml b/tools/profile-exporter/application.yml index de6a5963eefb..d47f5d3137ef 100644 --- a/tools/profile-exporter/application.yml +++ b/tools/profile-exporter/application.yml @@ -16,7 +16,7 @@ core: tool-profile-mock-core: storage: - selector: ${SW_STORAGE:h2} + selector: ${SW_STORAGE:banyandb} elasticsearch: namespace: ${SW_NAMESPACE:""} clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200} @@ -38,11 +38,6 @@ storage: segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200} profileTaskQueryMaxSize: ${SW_STORAGE_ES_QUERY_PROFILE_TASK_SIZE:200} advanced: ${SW_STORAGE_ES_ADVANCED:""} - h2: - properties: - jdbcUrl: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=FALSE} - dataSource.user: ${SW_STORAGE_H2_USER:sa} - metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000} mysql: properties: jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?allowMultiQueries=true"} @@ -53,6 +48,36 @@ storage: dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048} dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true} metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000} + banyandb: + targets: ${SW_STORAGE_BANYANDB_TARGETS:127.0.0.1:17912} + maxBulkSize: ${SW_STORAGE_BANYANDB_MAX_BULK_SIZE:10000} + flushInterval: ${SW_STORAGE_BANYANDB_FLUSH_INTERVAL:15} + flushTimeout: ${SW_STORAGE_BANYANDB_FLUSH_TIMEOUT:10} + concurrentWriteThreads: ${SW_STORAGE_BANYANDB_CONCURRENT_WRITE_THREADS:15} + resultWindowMaxSize: ${SW_STORAGE_BANYANDB_QUERY_MAX_WINDOW_SIZE:10000} + metadataQueryMaxSize: ${SW_STORAGE_BANYANDB_QUERY_MAX_SIZE:10000} + segmentQueryMaxSize: ${SW_STORAGE_BANYANDB_QUERY_SEGMENT_SIZE:200} + profileTaskQueryMaxSize: ${SW_STORAGE_BANYANDB_QUERY_PROFILE_TASK_SIZE:200} + profileDataQueryBatchSize: ${SW_STORAGE_BANYANDB_QUERY_PROFILE_DATA_BATCH_SIZE:100} + sslTrustCAPath: ${SW_STORAGE_BANYANDB_SSL_TRUST_CA_PATH:""} + grNormalShardNum: ${SW_STORAGE_BANYANDB_GR_NORMAL_SHARD_NUM:1} + grNormalSIDays: ${SW_STORAGE_BANYANDB_GR_NORMAL_SI_DAYS:1} + grNormalTTLDays: ${SW_STORAGE_BANYANDB_GR_NORMAL_TTL_DAYS:3} + grSuperShardNum: ${SW_STORAGE_BANYANDB_GR_SUPER_SHARD_NUM:2} + grSuperSIDays: ${SW_STORAGE_BANYANDB_GR_SUPER_SI_DAYS:1} + grSuperTTLDays: ${SW_STORAGE_BANYANDB_GR_SUPER_TTL_DAYS:3} + gmMinuteShardNum: ${SW_STORAGE_BANYANDB_GM_MINUTE_SHARD_NUM:2} + gmMinuteSIDays: ${SW_STORAGE_BANYANDB_GM_MINUTE_SI_DAYS:1} + gmMinuteTTLDays: ${SW_STORAGE_BANYANDB_GM_MINUTE_TTL_DAYS:7} + gmHourShardNum: ${SW_STORAGE_BANYANDB_GM_HOUR_SHARD_NUM:1} + gmHourSIDays: ${SW_STORAGE_BANYANDB_GM_HOUR_SI_DAYS:5} + gmHourTTLDays: ${SW_STORAGE_BANYANDB_GM_HOUR_TTL_DAYS:15} + gmDayShardNum: ${SW_STORAGE_BANYANDB_GM_DAY_SHARD_NUM:1} + gmDaySIDays: ${SW_STORAGE_BANYANDB_GM_DAY_SI_DAYS:15} + gmDayTTLDays: ${SW_STORAGE_BANYANDB_GM_DAY_TTL_DAYS:15} + gmIndexShardNum: ${SW_STORAGE_BANYANDB_GM_INDEX_SHARD_NUM:2} + gmIndexSIDays: ${SW_STORAGE_BANYANDB_GM_INDEX_SI_DAYS:15} + gmIndexTTLDays: ${SW_STORAGE_BANYANDB_GM_INDEX_TTL_DAYS:15} telemetry: selector: ${SW_TELEMETRY:none}