This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a change to branch swip/swip-10-envoy-ai-gateway
in repository https://gitbox.apache.org/repos/asf/skywalking.git
from 36d0bcb087 Add SWIP-10: Support Envoy AI Gateway Observability
add 28a6d0a327 Support Virtual-GenAI monitoring (#13745)
add 0029daeb59 Merge branch 'master' into swip/swip-10-envoy-ai-gateway
No new revisions were added by this update.
Summary of changes:
.github/workflows/skywalking.yaml | 2 +
apm-dist/src/main/assembly/binary.xml | 1 +
docs/en/changes/changes.md | 1 +
docs/en/setup/service-agent/virtual-genai.md | 63 ++++
docs/menu.yml | 4 +
oap-server/analyzer/agent-analyzer/pom.xml | 5 +
.../listener/VirtualServiceAnalysisListener.java | 21 +-
.../listener/vservice/VirtualGenAIProcessor.java | 115 ++++++
.../{event-analyzer => gen-ai-analyzer}/pom.xml | 3 +-
.../genai/GenAIAnalyzerModuleProvider.java} | 53 +--
.../oap/analyzer/genai/config/GenAIConfig.java} | 23 +-
.../analyzer/genai/config/GenAIConfigLoader.java | 110 ++++++
.../oap/analyzer/genai/config/GenAIOALDefine.java} | 12 +-
.../oap/analyzer/genai/config/GenAITagKeys.java} | 13 +-
.../genai/matcher/GenAIProviderPrefixMatcher.java | 118 ++++++
.../genai/module/GenAIAnalyzerModule.java} | 13 +-
.../analyzer/genai/service/GenAIMeterAnalyzer.java | 128 +++++++
.../genai/service/IGenAIMeterAnalyzerService.java} | 13 +-
...ywalking.oap.server.library.module.ModuleDefine | 2 +-
...alking.oap.server.library.module.ModuleProvider | 2 +-
.../oap/genai/analyzer/GenAIMeterAnalyzerTest.java | 243 +++++++++++++
.../src/test/resources/gen-ai-config.yml | 361 +++++++++++++++++++
oap-server/analyzer/pom.xml | 1 +
.../apache/skywalking/oal/rt/grammar/OALLexer.g4 | 2 +
.../apache/skywalking/oal/rt/grammar/OALParser.g4 | 3 +-
.../oal/v2/generator/RuntimeOALGenerationTest.java | 6 +
.../ui/template/UITemplateInitializer.java | 1 +
.../oap/server/core/source/DefaultScopeDefine.java | 2 +
.../core/source/{Source.java => GenAIMetrics.java} | 31 +-
...SServiceInstance.java => GenAIModelAccess.java} | 50 ++-
...atabaseAccess.java => GenAIProviderAccess.java} | 40 ++-
oap-server/server-starter/pom.xml | 1 +
.../src/main/resources/application.yml | 4 +
.../src/main/resources/gen-ai-config.yml | 361 +++++++++++++++++++
.../src/main/resources/oal/virtual-gen-ai.oal | 46 +++
.../resources/ui-initialized-templates/menu.yaml | 10 +
.../rocketmq/rocketmq-root.json | 2 +-
.../virtual_genai/virtual-genai-model.json | 394 +++++++++++++++++++++
.../virtual_genai/virtual-genai-provider.json | 337 ++++++++++++++++++
.../virtual_genai/virtual-genai-root.json | 58 +++
skywalking-ui | 2 +-
test/e2e-v2/cases/storage/expected/config-dump.yml | 1 +
.../{kafka => virtual-genai}/Dockerfile.provider | 25 +-
.../{php => virtual-genai}/docker-compose.yml | 55 ++-
.../e2e-v2/cases/{flink => virtual-genai}/e2e.yaml | 8 +-
.../expected/instance.yml | 2 +-
.../expected/metrics-has-value-label.yml} | 5 +-
.../expected/metrics-has-value.yml | 0
.../expected/service.yml | 10 +-
test/e2e-v2/cases/virtual-genai/virtual-genai.yaml | 69 ++++
.../java-test-service/e2e-service-provider/pom.xml | 1 +
.../e2e/controller/LLMMockController.java | 105 ++++++
test/e2e-v2/script/env | 2 +-
53 files changed, 2788 insertions(+), 152 deletions(-)
create mode 100644 docs/en/setup/service-agent/virtual-genai.md
create mode 100644
oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/parser/listener/vservice/VirtualGenAIProcessor.java
copy oap-server/analyzer/{event-analyzer => gen-ai-analyzer}/pom.xml (95%)
copy
oap-server/{server-receiver-plugin/skywalking-pprof-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/pprof/provider/PprofModuleProvider.java
=>
analyzer/gen-ai-analyzer/src/main/java/org/apache/skywalking/oap/analyzer/genai/GenAIAnalyzerModuleProvider.java}
(56%)
copy
oap-server/{server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationCenterSettings.java
=>
analyzer/gen-ai-analyzer/src/main/java/org/apache/skywalking/oap/analyzer/genai/config/GenAIConfig.java}
(62%)
create mode 100644
oap-server/analyzer/gen-ai-analyzer/src/main/java/org/apache/skywalking/oap/analyzer/genai/config/GenAIConfigLoader.java
copy
oap-server/{server-fetcher-plugin/cilium-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/fetcher/cilium/CiliumOALDefine.java
=>
analyzer/gen-ai-analyzer/src/main/java/org/apache/skywalking/oap/analyzer/genai/config/GenAIOALDefine.java}
(74%)
copy
oap-server/{server-core/src/main/java/org/apache/skywalking/oap/server/core/source/MQOperation.java
=>
analyzer/gen-ai-analyzer/src/main/java/org/apache/skywalking/oap/analyzer/genai/config/GenAITagKeys.java}
(63%)
create mode 100644
oap-server/analyzer/gen-ai-analyzer/src/main/java/org/apache/skywalking/oap/analyzer/genai/matcher/GenAIProviderPrefixMatcher.java
copy
oap-server/{server-core/src/main/java/org/apache/skywalking/oap/server/core/cluster/ClusterModule.java
=>
analyzer/gen-ai-analyzer/src/main/java/org/apache/skywalking/oap/analyzer/genai/module/GenAIAnalyzerModule.java}
(74%)
create mode 100644
oap-server/analyzer/gen-ai-analyzer/src/main/java/org/apache/skywalking/oap/analyzer/genai/service/GenAIMeterAnalyzer.java
copy
oap-server/analyzer/{agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/parser/listener/ExitAnalysisListener.java
=>
gen-ai-analyzer/src/main/java/org/apache/skywalking/oap/analyzer/genai/service/IGenAIMeterAnalyzerService.java}
(74%)
copy oap-server/{server-fetcher-plugin/cilium-fetcher-plugin =>
analyzer/gen-ai-analyzer}/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleDefine
(92%)
copy {test/script-cases/script-runtime-with-groovy/lal-v1-with-groovy =>
oap-server/analyzer/gen-ai-analyzer}/src/main/resources/META-INF/services/org.apache.skywalking.oap.server.library.module.ModuleProvider
(91%)
create mode 100644
oap-server/analyzer/gen-ai-analyzer/src/test/java/org/apache/skywalking/oap/genai/analyzer/GenAIMeterAnalyzerTest.java
create mode 100644
oap-server/analyzer/gen-ai-analyzer/src/test/resources/gen-ai-config.yml
copy
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/{Source.java
=> GenAIMetrics.java} (61%)
copy
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/{K8SServiceInstance.java
=> GenAIModelAccess.java} (70%)
copy
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/{DatabaseAccess.java
=> GenAIProviderAccess.java} (72%)
create mode 100644
oap-server/server-starter/src/main/resources/gen-ai-config.yml
create mode 100644
oap-server/server-starter/src/main/resources/oal/virtual-gen-ai.oal
create mode 100644
oap-server/server-starter/src/main/resources/ui-initialized-templates/virtual_genai/virtual-genai-model.json
create mode 100644
oap-server/server-starter/src/main/resources/ui-initialized-templates/virtual_genai/virtual-genai-provider.json
create mode 100644
oap-server/server-starter/src/main/resources/ui-initialized-templates/virtual_genai/virtual-genai-root.json
copy test/e2e-v2/cases/{kafka => virtual-genai}/Dockerfile.provider (61%)
copy test/e2e-v2/cases/{php => virtual-genai}/docker-compose.yml (70%)
copy test/e2e-v2/cases/{flink => virtual-genai}/e2e.yaml (93%)
copy test/e2e-v2/cases/{activemq => virtual-genai}/expected/instance.yml (96%)
copy test/e2e-v2/cases/{mqe/expected/sort-value-OP.yml =>
virtual-genai/expected/metrics-has-value-label.yml} (96%)
copy test/e2e-v2/cases/{aws/api-gateway =>
virtual-genai}/expected/metrics-has-value.yml (100%)
copy test/e2e-v2/cases/{virtual-mq => virtual-genai}/expected/service.yml (90%)
create mode 100644 test/e2e-v2/cases/virtual-genai/virtual-genai.yaml
create mode 100644
test/e2e-v2/java-test-service/e2e-service-provider/src/main/java/org/apache/skywalking/e2e/controller/LLMMockController.java