一键导入
component-guide
Architectural context on UDMI components, distributed data paths, and source code entry points.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Architectural context on UDMI components, distributed data paths, and source code entry points.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Dynamic triage loop, codebase investigation tactics, Git regression hunting, and proposing actionable fixes.
Factual reference for diagnostic log streams, distributed tracing, and strategies for handling missing telemetry.
基于 SOC 职业分类
| name | component-guide |
| description | Architectural context on UDMI components, distributed data paths, and source code entry points. |
UDMI (Universal Device Management Interface) is a distributed, asynchronous system. Debugging it requires understanding the boundaries between components and how data flows across them. Use this guide to contextualize log events and target your codebase research.
The ecosystem consists of four core components interacting across network boundaries:
graph LR
Sequencer[Sequencer Client] <-->|Pub/Sub Reflector| UDMIS[UDMIS Cloud Pod]
UDMIS <-->|MQTT/IoT Core| Broker[MQTT Broker / Cloud IoT Core]
Broker <-->|MQTT Client| Pubber[Pubber Device Emulator]
validator/)RC:12a3b4) and attaches incrementing suffixes. It mutates expected states
and sets synchronization wait loops (timeouts).udmis/)pubber/)/config, and publishes /state (
acknowledgments) and /event (telemetry).Messages travel in standard JSON envelopes across three primary schemas:
config):Sequencer $\rightarrow$ UDMIS $\rightarrow$ Broker $\rightarrow$
Pubber/Devicestate):Pubber/Device $\rightarrow$ Broker $\rightarrow$
UDMIS $\rightarrow$ Sequencerevent):Pubber/Device $\rightarrow$ Broker $\rightarrow$
UDMIS $\rightarrow$ Sequencerpointset sensor readings, system
logs).When you isolate a divergence point in the timeline, use this map to target your
grep_codebase searches. Do not restrict your investigation to just one
layer—bugs often live at the interfaces between these boundaries.
Sequencer Engine: validator/src/main/java/com/google/daq/mqtt/sequencer/
Target SequenceBase.java when investigating wait loops, assertions, and
config sync logic.
UDMIS Routing Infrastructure:
udmis/src/main/java/com/google/bos/udmi/service/
Target processor/ReflectProcessor.java for message validation and
propagation tracing.
Target core/DynamicIotAccessProvider.java for issues involving dropped cloud
routes or provider resolution.
Pubber Emulator: pubber/src/main/java/daq/pubber/
Target Pubber.java for MQTT connection cycles and loop timers.
Shared Models & Parsers: common/src/main/java/com/google/daq/mqtt/util/
Target this directory when investigating JSON parsing exceptions, missing envelope fields, or cryptographic signature mismatches.
Investigating Schema Violations: * If a schema validation fails, **do not
just check the static definitions in schema/**. You must find the Java class
responsible for constructing the payload (e.g., a state publisher) and
verify if it is missing a required property or casting a type incorrectly.