diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md index d1219e1a17d9..e841fcc2577a 100644 --- a/docs/en/changes/changes.md +++ b/docs/en/changes/changes.md @@ -112,7 +112,8 @@ * Make MAL percentile align with OAL percentile calculation. * Update Grafana dashboards for OAP observability. * BanyanDB: fix query `getInstance` by instance ID. -* Support the go agent(0.7.0 release) bundled pprof profiling feature. +* Support the go agent(0.7.0 release) bundled pprof profiling feature. +* Service and TCPService source support analyze TLS mode. * Library-pprof-parser: feat: add PprofSegmentParser. * Storage: feat: add languageType column to ProfileThreadSnapshotRecord. * Feat: add go profile analyzer diff --git a/docs/en/concepts-and-designs/scope-definitions.md b/docs/en/concepts-and-designs/scope-definitions.md index a2f269e7110f..f32d6c7f0bb4 100644 --- a/docs/en/concepts-and-designs/scope-definitions.md +++ b/docs/en/concepts-and-designs/scope-definitions.md @@ -6,20 +6,21 @@ Using the Aggregation Function, the requests will be grouped by time and **Group This calculates the metrics data from each request of the service. -| Name | Remarks | Group Key | Type | -|---------------------------|---------------------------------------------------------------------------------------------------------------------------------|-----------|------------------------| -| name | The name of the service. | | string | -| layer | Layer represents an abstract framework in the computer science, such as operation system(OS_LINUX layer), Kubernetes(k8s layer) | | enum | -| serviceInstanceName | The name of the service instance ID. | | string | -| endpointName | The name of the endpoint, such as a full path of HTTP URI. | | string | -| latency | The time taken by each request. | | int | -| status | Indicates the success or failure of the request. | | bool(true for success) | -| httpResponseStatusCode | The response code of the HTTP response, and if this request is the HTTP call. E.g. 200, 404, 302 | | int | -| rpcStatusCode | The string value of the rpc response code. | | string | -| type | The type of each request. Such as: Database, HTTP, RPC, gRPC. | | enum | -| tags | The labels of each request. Each value is made up by `TagKey:TagValue` in the segment. | | `List` | -| tag | The key-value pair of span tags in the segment. | | `Map` | -| sideCar.internalErrorCode | The sidecar/gateway proxy internal error code. The value is based on the implementation. | | string | +| Name | Remarks | Group Key | Type | +|----------------------------|---------------------------------------------------------------------------------------------------------------------------------|-----------|------------------------| +| name | The name of the service. | | string | +| layer | Layer represents an abstract framework in the computer science, such as operation system(OS_LINUX layer), Kubernetes(k8s layer) | | enum | +| serviceInstanceName | The name of the service instance ID. | | string | +| endpointName | The name of the endpoint, such as a full path of HTTP URI. | | string | +| latency | The time taken by each request. | | int | +| status | Indicates the success or failure of the request. | | bool(true for success) | +| httpResponseStatusCode | The response code of the HTTP response, and if this request is the HTTP call. E.g. 200, 404, 302 | | int | +| rpcStatusCode | The string value of the rpc response code. | | string | +| type | The type of each request. Such as: Database, HTTP, RPC, gRPC. | | enum | +| tags | The labels of each request. Each value is made up by `TagKey:TagValue` in the segment. | | `List` | +| tag | The key-value pair of span tags in the segment. | | `Map` | +| sideCar.internalErrorCode | The sidecar/gateway proxy internal error code. The value is based on the implementation. | | string | +| tlsMode | The TLS mode of the service. | | string | ### SCOPE `TCPService` @@ -35,6 +36,7 @@ This calculates the metrics data from each request of the TCP service. | sideCar.internalErrorCode | The sidecar/gateway proxy internal error code. The value is based on the implementation. | | string | | receivedBytes | The received bytes of the TCP traffic. | | long | | sentBytes | The sent bytes of the TCP traffic. | | long | +| tlsMode | The TLS mode of the service. | | string | ### SCOPE `ServiceInstance` diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java index f4ceea1bc806..f2fa35038da7 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/Service.java @@ -86,6 +86,9 @@ public String getEntityId() { private SideCar sideCar = new SideCar(); @Getter @Setter + private String tlsMode; + @Getter + @Setter @ScopeDefaultColumn.DefinedByField(columnName = "attr0", isAttribute = true) private String attr0; @Getter diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/TCPService.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/TCPService.java index 0a21a91d9639..a9261cf9675c 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/TCPService.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/TCPService.java @@ -64,14 +64,15 @@ public String getEntityId() { @Getter @Setter private SideCar sideCar = new SideCar(); - @Getter @Setter private long receivedBytes; - @Getter @Setter private long sentBytes; + @Getter + @Setter + private String tlsMode; public String getTag(String key) { return originalTags.get(key); diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java index e72f28e3685d..dd4fff25b0ac 100644 --- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java @@ -226,6 +226,7 @@ private static void toService(HTTPServiceMeshMetric.Builder metrics, long minute service.getSideCar().setInternalErrorCode(metrics.getInternalErrorCode()); service.getSideCar().setInternalRequestLatencyNanos(metrics.getInternalRequestLatencyNanos()); service.getSideCar().setInternalResponseLatencyNanos(metrics.getInternalResponseLatencyNanos()); + service.setTlsMode(metrics.getTlsMode()); SOURCE_RECEIVER.receive(service); } @@ -241,6 +242,7 @@ private static void toTCPService(TCPServiceMeshMetric.Builder metrics, long minu service.getSideCar().setInternalResponseLatencyNanos(metrics.getInternalResponseLatencyNanos()); service.setReceivedBytes(metrics.getReceivedBytes()); service.setSentBytes(metrics.getSentBytes()); + service.setTlsMode(metrics.getTlsMode()); SOURCE_RECEIVER.receive(service); } diff --git a/test/e2e-v2/cases/kong/e2e.yaml b/test/e2e-v2/cases/kong/e2e.yaml index 528eec92625e..804fba65164d 100644 --- a/test/e2e-v2/cases/kong/e2e.yaml +++ b/test/e2e-v2/cases/kong/e2e.yaml @@ -30,7 +30,7 @@ setup: verify: retry: - count: 20 + count: 60 interval: 3s cases: - includes: