You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1982 lines
58 KiB

1 year ago
---
test case: 'Get metric value using params: "wmi_os_physical_memory_free_bytes"'
in:
data: wmi_os_physical_memory_free_bytes 8.492331008e+09
params: wmi_os_physical_memory_free_bytes
request: value
output: ""
out:
result: SUCCEED
output: 8.492331008e+09
---
test case: 'Get metric value using params: "cpu_usage_system{cpu="cpu-total"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Get metric value using params: "wmi_logical_disk_free_bytes{volume="{#VOLUME}"}"'
in:
data: |
# HELP wmi_logical_disk_free_bytes Free space in bytes (LogicalDisk.PercentFreeSpace)
# TYPE wmi_logical_disk_free_bytes gauge
wmi_logical_disk_free_bytes{volume="{#VOLUME}"} 3.5180249088e+11
wmi_logical_disk_free_bytes{volume="D:"} 2.627731456e+09
wmi_logical_disk_free_bytes{volume="HarddiskVolume4"} 4.59276288e+08
params: 'wmi_logical_disk_free_bytes{volume="{#VOLUME}"}'
request: value
output: ""
out:
result: SUCCEED
output: 3.5180249088e+11
---
test case: 'Get label value (volume) using params: "wmi_logical_disk_free_bytes{volume="{#VOLUME}"}"'
in:
data: |
# HELP wmi_logical_disk_free_bytes Free space in bytes (LogicalDisk.PercentFreeSpace)
# TYPE wmi_logical_disk_free_bytes gauge
wmi_logical_disk_free_bytes{volume="C:"} 3.5180249088e+11
wmi_logical_disk_free_bytes{volume="{#VOLUME}"} 2.627731456e+09
wmi_logical_disk_free_bytes{volume="HarddiskVolume4"} 4.59276288e+08
params: 'wmi_logical_disk_free_bytes{volume="{#VOLUME}"}'
request: label
output: volume
out:
result: SUCCEED
output: '{#VOLUME}'
---
test case: 'Get metric value using params: "cpu_usage_system{cpu="cpu-total",host=~".*"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total",host=~".*"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Get metric value using params: "cpu_usage_system{cpu="cpu-total",host=~".*"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total",host=~".*"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Get metric value using params: "cpu_usage_system{cpu="cpu-total"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Get metric value using params: "cpu_usage_system{cpu=~"cpu-tot.+"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: cpu_usage_system{cpu=~"cpu-tot.+"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Get metric value using params: "{__name__=~"cpu_usage_syst.+",cpu=~"cpu-tot.+"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: '{__name__=~"cpu_usage_syst.+",cpu=~"cpu-tot.+"}'
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Get metric value using params: "cpu_usage_system{cpu=~".*"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: cpu_usage_system{cpu=~".*"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Get metric value using params: "cpu_usage_system{cpu=~"cpu-tot.+"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: cpu_usage_system{cpu=~"cpu-tot.+"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Get label value (state) using params: "wmi_service_state{name="dhcp"} == 1"'
in:
data: |
wmi_service_state{name="devicesflowusersvc_7b100",state="running"} 1
wmi_service_state{name="devicesflowusersvc_7b100",state="start pending"} 0
wmi_service_state{name="devicesflowusersvc_7b100",state="stop pending"} 0
wmi_service_state{name="devicesflowusersvc_7b100",state="stopped"} 0
wmi_service_state{name="devicesflowusersvc_7b100",state="unknown"} 0
wmi_service_state{name="dhcp",state="continue pending"} 0
wmi_service_state{name="dhcp",state="pause pending"} 0
wmi_service_state{name="dhcp",state="paused"} 0
wmi_service_state{name="dhcp",state="running"} 1
wmi_service_state{name="dhcp",state="start pending"} 0
wmi_service_state{name="dhcp",state="stop pending"} 0
wmi_service_state{name="dhcp",state="stopped"} 0
wmi_service_state{name="dhcp",state="unknown"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="continue pending"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="pause pending"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="paused"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="running"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="start pending"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="stop pending"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="stopped"} 1
wmi_service_state{name="diagnosticshub.standardcollector.service",state="unknown"} 0
params: wmi_service_state{name="dhcp"} == 1
request: label
output: state
out:
result: SUCCEED
output: 'running'
---
test case: 'Get label value (timezone) using params: "wmi_os_timezone{timezone=~".*"} == 1"'
in:
data: |
# HELP wmi_os_timezone OperatingSystem.LocalDateTime
# TYPE wmi_os_timezone gauge
wmi_os_timezone{timezone="MSK"} 1
params: wmi_os_timezone{timezone=~".*"} == 1
request: label
output: timezone
out:
result: SUCCEED
output: 'MSK'
---
test case: 'Multiple spaces in metric before the value'
in:
data: |
# HELP http_requests_total The total number of HTTP requests.
# TYPE http_requests_total counter
http_requests_total{method="post",code="200"} 1027 1395066363000
http_requests_total{method="post",code="400"} 3 1395066363000
params: http_requests_total{code="400"}
request: value
output: ""
out:
result: SUCCEED
output: 3
---
test case: 'Escaping in label values'
in:
data: msdos_file_access_time_seconds{path="C:\\DIR\\FILE.TXT",error="Cannot find file:\n\"FILE.TXT\""} 1.458255915e9
params: msdos_file_access_time_seconds{error="Cannot find file:\n\"FILE.TXT\""} == 1.458255915e9
request: label
output: path
out:
result: SUCCEED
output: 'C:\DIR\FILE.TXT'
---
test case: 'Minimalistic line'
in:
data: metric_without_timestamp_and_labels 12.47
params: metric_without_timestamp_and_labels
request: value
output: ""
out:
result: SUCCEED
output: 12.47
---
test case: 'A weird metric from before the epoch'
in:
data: something_weird{problem="division by zero"} +Inf -3982045
params: something_weird
request: value
output: ""
out:
result: SUCCEED
output: +Inf
---
test case: 'A histogram, which has a pretty complex representation in the text format'
in:
data: |
# HELP http_request_duration_seconds A histogram of the request duration.
# TYPE http_request_duration_seconds histogram
http_request_duration_seconds_bucket{le="0.05"} 24054
http_request_duration_seconds_bucket{le="0.1"} 33444
http_request_duration_seconds_bucket{le="0.2"} 100392
http_request_duration_seconds_bucket{le="0.5"} 129389
http_request_duration_seconds_bucket{le="1"} 133988
http_request_duration_seconds_bucket{le="+Inf"} 144320
http_request_duration_seconds_sum 53423
http_request_duration_seconds_count 144320
params: http_request_duration_seconds_bucket{le="+Inf"}
request: value
output: ""
out:
result: SUCCEED
output: 144320
---
test case: 'A summary, which has a complex representation'
in:
data: |
# HELP rpc_duration_seconds A summary of the RPC duration in seconds.
# TYPE rpc_duration_seconds summary
rpc_duration_seconds{quantile="0.01"} 3102
rpc_duration_seconds{quantile="0.05"} 3272
rpc_duration_seconds{quantile="0.5"} 4773
rpc_duration_seconds{quantile="0.9"} 9001
rpc_duration_seconds{quantile="0.99"} 76656
rpc_duration_seconds_sum 1.7560473e+07
rpc_duration_seconds_count 2693
params: rpc_duration_seconds_sum
request: value
output: ""
out:
result: SUCCEED
output: 1.7560473e+07
---
test case: 'Invalid metric (expected "fail"): empty metric'
in:
data: ""
params: wmi_os_timezone
request: value
output: ""
out:
result: FAIL
---
test case: 'Empty params'
in:
data: wmi_os_timezone{timezone="MSK"} 1
params: ""
request: value
output: ""
out:
result: SUCCEED
output: 1
---
test case: 'Empty params but value_type is set'
in:
data: wmi_os_timezone{timezone="MSK"} 1
params: ""
request: label
output: timezone
out:
result: SUCCEED
output: 'MSK'
---
test case: 'Empty params but value_type is set (multiline metric)'
in:
data: |
wmi_service_state{name="dhcp",state="running"} 1
wmi_service_state{name="dhcp",state="start pending"} 0
wmi_service_state{name="dhcp",state="stop pending"} 0
wmi_service_state{name="postdhcp",state="stopped"} 1
params: ""
request: label
output: state
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): empty metric and empty params'
in:
data: ""
params: ""
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): metric consists of spaces only #1'
in:
data: ' '
params: wmi_os_timezone
request: value
output: ""
out:
result: FAIL
---
test case: 'Params hold multiple spaces only'
in:
data: wmi_os_timezone{timezone="MSK"} 1
params: ' '
request: value
output: ""
out:
result: SUCCEED
output: 1
---
test case: 'Params hold multiple spaces only (multiline metric)'
in:
data: |
rpc_duration_seconds{quantile="0.01"} 3102
rpc_duration_seconds{quantile="0.05"} 3272
rpc_duration_seconds{quantile="0.5"} 4773
rpc_duration_seconds{quantile="0.9"} 9001
rpc_duration_seconds{quantile="0.99"} 76656
rpc_duration_seconds_sum 1.7560473e+07
rpc_duration_seconds_count 2693
params: ' '
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): metric consists of spaces only #2'
in:
data: ' '
params: ' '
request: value
output: ""
out:
result: FAIL
---
test case: 'Empty multiline metric'
in:
data: "\n\n\n\n"
params: wmi_os_timezone
request: value
output: ""
out:
result: FAIL
---
test case: 'Empty value_type'
in:
data: wmi_os_physical_memory_free_bytes 8.492331008e+09
params: wmi_os_physical_memory_free_bytes
request: value
output: ""
out:
result: SUCCEED
output: 8.492331008e+09
---
test case: 'Invalid metric (expected "fail"): metric without value'
in:
data: wmi_os_physical_memory_free_bytes
params: wmi_os_physical_memory_free_bytes
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): label value is missing but equal sign remains "wmi_os_timezone{timezone=} 1"'
in:
data: |
# HELP wmi_os_timezone OperatingSystem.LocalDateTime
# TYPE wmi_os_timezone gauge
wmi_os_timezone{timezone=} 1
params: wmi_os_timezone
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): label value is missing "wmi_os_timezone{timezone} 1"'
in:
data: |
# HELP wmi_os_timezone OperatingSystem.LocalDateTime
# TYPE wmi_os_timezone gauge
wmi_os_timezone{timezone} 1
params: wmi_os_timezone
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): label value is missing and value_type is set to that label "wmi_os_timezone{timezone} 1"'
in:
data: |
# HELP wmi_os_timezone OperatingSystem.LocalDateTime
# TYPE wmi_os_timezone gauge
wmi_os_timezone{timezone} 1
params: wmi_os_timezone == 1
request: label
output: timezone
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): label value is missing, value_type is set to that label; params: "wmi_os_timezone{timezone=~".*"} == 1"'
in:
data: |
# HELP wmi_os_timezone OperatingSystem.LocalDateTime
# TYPE wmi_os_timezone gauge
wmi_os_timezone{timezone} 1
params: wmi_os_timezone{timezone=~".*"} == 1
request: label
output: timezone
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): wrong metric data'
in:
data: asdlkdlkasdasd09814mnvclmx
params: wmi_os_timezone
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): wrong metric data (a space within)'
in:
data: asdlkdlkasda sd09814mnvclmx
params: wmi_os_timezone
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): metric name with unsupported characters included'
in:
data: wmi_os_physical_^&;memory_free_bytes 8.492331008e+09
params: wmi_os_physical_^&;memory_free_bytes
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): wrong metric data with valid HELP/TYPE'
in:
data: |
# HELP wmi_os_timezone OperatingSystem.LocalDateTime
# TYPE wmi_os_timezone gauge
asdlkdlkasdasd09814mnvclmx
params: wmi_os_timezone
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): metric consists of hash symbol only'
in:
data: '#'
params: wmi_os_timezone
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): metric consists of empty space only'
in:
data: ' '
params: wmi_os_timezone
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): metric consists of 3 byte UTF-8 character only'
in:
data: "ࠀ"
params: wmi_os_timezone
request: value
output: ""
out:
result: FAIL
---
test case: 'Metric with 3 byte UTF-8 byte character included in label value'
in:
data: |
# HELP http_requests_total The total number of HTTP requests.
# TYPE http_requests_total counter
http_requests_total{method="post",code="200"} 1027 1395066363000
http_requests_total{method="post",code="-⃠"} 3 1395066363000
params: http_requests_total == 3
request: label
output: code
out:
result: SUCCEED
output: '-⃠'
---
test case: 'Invalid metric (expected "fail"): metric with missing "{"'
in:
data: cpu_usage_systemcpu="cpu-total"} 1.1940298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): metric with missing "}"'
in:
data: cpu_usage_system{cpu="cpu-total" 1.1940298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): metric with missing "'
in:
data: cpu_usage_system{cpu=cpu-total"} 1.1940298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): metric with missing ","'
in:
data: cpu_usage_system{cpu="cpu-total"host="host1"} 1.1940298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): metric with missing "," and params set to empty'
in:
data: cpu_usage_system{cpu="cpu-total"host="host1"} 1.1940298507220641
params: ""
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): double equal sign (==) instead of single equal sign (=) in label value assignment (multiline metric)'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu=="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): double equal sign (==) instead of single equal sign (=) in label value assignment (desired metric)'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu=="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): double equal sign (==) instead of single equal sign (=) in label value assignment'
in:
data: cpu_usage_system{cpu=="cpu-total"} 1.1940298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Label value and params holds new line character'
in:
data: "cpu_usage_system{cpu=\"cpu\ntotal\"} 1.1940298507220641"
params: "cpu_usage_system{cpu=\"cpu\ntotal\"}"
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Invalid metric (expected "fail"): metric name holds new line character'
in:
data: "cpu_usa\nge_system{cpu=\"cputotal\"} 1.1940298507220641"
params: 'cpu_usage_system{cpu="cputotal"}'
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): params hold new line character'
in:
data: 'cpu_usage_system{cpu=\"cputotal\"} 1.1940298507220641'
params: "cpu_usa\nge_system{cpu=\"cputotal\"}"
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): metric name and params hold new line character'
in:
data: "cpu_usa\nge_system{cpu=\"cputotal\"} 1.1940298507220641"
params: "cpu_usa\nge_system{cpu=\"cputotal\"}"
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): double equal sign (==) instead of single equal sign (=) in label value assignment'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu=="cpu-total"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): single equal sign (=) instead of double equal sign (==) in metric value assignment #1'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"} = 1.1940298507220641
request: label
output: cpu
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): single equal sign (=) instead of double equal sign (==) in metric value assignment #2'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"} = 1.1940298507220641
request: value
output: ""
out:
result: FAIL
---
test case: 'More than one metric (2) corresponds to the given params'
in:
data: |
wmi_service_state{name="devicesflowusersvc_7b100",state="running"} 1
wmi_service_state{name="devicesflowusersvc_7b100",state="start pending"} 0
wmi_service_state{name="devicesflowusersvc_7b100",state="stop pending"} 0
wmi_service_state{name="devicesflowusersvc_7b100",state="stopped"} 0
wmi_service_state{name="devicesflowusersvc_7b100",state="unknown"} 0
wmi_service_state{name="dhcp",state="continue pending"} 0
wmi_service_state{name="dhcp",state="pause pending"} 0
wmi_service_state{name="dhcp",state="paused"} 0
wmi_service_state{name="dhcp",state="running"} 1
wmi_service_state{name="dhcp",state="start pending"} 0
wmi_service_state{name="dhcp",state="stop pending"} 0
wmi_service_state{name="dhcp",state="stopped"} 1
wmi_service_state{name="dhcp",state="unknown"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="continue pending"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="pause pending"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="paused"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="running"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="start pending"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="stop pending"} 0
wmi_service_state{name="diagnosticshub.standardcollector.service",state="stopped"} 1
wmi_service_state{name="diagnosticshub.standardcollector.service",state="unknown"} 0
params: wmi_service_state{name="dhcp"} == 1
request: label
output: state
out:
result: FAIL
---
test case: 'All metrics (8) correspond to the given params'
in:
data: |
wmi_service_state{name="dhcp",state="continue pending"} 1
wmi_service_state{name="dhcp",state="pause pending"} 1
wmi_service_state{name="dhcp",state="paused"} 1
wmi_service_state{name="dhcp",state="running"} 1
wmi_service_state{name="dhcp",state="start pending"} 1
wmi_service_state{name="dhcp",state="stop pending"} 1
wmi_service_state{name="dhcp",state="stopped"} 1
wmi_service_state{name="dhcp",state="unknown"} 1
params: wmi_service_state{name="dhcp"} == 1
request: label
output: state
out:
result: FAIL
---
test case: 'All metrics (16) correspond to the given params'
in:
data: |
wmi_service_state{name="dhcp",state="continue pending"} 1
wmi_service_state{name="dhcp",state="pause pending"} 1
wmi_service_state{name="dhcp",state="paused"} 1
wmi_service_state{name="dhcp",state="running"} 1
wmi_service_state{name="dhcp",state="start pending"} 1
wmi_service_state{name="dhcp",state="stop pending"} 1
wmi_service_state{name="dhcp",state="stopped"} 1
wmi_service_state{name="dhcp",state="unknown"} 1
wmi_service_state{name="dhcp",state="continue pending"} 1
wmi_service_state{name="dhcp",state="pause pending"} 1
wmi_service_state{name="dhcp",state="paused"} 1
wmi_service_state{name="dhcp",state="running"} 1
wmi_service_state{name="dhcp",state="start pending"} 1
wmi_service_state{name="dhcp",state="stop pending"} 1
wmi_service_state{name="dhcp",state="stopped"} 1
wmi_service_state{name="dhcp",state="unknown"} 1
params: wmi_service_state{name="dhcp"} == 1
request: label
output: state
out:
result: FAIL
---
test case: 'Multiple metrics (16 of 18) correspond to the given params'
in:
data: |
wmi_service_state{name="dhcp",state="continue pending"} 0
wmi_service_state{name="dhcp",state="continue pending"} 1
wmi_service_state{name="dhcp",state="pause pending"} 1
wmi_service_state{name="dhcp",state="paused"} 1
wmi_service_state{name="dhcp",state="running"} 1
wmi_service_state{name="dhcp",state="start pending"} 1
wmi_service_state{name="dhcp",state="stop pending"} 1
wmi_service_state{name="dhcp",state="stopped"} 1
wmi_service_state{name="dhcp",state="unknown"} 1
wmi_service_state{name="dhcp",state="continue pending"} 1
wmi_service_state{name="dhcp",state="pause pending"} 1
wmi_service_state{name="dhcp",state="paused"} 1
wmi_service_state{name="dhcp",state="running"} 1
wmi_service_state{name="dhcp",state="start pending"} 1
wmi_service_state{name="dhcp",state="stop pending"} 1
wmi_service_state{name="dhcp",state="stopped"} 1
wmi_service_state{name="dhcp",state="unknown"} 1
wmi_service_state{name="dhcp",state="unknown"} 0
params: wmi_service_state == 1
request: label
output: state
out:
result: FAIL
---
test case: 'Metric with "Nan" value'
in:
data: wmi_os_physical_memory_free_bytes Nan
params: wmi_os_physical_memory_free_bytes
request: value
output: ""
out:
result: SUCCEED
output: Nan
---
test case: 'Metric with "+Inf" value'
in:
data: wmi_os_physical_memory_free_bytes +Inf
params: wmi_os_physical_memory_free_bytes
request: value
output: ""
out:
result: SUCCEED
output: +Inf
---
test case: 'Metric with "-Inf" value'
in:
data: wmi_os_physical_memory_free_bytes -Inf
params: wmi_os_physical_memory_free_bytes
request: value
output: ""
out:
result: SUCCEED
output: -Inf
---
test case: 'Invalid metric (expected "fail"): metric with "NAN" value'
in:
data: wmi_os_physical_memory_free_bytes NAN
params: wmi_os_physical_memory_free_bytes
request: value
output: ""
out:
output: NAN
result: SUCCEED
---
test case: 'Metric with timestamp'
in:
data: wmi_os_physical_memory_free_bytes 8.492331008e+09 25
params: wmi_os_physical_memory_free_bytes
request: value
output: ""
out:
result: SUCCEED
output: 8.492331008e+09
---
test case: 'Invalid metric (expected "succeed"): additional value after timestamp'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641 25 66
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Metric with negative timestamp'
in:
data: http_requests_total{method="post",code="200"} 1027 -123
params: http_requests_total
request: value
output: ""
out:
result: SUCCEED
output: 1027
---
test case: 'Metric with negative value'
in:
data: http_requests_total{method="post",code="200"} -1027
params: http_requests_total
request: value
output: ""
out:
result: SUCCEED
output: -1027
---
test case: 'Multilne metric with negative value (multiline metric)'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} -654
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: '{__name__=~"cpu_usage_syst.+",cpu=~"cpu-tot.+"}'
request: value
output: ""
out:
result: SUCCEED
output: -654
---
test case: 'The __name__ identifier is specified as last in params #1'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: '{cpu="cpu-total",__name__="cpu_usage_system"}'
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'The __name__ identifier is specified as last in params #2'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: '{cpu=~"cpu-tot.+",__name__=~"cpu_usage_syst.+"}'
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Label name set in value_type is not present in the metrics'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: label
output: something
out:
result: FAIL
---
test case: 'Get metric value using params: "cpu_usage_system{__name__=~"cpu_usage_syst.+",cpu=~"cpu-tot.+"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.19402985
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: 'cpu_usage_system{__name__=~"cpu_usage_syst.+",cpu=~"cpu-tot.+"}'
request: value
output: ""
out:
result: FAIL
---
test case: 'Get metric value using params: "cpu_usage_system{__name__=~"cpu_age_syst.+",cpu=~"cpu-tot.+"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.19402985
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: 'cpu_usage_system{__name__=~"cpu_age_syst.+",cpu=~"cpu-tot.+"}'
request: value
output: ""
out:
result: FAIL
---
test case: 'Random characters in value_type'
in:
data: |
# HELP wmi_logical_disk_free_bytes Free space in bytes (LogicalDisk.PercentFreeSpace)
# TYPE wmi_logical_disk_free_bytes gauge
wmi_logical_disk_free_bytes{volume="C:"} 3.5180249088e+11
params: wmi_logical_disk_free_bytes
request: label
output: \\&{},.13%},.
out:
result: FAIL
---
test case: 'Invalid metric (expected "succeed"): multiple HELP lines'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# HELP cpu_usage_system collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Invalid metric (expected "succeed"): multiple TYPE:untyped lines'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system untyped
# TYPE cpu_usage_system untyped
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Invalid metric (expected "succeed"): unsupported TYPE'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system something
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Invalid metric (expected "succeed"): only one argument for TYPE'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Invalid metric (expected "succeed"): empty TYPE'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Multiple spaces before metric value'
in:
data: wmi_os_physical_memory_free_bytes 8.492331008e+09
params: wmi_os_physical_memory_free_bytes
request: value
output: ""
out:
result: SUCCEED
output: 8.492331008e+09
---
test case: 'Invalid metric (expected "succeed"): empty HELP'
in:
data: |
# HELP
cpu_usage_system{cpu="cpu-total"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Invalid metric (expected "fail"): unsupported characters in label name'
in:
data: cpu_usage_system{cp%^&u="cpu-total"} 1.1940298507220641
params: cpu_usage_system{cp%^&u="cpu-total"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Get metric value using params: "wmi_os_timezone"'
in:
data: |
# HELP wmi_os_timezone OperatingSystem.LocalDateTime
# TYPE wmi_os_timezone gauge
wmi_os_timezone{timezone="MSK"} 1
params: wmi_os_timezone
request: label
output: timezone
out:
result: SUCCEED
output: 'MSK'
---
test case: 'Metric name consists of all supported characters'
in:
data: AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz:_0123456789 1
params: AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz:_0123456789
request: value
output: ""
out:
result: SUCCEED
output: 1
---
test case: 'Label name consists of all supported characters'
in:
data: cpu_usage_system{AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz_0123456789="test"} 1
params: cpu_usage_system == 1
request: label
output: AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz_0123456789
out:
result: SUCCEED
output: 'test'
---
test case: 'Invalid params (expected "fail"): regular expression but without prefix "~"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total",host=".*"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): wrong regular expression'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu-total",host=~"[0-9"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): unsupported identifier __cpu__ #1'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} -654
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: '{__name__="cpu_usage_system",__cpu__="cpu-total"}'
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): unsupported identifier __cpu__ #2'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} -654
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: '{__name__=~"cpu_usage_syst.+",__cpu__=~"cpu-tot.+"}'
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): incorrect float'
in:
data: wmi_logical_disk_free_bytes{volume="D:"} 8.49233.1008e+09
params: wmi_logical_disk_free_bytes
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): "{}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cputotal"} 1.1940298507220641
cpu_usage_system{cpu="cpu0"} 1.1940298507220641
cpu_usage_system{cpu="cpu1"} 1.1340298507220641
params: '{}'
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): "a{}"'
in:
data: |
# HELP a Telegraf collected metric
# TYPE a gauge
a{cpu="cputotal"} 1.1940298507220641
a{cpu="cpu0"} 1.1940298507220641
a{cpu="cpu1"} 1.1340298507220641
params: a{}
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid metric (expected "fail"): "{}"'
in:
data: '{}'
params: metric
request: value
output: ""
out:
result: FAIL
---
test case: 'Get metric value using params: "wmi_os_timezone{timezone="MSK"} == -1"'
in:
data: |
# HELP wmi_os_timezone OperatingSystem.LocalDateTime
# TYPE wmi_os_timezone gauge
wmi_os_timezone{timezone="MSK"} -1
params: wmi_os_timezone{timezone="MSK"} == -1
request: value
output: ""
out:
result: SUCCEED
output: -1
---
test case: 'Get label value using regular expression for date #1'
in:
data: |
random_date{year="2019",month="february",day="02/12/2019"} 1
random_date{year="2019",month="march",day="03/07/2019"} 2
params: random_date{year="2019",day=~"^([0-2][0-9]|(3)[0-1])(\\/)(((0)[0-9])|((1)[0-2]))(\\/)\\d{4}$"} == 1
request: label
output: month
out:
result: SUCCEED
output: 'february'
---
test case: 'Get label value using regular expression for date #2'
in:
data: |
random_date{year="2019",month="february",day="02/12/2019"} 1
random_date{year="2019",month="march",day="03/07/2019"} 2
params: random_date{year="2019",day=~"^([0-2][0-9]|(3)[0-1])(\\/)(((0)[0-9])|((1)[0-2]))(\\/)\\d{4}$"} == 2
request: label
output: month
out:
result: SUCCEED
output: 'march'
---
test case: 'Get label value using regular expression for date #3'
in:
data: |
random_date{year="2019",month="february",day="02/12/2019"} 1
random_date{year="2019",month="march",day="03/07/2019"} 2
params: random_date{year="2019",day=~"^([0-2][0-9]|(3)[0-1])(\\/)(((0)[0-9])|((1)[0-2]))(\\/)\\d{4}$"} == 2
request: label
output: day
out:
result: SUCCEED
output: '03/07/2019'
---
test case: 'Get label value using regular expression for date #4'
in:
data: |
random_date{year="2019",month="february",day="02/12/2019"} 1
random_date{year="2019",month="march",day="03-07-2019"} 2
params: random_date{year="2019",day=~"^([0-2][0-9]|(3)[0-1])(\\/)(((0)[0-9])|((1)[0-2]))(\\/)\\d{4}$"} == 2
request: label
output: day
out:
result: FAIL
---
test case: 'Get label value using regular expression for date #5'
in:
data: |
random_date{year="2019",month="february",day="02/12/2019"} 1
random_date{year="2019",month="march",day="03/07/2019"} 2
params: random_date{year="2019",day=~"^([0-2][0-9]|(3)[0-1])(\\/)(((0)[0-9])|((1)[0-2]))(\\/)\\d{4}$"}
request: label
output: day
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): double equal sign (==) is missing'
in:
data: |
# HELP wmi_os_timezone OperatingSystem.LocalDateTime
# TYPE wmi_os_timezone gauge
wmi_os_timezone{timezone="MSK"} 1
params: wmi_os_timezone 1
request: value
output: ""
out:
result: FAIL
---
test case: 'Get label value using regular expression for email address #1'
in:
data: |
some_user{country="lv",addr="user1@domain.com"} 1
some_user{country="lv",addr="user2@domain.org"} 2
some_user{country="lv",addr="no_valid_addr"} 2
params: some_user{country="lv",addr=~"[-\\w\\.]+@([\\w-]+\\.)+[\\w-]{2,4}"} == 1
request: label
output: addr
out:
result: SUCCEED
output: 'user1@domain.com'
---
test case: 'Get label value using regular expression for email address #2'
in:
data: |
some_user{country="lv",addr="user1@domain.com"} 1
some_user{country="lv",addr="user2@domain.org"} 2
some_user{country="lv",addr="no_valid_addr"} 2
params: some_user{country="lv",addr=~"^[-\\w\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$"} == 2
request: label
output: addr
out:
result: SUCCEED
output: 'user2@domain.org'
---
test case: 'Get label value using regular expression for email address #3'
in:
data: |
some_user{country="lv",addr="user1@domain.com"} 1
some_user{country="lv",addr="user2@domain.org"} 2
some_user{country="lv",addr="no_valid_addr"} 3
params: some_user{country="lv",addr=~"^[-\\w\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$"} == 3
request: label
output: addr
out:
result: FAIL
---
test case: 'Get metric value using regular expression for email address'
in:
data: |
some_user{country="lv",addr="user1@domain.com"} 1
some_user{country="lv",addr="user2@domain.org"} 2
some_user{country="lv",addr="no_valid_addr"} 3
params: some_user{country="lv",addr=~"^[-\\w\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$"}
request: value
output: ""
out:
result: FAIL
---
test case: 'Label value holds "{"'
in:
data: cpu_usage_system{cpu="cpu{total"} 1.1940298507220641
params: cpu_usage_system{cpu="cpu{total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Label value holds "{}"'
in:
data: cpu_usage_system{cpu="cpu{}total"} 1.1940298507220641
params: cpu_usage_system{cpu="cpu{}total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Label value holds "}"'
in:
data: cpu_usage_system{cpu="cpu}total"} 1.1940298507220641
params: cpu_usage_system{cpu="cpu}total"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Label value holds ","'
in:
data: important_metric{important_number="42,0"} 42
params: important_metric{important_number="42,0"}
request: value
output: ""
out:
result: SUCCEED
output: 42
---
test case: 'Get label value (cpu) using params: "cpu_usage_system{cpu="cpu{total"} == 1.1940298507220641"'
in:
data: cpu_usage_system{cpu="cpu{total"} 1.1940298507220641
params: cpu_usage_system{cpu="cpu{total"} == 1.1940298507220641
request: label
output: cpu
out:
result: SUCCEED
output: 'cpu{total'
---
test case: 'Get label value (cpu) using params: "cpu_usage_system{cpu="cpu}total"} == 1.1940298507220641"'
in:
data: cpu_usage_system{cpu="cpu}total"} 1.1940298507220641
params: cpu_usage_system{cpu="cpu}total"} == 1.1940298507220641
request: label
output: cpu
out:
result: SUCCEED
output: 'cpu}total'
---
test case: 'Metric with five values'
in:
data: cpu_usage_system{cpu="cputotal"} 1.1940298507220641 2.23443 333 four five
params: cpu_usage_system{cpu="cputotal"} == 1.1940298507220641
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Different metrics under one HELP/TYPE header #1'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
wmi_os_timezone{timezone="MSK"} 1
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: cpu_usage_system{cpu="cpu1",host=~".*"}
request: value
output: ""
out:
result: SUCCEED
output: 1.1340298507220641
---
test case: 'Different metrics under one HELP/TYPE header #2'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
wmi_os_timezone{timezone="MSK"} 1
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: wmi_os_timezone
request: value
output: ""
out:
result: SUCCEED
output: 1
---
test case: 'Metrics of different type #1'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
# HELP http_requests_total The total number of HTTP requests.
# TYPE http_requests_total counter
http_requests_total{method="post",code="200"} 1027 1395066363000
http_requests_total{method="post",code="400"} 3 1395066363000
params: http_requests_total == 3
request: label
output: code
out:
result: SUCCEED
output: 400
---
test case: 'Metrics of different type #2'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
# HELP http_requests_total The total number of HTTP requests.
# TYPE http_requests_total counter
http_requests_total{method="post",code="200"} 1027 1395066363000
http_requests_total{method="post",code="400"} 3 1395066363000
params: '{cpu="cpu0"}'
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Metrics of different type #3'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
# HELP http_requests_total The total number of HTTP requests.
# TYPE http_requests_total counter
http_requests_total{method="post",code="200"} 1027 1395066363000
http_requests_total{method="post",code="400",host="host1"} 3 1395066363000
params: '{host="host1"}'
request: value
output: ""
out:
result: FAIL
---
test case: 'Get metric value using params: "cpu_usage_system { cpu = "cpu-total" , host = "host1",perf="100" }"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1",perf="100"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1",perf="100"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1",perf="100"} 1.1340298507220641
params: cpu_usage_system { cpu = "cpu-total" , host = "host1",perf="100" }
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Invalid params (expected "fail"): no spaces around double equal sign (==)'
in:
data: |
# HELP http_requests_total The total number of HTTP requests.
# TYPE http_requests_total counter
http_requests_total{method="post2",code="200"} 1027 1395066363000
http_requests_total{method="post1",code="400"} 3 1395066363000
params: http_requests_total{code="400"}==3
request: label
output: "method"
out:
result: SUCCEED
output: post1
---
test case: 'Get metric value using params: "http_requests_total{code="400"} == 3"'
in:
data: |
# HELP http_requests_total The total number of HTTP requests.
# TYPE http_requests_total counter
http_requests_total{method="post1",code="200"} 1027 1395066363000
http_requests_total{method="post2",code="400"} 3 1395066363000
params: http_requests_total{code="400"} == 3
request: label
output: "method"
out:
result: SUCCEED
output: post2
---
test case: 'Invalid metric (expected "fail"): metric with string value'
in:
data: wmi_os_physical_memory_free_bytes some_value
params: wmi_os_physical_memory_free_bytes
request: value
output: ""
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): metric with string value'
in:
data: |
# HELP wmi_os_timezone OperatingSystem.LocalDateTime
# TYPE wmi_os_timezone gauge
wmi_os_timezone{timezone="MSK"} 1
params: wmi_os_timezone{timezone="MSK"} == some_value
request: label
output: "timezone"
out:
result: FAIL
---
test case: 'Invalid params (expected "fail"): __name__ identifier is specified twice'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1"} 1.1940298507220641
cpu_usage_system{cpu="cpu1",host="host1"} 1.1340298507220641
params: '{__name__=~".*",cpu="cpu-total",__name__="cpu_usage_system"}'
request: value
output: ""
out:
result: FAIL
---
test case: 'Get metric value using params: "{cpu=~".*",cpu=~"cpu-tot.+",perf="100"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1",perf="100"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1",perf="100"} 1.1640298507220641
cpu_usage_system{cpu="cpu1",host="host1",perf="100"} 1.1340298507220641
params: '{cpu=~".*",cpu=~"cpu-tot.+",perf="100"}'
request: value
output: ""
out:
result: SUCCEED
output: 1.1940298507220641
---
test case: 'Get metric value using params: "{cpu=~"z.+",cpu=~"cpu-tot.+",perf="100"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1",perf="100"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1",perf="100"} 1.1640298507220641
cpu_usage_system{cpu="cpu1",host="host1",perf="100"} 1.1340298507220641
params: '{cpu=~"z.+",cpu=~"cpu-tot.+",perf="100"}'
request: value
output: ""
out:
result: FAIL
---
test case: 'Get metric value using params: "{cpu=~"z.+",cpu=~"y.+",perf="100"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1",perf="100"} 1.1940298507220641
cpu_usage_system{cpu="cpu0",host="host1",perf="100"} 1.1640298507220641
cpu_usage_system{cpu="cpu1",host="host1",perf="100"} 1.1340298507220641
params: '{cpu=~"z.+",cpu=~"y.+",perf="100"}'
request: value
output: ""
out:
result: FAIL
---
test case: 'Apply INF metric filter on multiple inf values'
in:
data: |
apache{state="red"} Inf
apache{state="yellow"} 0
apache{state="green"} inf
params: apache == INF
request: value
output: ""
out:
result: FAIL
---
test case: 'Apply INF metric filter on multiple inf values (2)'
in:
data: |
apache{state="red"} Inf
apache{state="yellow"} 0
apache{state="green"} +inf
params: apache == INF
request: value
output: ""
out:
result: FAIL
---
test case: 'Apply INF metric filter on multiple nan values '
in:
data: |
apache{state="red"} NaN
apache{state="yellow"} 0
apache{state="green"} nan
params: apache == NAN
request: value
output: ""
out:
result: FAIL
---
test case: 'Apply INF metric filter on matching inf value'
in:
data: |
apache{state="red"} Inf
apache{state="yellow"} 0
apache{state="green"} 0
params: apache == INF
request: label
output: state
out:
result: SUCCEED
output: red
---
test case: 'Apply INF metric filter on matching inf value (2)'
in:
data: |
apache{state="red"} Inf
apache{state="yellow"} 0
apache{state="green"} 0
params: apache == +INF
request: label
output: state
out:
result: SUCCEED
output: red
---
test case: 'Apply INF metric filter on matching inf value (3)'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} -Inf
apache{state="green"} 0
params: apache == -INF
request: label
output: state
out:
result: SUCCEED
output: yellow
---
test case: 'Apply INF metric filter on matching inf value (4)'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} NaN
apache{state="green"} 0
params: apache == -INF
request: label
output: state
out:
result: FAIL
---
test case: 'Apply INF metric filter on matching nan value'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 0
apache{state="green"} NaN
params: apache == NAN
request: label
output: state
out:
result: SUCCEED
output: green
---
test case: 'Apply 1 metric filter on 1.0 value'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 0
apache{state="green"} 1.0
params: apache == 1
request: label
output: state
out:
result: SUCCEED
output: green
---
test case: 'Apply 10 metric filter on 1e1 value'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 0
apache{state="green"} 1e1
params: apache == 10
request: label
output: state
out:
result: SUCCEED
output: green
---
test case: 'Apply 125 metric filter on 1.25e2 value'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 0
apache{state="green"} 1.25e2
params: apache == 125
request: label
output: state
out:
result: SUCCEED
output: green
---
test case: 'Apply 00.0100 metric filter on 1e-2 value'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 0
apache{state="green"} 1e-2
params: apache == 00.0100
request: label
output: state
out:
result: SUCCEED
output: green
---
test case: 'Apply 125 metric filter on multiple matching values'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 1.25e2
apache{state="green"} 12500e-2
params: apache == 125
request: label
output: state
out:
result: FAIL
---
test case: 'Apply 1 metric filter on +1 value'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 0
apache{state="green"} +1
params: apache == 1
request: label
output: state
out:
result: SUCCEED
output: green
---
test case: 'Apply +1 metric filter on +1 value'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 0
apache{state="green"} +1
params: apache == +1
request: label
output: state
out:
result: SUCCEED
output: green
---
test case: 'Apply +1 metric filter on 1 value'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 0
apache{state="green"} 1
params: apache == +1
request: label
output: state
out:
result: SUCCEED
output: green
---
test case: 'Apply +1 metric filter on -1 value'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 0
apache{state="green"} -1
params: apache == +1
request: label
output: state
out:
result: FAIL
---
test case: 'Apply -1 metric filter on +1 value'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 0
apache{state="green"} +1
params: apache == -1
request: label
output: state
out:
result: FAIL
---
test case: 'Apply -1 metric filter on +1 value'
in:
data: |
cpu_usage_system{cpu="cpu-total",state="23",host="host1"} inf
cpu_usage_system{cpu="cpu0",state="10",host="host2"} nan
cpu_usage_system{cpu="cpu1",state="88",host="host3"} 3.5180249088e+11
params: cpu_usage_system==3.5180249088e+11
request: value
output: ""
out:
result: SUCCEED
output: 3.5180249088e+11
---
test case: 'Check != operator'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.23456
cpu_usage_system{cpu="cpu0",host="host1"} 7.891011
params: cpu_usage_system{cpu!="cpu-total"}
request: value
output: ""
out:
result: SUCCEED
output: 7.891011
---
test case: 'Check !~ operator'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total",host="host1"} 1.23456
cpu_usage_system{cpu="cpu0",host="host1"} 7.891011
params: cpu_usage_system{cpu!~"total$"}
request: value
output: ""
out:
result: SUCCEED
output: 7.891011
---
test case: 'Count the metrics'
in:
data: |
apache{state="red"} 0
apache{state="yellow"} 0
apache{state="green"} 1
params: apache
request: function
output: count
out:
result: SUCCEED
output: 3
---
test case: 'Sum metric values using params: "cpu_usage_system{cpu=~"cpu-total"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total"} 100.0
cpu_usage_system{cpu="cpu0"} 60.0
cpu_usage_system{cpu="cpu1"} 40.0
params: cpu_usage_system{cpu=~"cpu[0-9]+"}
request: function
output: sum
out:
result: SUCCEED
output: 100
---
test case: 'Avg metric values using params: "cpu_usage_system{cpu=~"cpu-total"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total"} 100.0
cpu_usage_system{cpu="cpu0"} 60.0
cpu_usage_system{cpu="cpu1"} 40.0
params: cpu_usage_system{cpu=~"cpu[0-9]+"}
request: function
output: avg
out:
result: SUCCEED
output: 50
---
test case: 'Min metric values using params: "cpu_usage_system{cpu=~"cpu-total"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total"} 100.0
cpu_usage_system{cpu="cpu0"} 60.0
cpu_usage_system{cpu="cpu1"} 40.0
params: cpu_usage_system{cpu=~"cpu[0-9]+"}
request: function
output: min
out:
result: SUCCEED
output: 40
---
test case: 'Max metric values using params: "cpu_usage_system{cpu=~"cpu-total"}"'
in:
data: |
# HELP cpu_usage_system Telegraf collected metric
# TYPE cpu_usage_system gauge
cpu_usage_system{cpu="cpu-total"} 100.0
cpu_usage_system{cpu="cpu0"} 60.0
cpu_usage_system{cpu="cpu1"} 40.0
params: cpu_usage_system{cpu=~"cpu[0-9]+"}
request: function
output: max
out:
result: SUCCEED
output: 60
...