Skip to content

Commit

Permalink
Merge branch 'master' into docs/api
Browse files Browse the repository at this point in the history
  • Loading branch information
kezhenxu94 authored Dec 6, 2024
2 parents 4005bb2 + 17003eb commit 2033e93
Show file tree
Hide file tree
Showing 379 changed files with 3,160 additions and 2,682 deletions.
49 changes: 28 additions & 21 deletions .github/workflows/skywalking.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -436,7 +436,7 @@ jobs:
- name: Log ES 7.17.10
config: test/e2e-v2/cases/log/es/e2e.yaml
env: ES_VERSION=7.17.10
- name: Log ES 8.8.1 Shardng
- name: Log ES 8.8.1 Sharding
config: test/e2e-v2/cases/log/es/es-sharding/e2e.yaml
env: ES_VERSION=8.8.1
- name: Log BanyanDB
Expand Down Expand Up @@ -555,26 +555,31 @@ jobs:
- name: Kafka Log
config: test/e2e-v2/cases/kafka/log/e2e.yaml

- name: Istio Metrics Service 1.15.0
- name: Istio Metrics Service 1.20.0
config: test/e2e-v2/cases/istio/metrics/e2e.yaml
env: |
ISTIO_VERSION=1.15.0
KUBERNETES_VERSION=25
- name: Istio Metrics Service 1.16.0
ISTIO_VERSION=1.20.0
KUBERNETES_VERSION=28
- name: Istio Metrics Service 1.21.0
config: test/e2e-v2/cases/istio/metrics/e2e.yaml
env: |
ISTIO_VERSION=1.16.0
KUBERNETES_VERSION=25
- name: Istio Metrics Service 1.17.0
ISTIO_VERSION=1.21.0
KUBERNETES_VERSION=28
- name: Istio Metrics Service 1.22.0
config: test/e2e-v2/cases/istio/metrics/e2e.yaml
env: |
ISTIO_VERSION=1.17.0
KUBERNETES_VERSION=25
- name: Istio Metrics Service 1.18.0
ISTIO_VERSION=1.22.0
KUBERNETES_VERSION=28
- name: Istio Metrics Service 1.23.0
config: test/e2e-v2/cases/istio/metrics/e2e.yaml
env: |
ISTIO_VERSION=1.18.0
KUBERNETES_VERSION=25
ISTIO_VERSION=1.23.0
KUBERNETES_VERSION=28
- name: Istio Metrics Service 1.24.0
config: test/e2e-v2/cases/istio/metrics/e2e.yaml
env: |
ISTIO_VERSION=1.24.0
KUBERNETES_VERSION=28
- name: Rover with Istio Process 1.15.0
config: test/e2e-v2/cases/rover/process/istio/e2e.yaml
Expand Down Expand Up @@ -769,14 +774,16 @@ jobs:
matrix:
analyzer: [k8s-mesh, mx-mesh]
versions:
- istio: 1.15.0
kubernetes: 25
- istio: 1.16.0
kubernetes: 25
- istio: 1.17.0
kubernetes: 25
- istio: 1.18.0
kubernetes: 25
- istio: 1.20.0
kubernetes: 28
- istio: 1.21.0
kubernetes: 28
- istio: 1.22.0
kubernetes: 28
- istio: 1.23.0
kubernetes: 28
- istio: 1.24.0
kubernetes: 28

steps:
- uses: actions/checkout@v3
Expand Down
2 changes: 1 addition & 1 deletion .licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,6 @@ dependency:
version: 1.16.0
license: Apache-2.0
- name: io.vertx:vertx-grpc
version: 4.5.1
version: 4.5.9
license: EPL-2.0

7 changes: 6 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -225,4 +225,9 @@ The text of each license is the standard Apache 2.0 license.
mvnw files from https://github.com/apache/maven-wrapper Apache 2.0
svg files from skywalking-ui/src/assets/icons: https://github.com/google/material-design-icons Apache 2.0
ZipkinQueryHandler.java reference from zipkin2.server.internal.ZipkinQueryApiV2: https://github.com/openzipkin/zipkin Apache 2.0
async-profiler parser files in server-library/library-async-profiler-jfr-parser from https://github.com/async-profiler/async-profiler/tree/v3.0 Apache 2.0
Arguments.java in server-library/library-async-profiler-jfr-parser reference from https://github.com/async-profiler/async-profiler/tree/master Apache 2.0
CallStack.java in server-library/library-async-profiler-jfr-parser reference from https://github.com/async-profiler/async-profiler/tree/master Apache 2.0
Classifier.java in server-library/library-async-profiler-jfr-parser reference from https://github.com/async-profiler/async-profiler/tree/master Apache 2.0
Index.java in server-library/library-async-profiler-jfr-parser reference from https://github.com/async-profiler/async-profiler/tree/master Apache 2.0
Frame.java in server-library/library-async-profiler-jfr-parser reference from https://github.com/async-profiler/async-profiler/tree/master Apache 2.0
JFRConverter.java in server-library/library-async-profiler-jfr-parser reference from https://github.com/async-profiler/async-profiler/tree/master Apache 2.0
70 changes: 35 additions & 35 deletions dist-material/release-docs/LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ The text of each license is the standard Apache 2.0 license.
https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.17.1 Apache-2.0
https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-kotlin/2.13.4 Apache-2.0
https://mvnrepository.com/artifact/com.fasterxml/classmate/1.5.1 Apache-2.0
https://mvnrepository.com/artifact/com.google.api.grpc/proto-google-common-protos/2.29.0 Apache-2.0
https://mvnrepository.com/artifact/com.google.api.grpc/proto-google-common-protos/2.41.0 Apache-2.0
https://mvnrepository.com/artifact/com.google.auto.service/auto-service-annotations/1.0.1 Apache-2.0
https://mvnrepository.com/artifact/com.google.code.findbugs/jsr305/3.0.2 Apache-2.0
https://mvnrepository.com/artifact/com.google.code.gson/gson/2.9.0 Apache-2.0
Expand Down Expand Up @@ -290,43 +290,42 @@ The text of each license is the standard Apache 2.0 license.
https://mvnrepository.com/artifact/io.fabric8/kubernetes-model-scheduling/6.7.1 Apache-2.0
https://mvnrepository.com/artifact/io.fabric8/kubernetes-model-storageclass/6.7.1 Apache-2.0
https://mvnrepository.com/artifact/io.fabric8/zjsonpatch/0.3.0 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-api/1.63.0 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-context/1.63.0 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-core/1.63.0 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-grpclb/1.63.0 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-netty/1.63.0 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-protobuf/1.63.0 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-protobuf-lite/1.63.0 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-api/1.68.1 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-context/1.68.1 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-core/1.68.1 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-grpclb/1.68.1 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-netty/1.68.1 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-protobuf/1.68.1 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-protobuf-lite/1.68.1 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-services/1.64.0 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-stub/1.63.0 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-util/1.63.0 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-stub/1.68.1 Apache-2.0
https://mvnrepository.com/artifact/io.grpc/grpc-util/1.68.1 Apache-2.0
https://mvnrepository.com/artifact/io.micrometer/micrometer-commons/1.13.0 Apache-2.0
https://mvnrepository.com/artifact/io.micrometer/micrometer-core/1.13.0 Apache-2.0
https://mvnrepository.com/artifact/io.micrometer/micrometer-observation/1.13.0 Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-buffer/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec-dns/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec-haproxy/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec-http/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec-http2/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec-socks/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-common/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-handler/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-handler-proxy/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-resolver/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-resolver-dns/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-classes-macos/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-native-macos/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-tcnative-boringssl-static/2.0.52.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-tcnative-boringssl-static/2.0.65.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-tcnative-classes/2.0.65.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport-classes-epoll/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport-classes-kqueue/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport-native-epoll/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport-native-kqueue/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport-native-unix-common/4.1.108.Final Apache-2.0
https://mvnrepository.com/artifact/io.perfmark/perfmark-api/0.26.0 Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-buffer/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec-dns/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec-haproxy/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec-http/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec-http2/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-codec-socks/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-common/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-handler/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-handler-proxy/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-resolver/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-resolver-dns/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-classes-macos/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-resolver-dns-native-macos/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-tcnative-boringssl-static/2.0.69.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-tcnative-classes/2.0.69.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport-classes-epoll/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport-classes-kqueue/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport-native-epoll/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport-native-kqueue/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.netty/netty-transport-native-unix-common/4.1.115.Final Apache-2.0
https://mvnrepository.com/artifact/io.perfmark/perfmark-api/0.27.0 Apache-2.0
https://mvnrepository.com/artifact/io.prometheus/simpleclient/0.6.0 Apache-2.0
https://mvnrepository.com/artifact/io.prometheus/simpleclient_common/0.6.0 Apache-2.0
https://mvnrepository.com/artifact/io.prometheus/simpleclient_hotspot/0.6.0 Apache-2.0
Expand Down Expand Up @@ -372,6 +371,7 @@ The text of each license is the standard Apache 2.0 license.
https://mvnrepository.com/artifact/org.snakeyaml/snakeyaml-engine/2.6 Apache-2.0
https://mvnrepository.com/artifact/org.xerial.snappy/snappy-java/1.1.8.4 Apache-2.0
https://mvnrepository.com/artifact/org.yaml/snakeyaml/2.0 Apache-2.0
https://mvnrepository.com/artifact/tools.profiler/async-profiler-converter/3.0 Apache-2.0
https://npmjs.com/package/typescript/v/4.7.4 4.7.4 Apache-2.0

========================================================================
Expand Down Expand Up @@ -548,7 +548,7 @@ The text of each license is also included in licenses/LICENSE-[project].txt.
https://npmjs.com/package/monaco-editor/v/0.34.1 0.34.1 MIT
https://npmjs.com/package/nanoid/v/3.3.7 3.3.7 MIT
https://mvnrepository.com/artifact/org.checkerframework/checker-qual/3.33.0 MIT
https://mvnrepository.com/artifact/org.codehaus.mojo/animal-sniffer-annotations/1.23 MIT
https://mvnrepository.com/artifact/org.codehaus.mojo/animal-sniffer-annotations/1.24 MIT
https://mvnrepository.com/artifact/org.curioswitch.curiostack/protobuf-jackson/2.5.0 MIT
https://mvnrepository.com/artifact/org.slf4j/slf4j-api/1.7.30 MIT
https://npmjs.com/package/pinia/v/2.0.28 2.0.28 MIT
Expand Down
2 changes: 1 addition & 1 deletion docker/oap/log4j2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
</Console>
</Appenders>
<Loggers>
<Root level="INFO">
<Root level="DEBUG">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
Expand Down
2 changes: 1 addition & 1 deletion docs/en/api/metrics-query-expression.md
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ top_n(<metric_name>, <top_number>, <order>, <attrs>)
The attrs filter also supports not-equal filter `!=`, the format is `attr0 != 'value'`.

**Notice**:
- The `attrs` only support Service metrics for now and should be added in the metrics first, see [Metrics Additional Attributes](../concepts-and-designs/metrics-additional-attributes.md).
- The `attrs` should be added in the metrics first, see [Metrics Additional Attributes](../concepts-and-designs/metrics-additional-attributes.md).
- When use not-equal filter, for example `attr1 != 'value'`, if the storage is using `MySQL` or other JDBC storage and `attr1 value is NULL` in the metrics,
the result of `attr1 != 'value'` will always `false` and would NOT include this metric in the result due to SQL can't compare `NULL` with the `value`.

Expand Down
52 changes: 52 additions & 0 deletions docs/en/banyandb/ttl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Progressive TTL

Progressive TTL provides a capability to manage data retention with different TTL settings and Segment Creation Policies based on the time granularity of metrics.

BanyanDB employs a Time-To-Live (TTL) mechanism to automatically delete data older than the specified duration. When using BanyanDB as the storage backend, **the `recordDataTTL` and `metricsDataTTL` configurations are deprecated**. Instead, TTL settings should be configured directly within `storage.banyandb`.

For detailed information, please refer to the [Storage BanyanDB](../setup/backend/storages/banyandb.md) documentation.

## Segment Interval and TTL

BanyanDB's data rotation mechanism manages data storage based on **Segment Interval** and **TTL** settings:

- **Segment Interval (`SIDays`)**: Specifies the time interval in days for creating a new data segment. Segments are time-based, facilitating efficient data retention and querying.
- **TTL (`TTLDays`)**: Defines the time-to-live for data within a group, in days. Data that exceeds the TTL will be automatically deleted.

### Best Practices for Setting `SIDays` and `TTLDays`

- **Data Retention Requirements**: Set the TTL based on how long you need to retain your data. For instance, to retain data for 30 days, set the TTL to 30 days.
- **Segment Management**: Avoid generating too many segments, as this increases the overhead for data management and querying.
- **Query Requirements**: Align segment intervals with your query patterns. For example:
- If you frequently query data for the last 30 minutes, set `SIDays` to 1 day.
- For querying data from the last 7 days, set `SIDays` to 7 days.

## Configuration Guidelines

### Record Data

For both standard and super datasets:

- **Recommended `SIDays`**: `1`
- Most queries are performed within a day.
- **`TTLDays`**: Set according to your data retention needs.

### Metrics Data

Configure `SIDays` and `TTLDays` based on data retention and query requirements. Recommended settings include:

| Group | `SIDays` | `TTLDays` |
|----------------|----------|-----------|
| Minute (`gmMinute`) | 1 | 7 |
| Hour (`gmHour`) | 5 | 15 |
| Day (`gmDay`) | 15 | 15 |
| Index (`gmIndex`) | 15 | 15 |

**Group Descriptions:**

- **Minute (`gmMinute`)**: Stores metrics with a 1-minute granularity. Suitable for recent data queries requiring minute-level detail. Consequently, it has shorter `SIDays` and `TTLDays` compared to other groups.
- **Hour (`gmHour`)**: Stores metrics with a 1-hour granularity. Designed for queries that need hour-level detail over a longer period than minute-level data.
- **Day (`gmDay`)**: Stores metrics with a 1-day granularity. This group handles the longest segment intervals and TTLs among all granularity groups.
- **Index (`gmIndex`)**: Stores metrics used solely for indexing without value columns. Since queries often scan all segments in the `index` group, it shares the same `SIDays` and `TTLDays` as the `day` group to optimize performance. This group's `TTL` must be set to the **max** value of all groups.

For more details on configuring `segmentIntervalDays` and `ttlDays`, refer to the [BanyanDB Rotation](https://skywalking.apache.org/docs/skywalking-banyandb/latest/concept/rotation/) documentation.
Loading

0 comments on commit 2033e93

Please sign in to comment.