Gráfico de e-mail não é arte ASCII para você

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.








All Articles