chore: trim observability surface docs

This commit is contained in:
lingniu
2026-07-01 15:42:55 +08:00
parent 4d9779e088
commit bf6f94afbb
4 changed files with 18 additions and 5 deletions

View File

@@ -23,7 +23,7 @@
| MQTT 客户端 | Eclipse Paho 1.2.5 | | MQTT 客户端 | Eclipse Paho 1.2.5 |
| 会话索引 | Redis | | 会话索引 | Redis |
| 熔断/限流 | Resilience4j 2 | | 熔断/限流 | Resilience4j 2 |
| 可观测 | Micrometer + Prometheus + OpenTelemetry | | 可观测 | Micrometer + Prometheus |
| 冷存 | S3 / OSS / 本地 | | 冷存 | S3 / OSS / 本地 |
| 构建 | Maven + Spotless + ArchUnit | | 构建 | Maven + Spotless + ArchUnit |
@@ -38,7 +38,7 @@ lingniu-vehicle-ingest/
│ │ ├── ingest-core/ Pipeline / Dispatcher / Disruptor / Session 桥 │ │ ├── ingest-core/ Pipeline / Dispatcher / Disruptor / Session 桥
│ │ ├── session-core/ 设备会话 + 鉴权 + Token + Redis SessionStore │ │ ├── session-core/ 设备会话 + 鉴权 + Token + Redis SessionStore
│ │ ├── vehicle-identity/ 跨协议车辆身份解析 + MySQL 外部标识绑定 │ │ ├── vehicle-identity/ 跨协议车辆身份解析 + MySQL 外部标识绑定
│ │ └── observability/ metrics / tracing / health │ │ └── observability/ metrics / health
│ ├── protocols/ │ ├── protocols/
│ │ ├── protocol-gb32960/ GB/T 32960 │ │ ├── protocol-gb32960/ GB/T 32960
│ │ ├── protocol-jt808/ JT/T 808统一身份映射 + 事件 metadata 内部 VIN + 注册/鉴权/心跳/注销/位置/批量位置/参数/属性/媒体/透传/未知上行和坏帧兜底/断链清理会话/下行分包) │ │ ├── protocol-jt808/ JT/T 808统一身份映射 + 事件 metadata 内部 VIN + 注册/鉴权/心跳/注销/位置/批量位置/参数/属性/媒体/透传/未知上行和坏帧兜底/断链清理会话/下行分包)

View File

@@ -309,7 +309,7 @@ flowchart TB
codec["ingest-codec-common<br/>BCD / CRC / BCC / bit 工具"] codec["ingest-codec-common<br/>BCD / CRC / BCC / bit 工具"]
session["session-core<br/>设备会话、命令分发接口、会话存储"] session["session-core<br/>设备会话、命令分发接口、会话存储"]
identity["vehicle-identity<br/>跨协议身份解析、MySQL 绑定表"] identity["vehicle-identity<br/>跨协议身份解析、MySQL 绑定表"]
obs["observability<br/>metrics / tracing / health"] obs["observability<br/>metrics / health"]
api["ingest-api<br/>ProtocolId / RawFrame / VehicleEvent / 注解 SPI"] api["ingest-api<br/>ProtocolId / RawFrame / VehicleEvent / 注解 SPI"]
registry["HandlerRegistry<br/>按协议、命令、infoType 路由"] registry["HandlerRegistry<br/>按协议、命令、infoType 路由"]
dispatcher["Dispatcher<br/>RawFrame 到 Handler 到 EventBus"] dispatcher["Dispatcher<br/>RawFrame 到 Handler 到 EventBus"]
@@ -535,7 +535,7 @@ flowchart LR
</tr> </tr>
<tr> <tr>
<td>modules/core/observability</td> <td>modules/core/observability</td>
<td>监控、指标、追踪、健康检查等横切能力。</td> <td>监控、指标、健康检查等横切能力。</td>
<td>核心管线和 Sink 运行状态。</td> <td>核心管线和 Sink 运行状态。</td>
<td>Micrometer 指标、健康信息。</td> <td>Micrometer 指标、健康信息。</td>
<td><span class="tag green">可用性</span><span class="tag">延迟监控</span></td> <td><span class="tag green">可用性</span><span class="tag">延迟监控</span></td>

View File

@@ -267,6 +267,10 @@ class MavenModuleProfileTest {
void observabilityBuildSurfaceUsesMicrometerWithoutUnusedOpenTelemetryBom() throws Exception { void observabilityBuildSurfaceUsesMicrometerWithoutUnusedOpenTelemetryBom() throws Exception {
Document pom = rootPom(); Document pom = rootPom();
Document observabilityPom = modulePom("modules/core/observability/pom.xml"); Document observabilityPom = modulePom("modules/core/observability/pom.xml");
String readme = Files.readString(repositoryRoot().resolve("README.md"));
String moduleDataFlow = Files.readString(repositoryRoot().resolve("docs/module-data-flow.html"));
String traceSpan = Files.readString(repositoryRoot()
.resolve("modules/core/ingest-api/src/main/java/com/lingniu/ingest/api/annotation/TraceSpan.java"));
assertThat(hasProjectProperty(pom, "micrometer.version")) assertThat(hasProjectProperty(pom, "micrometer.version"))
.isTrue(); .isTrue();
@@ -281,6 +285,15 @@ class MavenModuleProfileTest {
.isFalse(); .isFalse();
assertThat(productionJavaContains("io.opentelemetry")) assertThat(productionJavaContains("io.opentelemetry"))
.isFalse(); .isFalse();
assertThat(readme)
.contains("| 可观测 | Micrometer + Prometheus |")
.doesNotContain("OpenTelemetry");
assertThat(moduleDataFlow)
.contains("observability<br/>metrics / health")
.doesNotContain("observability<br/>metrics / tracing / health");
assertThat(traceSpan)
.doesNotContain("OpenTelemetry")
.doesNotContain("span");
} }
@Test @Test

View File

@@ -6,7 +6,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
/** /**
* 为 Handler 方法开启 OpenTelemetry span * 为 Handler 方法标记轻量 traceId 诊断名称
*/ */
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD) @Target(ElementType.METHOD)