This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new 95b6a197c4 Add the spring-ai components and the GenAI layer. (#13712)
95b6a197c4 is described below

commit 95b6a197c436bd35f134abb4914cf315e6ed8b2e
Author: peachisai <[email protected]>
AuthorDate: Fri Feb 27 15:10:03 2026 +0800

    Add the spring-ai components and the GenAI layer. (#13712)
---
 apm-protocol/apm-network/src/main/proto            |  2 +-
 docs/en/changes/changes.md                         |  2 +
 .../trace/parser/listener/RPCAnalysisListener.java |  5 ++
 .../skywalking/oap/server/core/analysis/Layer.java | 13 ++++-
 .../oap/server/core/source/RequestType.java        |  3 +-
 .../src/main/resources/component-libraries.yml     | 65 ++++++++++++++++++++++
 skywalking-ui                                      |  2 +-
 .../java-test-service/e2e-protocol/src/main/proto  |  2 +-
 8 files changed, 89 insertions(+), 5 deletions(-)

diff --git a/apm-protocol/apm-network/src/main/proto 
b/apm-protocol/apm-network/src/main/proto
index cf9cc443c5..07882d57be 160000
--- a/apm-protocol/apm-network/src/main/proto
+++ b/apm-protocol/apm-network/src/main/proto
@@ -1 +1 @@
-Subproject commit cf9cc443c5e9a61078b24ba01ecc41f42526115f
+Subproject commit 07882d57becb37e341f7fc492c11f9f5a5f311cf
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index 6b0c976e97..167724adbb 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -132,6 +132,7 @@
   Event loop: `min(5, cores)` shared — non-blocking I/O multiplexing needs few 
threads.
   Blocking executor: JDK 25+ uses virtual threads; JDK <25 keeps Armeria's 
default cached pool
   (up to 200 on-demand threads) because HTTP handlers block on long storage/DB 
queries.
+* Add the spring-ai components and the GenAI layer.
 
 #### UI
 * Fix the missing icon in new native trace view.
@@ -140,6 +141,7 @@
 * Fix validation guard for router.
 * Add the `coldStage` to the `Duration` for queries.
 * Optimize the pages theme.
+* Fix incorrect virtual service names.
 
 #### Documentation
 
diff --git 
a/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/parser/listener/RPCAnalysisListener.java
 
b/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/parser/listener/RPCAnalysisListener.java
index a344068428..f4b2b9f19e 100644
--- 
a/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/parser/listener/RPCAnalysisListener.java
+++ 
b/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/parser/listener/RPCAnalysisListener.java
@@ -242,6 +242,9 @@ public class RPCAnalysisListener extends 
CommonAnalysisListener implements Entry
             case MQ:
                 sourceBuilder.setType(RequestType.MQ);
                 break;
+            case GenAI:
+                sourceBuilder.setType(RequestType.GenAI);
+                break;
             default:
                 sourceBuilder.setType(RequestType.RPC);
                 break;
@@ -363,6 +366,8 @@ public class RPCAnalysisListener extends 
CommonAnalysisListener implements Entry
                 return Layer.UNDEFINED;
             case FAAS:
                 return Layer.FAAS;
+            case GenAI:
+                return Layer.VIRTUAL_GENAI;
             default:
                 throw new UnexpectedException("Can't transfer to the Layer. 
SpanLayer=" + spanLayer);
         }
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/Layer.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/Layer.java
index 487b886278..284192ee8d 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/Layer.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/Layer.java
@@ -261,7 +261,18 @@ public enum Layer {
     /**
      * BanyanDB is a distributed time-series database with built-in 
self-monitoring for real-time tracking of system health, performance, and 
resource utilization.
      */
-    BANYANDB(43, true);
+    BANYANDB(43, true),
+
+    /**
+     * GenAI represents an instrumented Generative AI service or application.
+     */
+    GENAI(44, true),
+
+    /**
+     * Virtual GenAI is a virtual layer used to represent and monitor remote, 
uninstrumented
+     * Generative AI providers.
+     */
+    VIRTUAL_GENAI(45, false);
 
     private final int value;
     /**
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/RequestType.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/RequestType.java
index fe0b0af129..60ee9a1fef 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/RequestType.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/RequestType.java
@@ -31,5 +31,6 @@ public enum RequestType {
      */
     LOGIC,
     TCP,
-    MQ
+    MQ,
+    GenAI
 }
diff --git 
a/oap-server/server-starter/src/main/resources/component-libraries.yml 
b/oap-server/server-starter/src/main/resources/component-libraries.yml
index b10f88b3b4..da8617c71f 100644
--- a/oap-server/server-starter/src/main/resources/component-libraries.yml
+++ b/oap-server/server-starter/src/main/resources/component-libraries.yml
@@ -542,6 +542,51 @@ ztunnel:
 Dmdb-jdbc-driver:
   id: 163
   languages: Java
+spring-ai-unknown:
+  id: 164
+  languages: Java
+spring-ai-anthropic:
+  id: 165
+  languages: Java
+spring-ai-aws-bedrock:
+  id: 166
+  languages: Java
+spring-ai-azure-openai:
+  id: 167
+  languages: Java
+spring-ai-cohere:
+  id: 168
+  languages: Java
+spring-ai-deepseek:
+  id: 169
+  languages: Java
+spring-ai-gcp-genai:
+  id: 170
+  languages: Java
+spring-ai-gcp-vertex-ai:
+  id: 171
+  languages: Java
+spring-ai-mistral-ai:
+  id: 172
+  languages: Java
+spring-ai-openai:
+  id: 173
+  languages: Java
+spring-ai-huggingface:
+  id: 174
+  languages: Java
+spring-ai-minimax:
+  id: 175
+  languages: Java
+spring-ai-ollama:
+  id: 176
+  languages: Java
+spring-ai-zhipu-ai:
+  id: 177
+  languages: Java
+spring-ai:
+  id: 178
+  languages: Java
 
 # .NET/.NET Core components
 # [3000, 4000) for C#/.NET only
@@ -815,6 +860,12 @@ Sinatra:
   id: 12001
   languages: Ruby
 
+# genai components
+GenAI:
+  id: 13000
+  languages: Java
+
+
 # Component Server mapping defines the server display names of some components
 # e.g.
 # Jedis is a client library in Java for Redis server
@@ -873,3 +924,17 @@ Component-Server-Mappings:
   amqp-producer: amqp
   amqp-consumer: amqp
   GoRedis: Redis
+  spring-ai-unknown: GenAI
+  spring-ai-anthropic: GenAI
+  spring-ai-aws-bedrock: GenAI
+  spring-ai-azure-openai: GenAI
+  spring-ai-cohere: GenAI
+  spring-ai-deepseek: GenAI
+  spring-ai-gcp-genai: GenAI
+  spring-ai-gcp-vertex-ai: GenAI
+  spring-ai-mistral-ai: GenAI
+  spring-ai-openai: GenAI
+  spring-ai-huggingface: GenAI
+  spring-ai-minimax: GenAI
+  spring-ai-ollama: GenAI
+  spring-ai-zhipu-ai: GenAI
\ No newline at end of file
diff --git a/skywalking-ui b/skywalking-ui
index 49a51d2a37..6be09fb26b 160000
--- a/skywalking-ui
+++ b/skywalking-ui
@@ -1 +1 @@
-Subproject commit 49a51d2a3728bc48932106d84e15b3220f0105db
+Subproject commit 6be09fb26b248814f45224e8fded0b1a5fc7a9cf
diff --git a/test/e2e-v2/java-test-service/e2e-protocol/src/main/proto 
b/test/e2e-v2/java-test-service/e2e-protocol/src/main/proto
index d4da569991..07882d57be 160000
--- a/test/e2e-v2/java-test-service/e2e-protocol/src/main/proto
+++ b/test/e2e-v2/java-test-service/e2e-protocol/src/main/proto
@@ -1 +1 @@
-Subproject commit d4da5699915ee52288f8ff1c954decf6363485bc
+Subproject commit 07882d57becb37e341f7fc492c11f9f5a5f311cf

Reply via email to