MSE 全链路灰度底层使用了 ARMS 的能力来进行流量标签的透传,本文介绍如何在上下文中获取流量当前的灰度标签。
引入依赖
在pom.xml
中引入opentelemetry
的依赖。
<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-api</artifactId>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk-trace</artifactId>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-bom</artifactId>
<version>1.23.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
代码
通过如下方式获取。
String tagValue = Baggage.current().getEntryValue("__microservice_tag__");
说明
tagValue 的格式为 JSON,内容为 [{"name":"gray","tag":"gray","priority":-1}],这里的 name = gray 表示当前上下文属于 gray 标的流量。
此特性需要 MSE 探针版本 >= 4.0。
文档内容是否对您有帮助?