私の仕事の性質上、私は常に異なる部門の間にいます-私自身が私が誰であるかを知らないので、私は私の電子メールに私が誰であるかという署名さえありません。私は最近、PRODを使用したパフォーマンスメトリクスSQLサーバーの開発者への配信を自動化しました。
特定の情報(SQLパフォーマンスメトリック)は重要ではありません。これは任意の情報に対して実行でき、グラフを描画することもできます。グラフはメールで送信され、Outlookのメールウィンドウでは次のようになります。
, , -, :
! ? , c? Web , , Grafana - ", "? , ASCII art-.
, , . . , , enterprise, .
-, PRODUCTION Enterprise (, CA PAM , copy/paste ). - , , .
-, , Grafana? , . " SQL PROD ". -, , ( security team) .
, on-prem, , . AWS ( PROD), , Department Billing Code, . , . Enterprise , - .
, email . , Grafana , screenshots. - . , ( - Junk )
connectivity (, , , ), , deploy (Jenkins, Octopus etc). - . , :
" - " (c) , Jenkins server, Job:
Jenkins powershell (, powershell Linux!) . performance , . :
makeChart $find @('3Read latency, microseconds','2Write Latency, microseconds') 'IO latency' 'Time' 'Times in microseconds' 'latency'
$find data set, . . makeChart:
# Xgraph colors
# 2 = red, 3 = blue, 4 = green, 5 = violet, 6 = orange, 7 = yellow, 8 = pink, 9 = cyan
function makeChart($ds, $cols, $title, $titleX, $titleY, $pngname)
{
Out-File -FilePath $workfile -Force -Encoding ascii
"Title = $title" | Add-Content $workfile
"title_x = $titleX" | Add-Content $workfile
"title_y = $titleY" | Add-Content $workfile
$maxval = 0
foreach ($c in $cols)
{
$colname = $c.Substring(1)
$colch = $c[0]
"color = $colch" | Add-Content $workfile
$secf = -1
foreach ($r in $find) {
$val = $r[$colname]
if ($val -gt $maxval) { $maxval = $val }
if ($secf -lt 0) { $secf = $r.sec }
$secl = $r.sec
"$secl $val" | Add-Content $workfile
}
"NEXT" | Add-Content $workfile
}
$maxval = $maxval * 1.03
- . ? Xgraph. 90 , , Unicode (-Encoding ascii). - , ! , . Xgraph:
&D:\Apps\Xgraph\bin\xgraph.exe $workfile -pdf -hms -x_range $secf $secl -y_range 0 $maxval -out_file $pdf
, y, x ( ), (-hms) ... pdf . attachment, , . Poppler pdf png.
&D:\Apps\poppler\bin\pdftoppm -png $pdf $pngname
:
ここでもエクストリームプログラミングがあります-ポストスピルのベアでクリーンなHTMLがあります-CSSもJavaScriptも、何もありません。pngの名前には「-1」が含まれていることに注意してください。これが最初のページです(この場合はこれだけです)。
同様の計画のもう1つのユーティリティがあり、テキストの説明に従ってグラフを描画できます:graphviz。それはすでにpngとjpgに直接出力することができます:
これは例です。別のジョブで、ロックグラフをユーザーに返します。