Pela natureza do meu trabalho, estou sempre entre departamentos diferentes - nem sequer tenho uma assinatura no meu e-mail quem sou, porque eu próprio não sei quem sou. Recentemente, automatizei a entrega de métricas de desempenho do servidor SQL com PROD para desenvolvedores.
Informações específicas (métricas de desempenho SQL) não são importantes, você pode fazer isso para qualquer informação e até mesmo desenhar gráficos. Os gráficos são enviados por e-mail e têm a seguinte aparência na janela de e-mail do 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
:
Aqui está a programação extrema de novo - nós temos o HTML puro e limpo do post spill - sem CSS, sem javascript e absolutamente nada. Observe que png tem '-1' em seu nome, esta é a primeira página (é a única neste caso).
Existe mais uma utilidade de um plano semelhante, permite desenhar gráficos de acordo com a sua descrição de texto: graphviz . Ele já pode enviar diretamente para png e jpg:
Este é um exemplo, já que em outro trabalho eu retorno o gráfico de bloqueio para os usuários.