Prometheus time unittest

็พๅœจใฎ unixtime ใ‚’่ฟ”ใ—ใฆใใ‚Œใ‚‹ time() ใ‚’ไฝฟใฃใŸใจใใฎ Prometheus Unittest ใฎๆ›ธใๆ–นใงใ™๏ผŽ

ใ‚ˆใใ‚ใ‚‹ใฎใฏ SSL ่จผๆ˜Žๆ›ธใŒๅˆ‡ใ‚Œใใ†ใชใจใใ‚ขใƒฉใƒผใƒˆใ‚’็™บ็ ดใ—ใŸใ„ใจใ„ใ†ๆ™‚ใ‹ใจๆ€ใ„ใพใ™๏ผŽ
ใ“ใฎใ‚ขใƒฉใƒผใƒˆใฎใƒ†ใ‚นใƒˆใ‚’ใ—ใŸใ„ใจๆ€ใฃใŸใจใ๏ผŒtime() ใ‚’ใฉใ† mock ใ™ใ‚‹ใ‹ใฟใŸใ„ใชใ“ใจใ‚’่€ƒใˆใ‚‹ใ‹ใจๆ€ใ„ใพใ™๏ผŽ

rules:
  - alert: SSLCertExpiringSoon
    expr: probe_ssl_earliest_cert_expiry - time() < 86400 * 3
    for: 1m

็ญ”ใˆใฏใ ใ„ใŸใ„ไธ‹่จ˜ใฎ issue ใซๆ›ธใ„ใฆใ‚ใ‚Šใพใ™๏ผŽeval_time ใŒ 0s ใฎๆ™‚ time() ใฏ 0 ใ‚’๏ผŒไพ‹ใˆใฐ 1m ใฎๆ™‚ใฏ 60 ใ‚’่ฟ”ใ™ใ‚ˆใ†ใซใชใฃใฆใ„ใ‚‹ใ‚ˆใ†ใงใ™๏ผŽ
promtool unittests fail with rate() & time() ยท Issue #4817 ยท prometheus/prometheus
You can’t perform that action at this time. You signed in with another tab or window. You signed out in another tab orโ€ฆ

github.com

ใจใ„ใ†ใ“ใจใงใ“ใ‚“ใชๆ„Ÿใ˜ใซๆ›ธใ‘ใ‚‹ใจๆ€ใ„ใพใ™๏ผŽ

- interval: 15s
  input_series:
  - series: probe_ssl_earliest_cert_expiry
    values: 0+0x100
  alert_rule_test:
  - alertname: SSLCertExpiringSoon
    eval_time: 0s
    exp_alerts: []
  - alertname: SSLCertExpiringSoon
    eval_time: 90s
    exp_alerts:
      - exp_labels:
          severity: warning