diff --git a/CHANGES.md b/CHANGES.md index 42624014353787e4d3fa92f11b924c195829f89c..2cf50a82351b3986268694cb91b879072eccce7c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -30,6 +30,7 @@ Release Notes. * Add `contain` and `not contain` OPS in OAL. * Add Envoy ALS analyzer based on metadata exchange. * Add `listMetrics` GraphQL query. +* Add group name into services of so11y and istio relevant metrics * Support keeping collecting the slowly segments in the sampling mechanism. * Support choose files to active the meter analyzer. * Support nested class definition in the Service, ServiceInstance, Endpoint, ServiceRelation, and ServiceInstanceRelation sources. @@ -55,7 +56,7 @@ Release Notes. * Fix "transaction too large error" when use TiDB as storage. * Add otel rules to ui template to observe Istio control plane. * Remove istio mixer -* Insert group name into services of so11y and istio relevant metrics +* Support close influxdb batch write model. #### UI * Fix incorrect label in radial chart in topology. diff --git a/docs/en/setup/backend/configuration-vocabulary.md b/docs/en/setup/backend/configuration-vocabulary.md index 6a549ef6215b62d686808a839792a7115faa4c0f..1b10d1a5feefa1912225a325bf8f86f8272aab6d 100644 --- a/docs/en/setup/backend/configuration-vocabulary.md +++ b/docs/en/setup/backend/configuration-vocabulary.md @@ -138,6 +138,7 @@ core|default|role|Option values, `Mixed/Receiver/Aggregator`. **Receiver** mode | - | - | database | Database of InfluxDB. | SW_STORAGE_INFLUXDB_DATABASE | skywalking | | - | - | actions | The number of actions to collect. | SW_STORAGE_INFLUXDB_ACTIONS | 1000 | | - | - | duration | The time to wait at most (milliseconds). | SW_STORAGE_INFLUXDB_DURATION | 1000| +| - | - | batchEnabled | If true, write points with batch api. | SW_STORAGE_INFLUXDB_BATCH_ENABLED | true| | - | - | fetchTaskLogMaxSize | The max number of fetch task log in a request. | SW_STORAGE_INFLUXDB_FETCH_TASK_LOG_MAX_SIZE | 5000| | agent-analyzer | default | Agent Analyzer. | SW_AGENT_ANALYZER | default | | - | -| sampleRate|Sampling rate for receiving trace. The precision is 1/10000. 10000 means 100% sample in default.|SW_TRACE_SAMPLE_RATE|10000| diff --git a/oap-server/server-bootstrap/src/main/resources/application.yml b/oap-server/server-bootstrap/src/main/resources/application.yml index 6551dddbdabdfcf985f4a20e2464e160e92a740c..ebdcc46d4ac7efa1cb2352a9cc2e4266a6fb7675 100755 --- a/oap-server/server-bootstrap/src/main/resources/application.yml +++ b/oap-server/server-bootstrap/src/main/resources/application.yml @@ -192,6 +192,7 @@ storage: database: ${SW_STORAGE_INFLUXDB_DATABASE:skywalking} actions: ${SW_STORAGE_INFLUXDB_ACTIONS:1000} # the number of actions to collect duration: ${SW_STORAGE_INFLUXDB_DURATION:1000} # the time to wait at most (milliseconds) + batchEnabled: ${SW_STORAGE_INFLUXDB_BATCH_ENABLED:true} fetchTaskLogMaxSize: ${SW_STORAGE_INFLUXDB_FETCH_TASK_LOG_MAX_SIZE:5000} # the max number of fetch task log in a request agent-analyzer: diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxClient.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxClient.java index 592128cc9824d2441c988cf9cb795b209aa5361b..f49ee3ee450ff6d8f5bd96de00e13bff5d8529e1 100644 --- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxClient.java +++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxClient.java @@ -80,7 +80,10 @@ public class InfluxClient implements Client, HealthCheckable { influx.query(new Query("CREATE DATABASE " + database)); influx.enableGzip(); - influx.enableBatch(config.getActions(), config.getDuration(), TimeUnit.MILLISECONDS); + if (config.isBatchEnabled()) { + influx.enableBatch(config.getActions(), config.getDuration(), TimeUnit.MILLISECONDS); + } + influx.setDatabase(database); healthChecker.health(); } catch (Throwable e) { diff --git a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxStorageConfig.java b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxStorageConfig.java index c63c4e869757e9e82bf8ca8f5de4171b840a87ec..19f99e3fc1c3fae2b068f1987fc2ea4da01110aa 100644 --- a/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxStorageConfig.java +++ b/oap-server/server-storage-plugin/storage-influxdb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/influxdb/InfluxStorageConfig.java @@ -32,6 +32,7 @@ public class InfluxStorageConfig extends ModuleConfig { private int actions; private int duration; + private boolean batchEnabled = true; private int fetchTaskLogMaxSize = 5000; }