条件
为事件或仪器触发设置条件
您可以设置在触发事件或仪器时触发的条件instrument 应该被修改或者应该触发一个 事件。
条件配置
这是一个在自定义仪器上的条件示例
router.yaml
telemetry:instrumentation:instruments:router:my.instrument:value: durationtype: counterunit: sdescription: "my description"# ...# This instrument will only be mutated if the condition evaluates to truecondition:all:- any:- eq:- "val"- request_header: x-req-header- eq:- "foo"- response_header: x-resp-header
存在
该存在
条件用于测试选择器是否存在。
例如,下面的条件检查 x-req-header
是否存在:
exists:request_header: x-req-header
等于
该等于
条件用于在选择器或值之间进行相等性测试。
例如,下面的条件检查 x-req-header
是否等于 val
:
eq:- "val"- request_header: x-req-header
您可以使用选择器对等式测试的两边进行操作
eq:- request_header: x-req-header1- request_header: x-req-header2
值可以是 string
、number
或 boolean
类型。
大于
该大于
条件检查一个值是否大于另一个值。
例如,以下条件检查响应状态码是否大于 299
gt:- response_status: code- 299
值可以是 string
、number
或 boolean
类型。
小于
该小于
条件检查一个值是否小于另一个值。
例如,以下条件检查响应状态码是否小于 500
lt:- response_status: code- 500
值可以是 string
、number
或 boolean
类型。
非
该非
条件是嵌套条件的否定。
例如,以下条件检查 x-req-header
的值是否不等于 不等于 val1:
not:eq:- "val1"- request_header: x-req-header2
所有
该所有
条件是条件列表,所有条件都必须为真,条件才为真。
all:- eq:- "val1"- request_header: x-req-header1- eq:- "val2"- request_header: x-req-header2
any:- eq:- "val2"- request_header: x-req-header1- eq:- "val2"- request_header: x-req-header2
等于 | |
大于 | |
小于 | |
存在 | |
非 | |
所有 | |
|