SuperAPI AI 工具集

guidewire-debug-bundle

编程与开发

查看项目

更新于 10-16 09:08

技能介绍

用途

Guidewire Debug Bundle 用于调试 Guidewire InsuranceSuite 相关问题,包括 Gosu 代码、Cloud API 集成以及系统性能问题。它适合在排查错误、分析慢查询、定位认证失败或集成错误等场景中使用。

主要能力

该技能包提供以下调试环节:

  • 启用调试日志:配置 Log4j2,将 gw.custom、gw.plugin、gw.api.rest、gw.api.database、gw.integration 等类别设为 DEBUG 级别,并使用滚动文件追加器,单文件大小上限 100 MB。

  • Gosu 调试:在 IDE 中使用 DebugHelper 类进行方法追踪、实体状态转储和查询性能分析,在 IntelliJ 中设置断点并附加到调试端口(5005)。

  • 远程调试:通过 JAVA_OPTS 配置 JDWP 远程调试,命令为:

    export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" # 5005 = configured value ./gradlew runServer

    在 IntelliJ 中通过 Run > Edit Configurations > Remote JVM Debug(localhost:5005)连接。

  • API 请求追踪:添加 axios 拦截器,记录请求/响应详情,并附带唯一请求 ID 和 Guidewire 追踪 ID(x-gw-trace-id)。

  • Cloud Console 日志分析:在 Guidewire Cloud Console 的 Observability > Logs 中使用 Lucene 查询,按索赔编号、慢 API 调用、认证失败或集成错误进行检索。

  • 数据库查询分析:使用 QueryPlanExplainer 分析查询,检测全表扫描和超过 1 秒的慢查询。

  • 内存与线程分析:监控 JVM 内存使用情况,在排查性能问题或死锁时转储线程状态。

如需详细代码实现(Log4j2 配置、Gosu 辅助类、TypeScript 追踪、查询分析),可加载参考指南: Read(${CLAUDE_SKILL_DIR}/references/implementation-guide.md)

使用方式

按照技能包中的步骤依次操作:先启用调试日志,再进行 Gosu 调试或远程调试,随后进行 API 请求追踪、Cloud Console 日志分析、数据库查询分析,最后进行内存与线程分析。

输出

  • 带追踪信息的调试日志
  • 查询执行计划
  • 内存与线程转储
  • 用于提交支持的完整调试包

错误处理

问题 原因 解决方案
无调试日志 日志级别错误 将类别设为 DEBUG
调试器无法附加 端口或防火墙错误 验证 JAVA_OPTS 和端口
未检测到慢查询 未进行性能分析 用 profileQuery 包装查询
缺少追踪 ID 未记录请求头 添加响应拦截器

适用场景

适用于需要排查 Guidewire InsuranceSuite 中 Gosu 代码问题、Cloud API 集成问题以及系统性能问题的开发与运维场景。

限制与前提

使用前需要:

  • 具备 Guidewire Cloud Console 访问权限
  • 安装带 Gosu 插件的 IntelliJ IDEA
  • 具备 Java 调试基础知识
  • 具备应用日志访问权限

关于速率限制信息,可参见 guidewire-rate-limits。

示例

  • 基础用法:在采用默认配置选项的标准项目设置中应用 guidewire debug bundle。
  • 高级场景:针对生产环境,结合多重约束和团队特定需求定制 guidewire debug bundle。