开启标记
releaseMarkers=true 添加到仪表盘 URL 中,因此您共享的链接打开时会自动启用标记。这属于视图状态,而非仪表盘配置:不会随仪表盘一起保存,关闭后该参数也会被移除。
标记会显示在数据源为日志或链路追踪数据源的时间序列卡片上。告警注释也可通过同一菜单显示,并且可与发布标记同时显示——两组标记会一同呈现,且各自保留自己的标签。
配置版本来源
ResourceAttributes['service.version']。如果您的服务遵循服务 resource semantic conventions,则无需配置即可使用标记。
若要从其他位置读取版本,请在日志或链路追踪数据源中设置服务版本表达式。在 团队设置 → 数据源中编辑数据源。对于日志数据源,该字段位于配置可选字段中;对于链路追踪数据源,该字段直接显示在表单中,位于服务名称表达式下方。
该值是 SQL 表达式,而不是属性名称,可涵盖两种常见情况:
- 发布标识符位于其他属性中。 在 GitOps 环境中,用于标识发布版本的通常是容器 image 标签,以
container.image.tag的形式传入。将数据源指向ResourceAttributes['container.image.tag'],比在整个服务集群中修改 instrumentation 的成本低得多。 - 同一表中的服务使用的属性不一致。 使用
coalesce在这些属性之间回退:
serviceVersionExpression 的形式提供,因此您可以在通过编程方式预配数据源时对其进行设置。有关日志和链路追踪数据源设置的完整列表,请参阅日志和链路追踪。
标记的含义
- 未更改版本字符串的部署不会产生任何标记。
- 如果某个服务空闲时间超过回溯范围,恢复扩容时会绘制一个标记。
卡片显示哪些发行版
WHERE 子句、各个数据系列的过滤器,以及任何仪表盘过滤器。卡片显示的内容取决于其绘制的图表:
在第三种情况下,标记所属的服务在图表中没有可匹配的线条,因此不会显示这些标记。如果窗口中的所有发行版均来自单个服务,则会显示这些标记,并采用默认标记颜色。
查看繁忙图表上的标记
N releases 的锚点;将鼠标悬停其上即可显示所有发行版。跨越多个服务的集群会以中性色显示,而非使用其中任一服务的颜色,因此计数准确,也不会暗示其归属。
显示标记时,仍可在绘图区上水平拖动以缩放。
限制
- 仅支持时间序列卡片。 表、数值和热力图不会绘制标记。
- 仅支持日志和链路追踪数据源。 指标数据源会根据指标类型确定对应的表,因此不存在可重新聚合的单一表,也无法让卡片的过滤器对其生效。若要为指标数据添加注释,请在同一仪表盘上将日志或 trace 卡片放置在其旁边。
- 空版本值会被跳过。 未输出版本的服务不会生成任何标记。如果卡片完全找不到版本变更,ClickStack 会显示
No releases found,避免你怀疑该功能是否失效。 - 每个窗口最多读取 500 个不同的版本。