通知器

概觀

將 LoadDensity 執行摘要透過 incoming webhook 推送至 Slack 與 Microsoft Teams;network I/O 可由 poster= 參數注入 mock 以便測試。

Slack(Block Kit)

from je_load_density import post_slack_summary

post_slack_summary(
    webhook_url="https://hooks.slack.com/services/T000/B000/XXXX",
    title="Smoke run",
)

預設使用當前 build_summary() 的內容(總請求、失敗、失敗率、p95 latency 四項 field)。

Teams(MessageCard)

from je_load_density import post_teams_summary

post_teams_summary(
    webhook_url="https://outlook.office.com/webhook/...",
    title="Smoke run",
)

使用 legacy MessageCard schema,office 365 webhook 都吃。

Datadog DogStatsD

from je_load_density import start_statsd_sink, stop_statsd_sink

start_statsd_sink(host="dogstatsd", port=8125, prefix="loaddensity")
# ... 跑 action ...
stop_statsd_sink()

每筆請求三個封包:requests:1|crequest.latency:N|msresponse.size:N|h,皆帶 method / name / outcome tag; 純 UDP,不需 SDK 相依。

Action JSON 指令

指令

說明

LD_post_slack_summary

將 Block Kit 摘要 POST 到 Slack webhook

LD_post_teams_summary

將 MessageCard 摘要 POST 到 Teams webhook

LD_start_statsd_sink / LD_stop_statsd_sink

啟用 / 停用 DogStatsD UDP 推送