Golang Arg / CABA
Meetup #5
go-carbon
Ezequiel Maraschio
Graphite
Metric
Graphite Architecture
go-carbon
$ go-carbon --help
Usage of go-carbon:
-check-config=false: Check config and exit
-config="": Filename of config
-config-print-default=false: Print default
config
-daemon=false: Run in background
-pidfile="": Pidfile path (only for daemon)
-version=false: Print version
#go-carbon config file
[tcp]
listen = ":2003"
enabled = true
# Optional internal queue between receiver and cache
buffer-size = 0
[whisper]
data-dir = "/data/graphite/whisper/"
#http://graphite.readthedocs.org/en/latest/config-
carbon.html#storage-schemas-conf. Required
schemas-file = "/data/graphite/schemas"
Real work example
Real Time Bidding
Resources
https://github.com/lomik/go-carbon
https://github.com/graphite-project/carbon
http://graphite.readthedocs.io/en/latest/
http://www.aosabook.org/en/graphite.html

Golang Arg / CABA Meetup #5 - go-carbon

Editor's Notes

  • #3 Opinion Personal Soy nuevo en esto No me voy a extender mucho / después podemos charlar ------------------------------------------------------------------------------------------ Personal opinion New on go lang
  • #4 Herramienta de monitoreo que tiene 2 tareas simples -> Guardar series que cambian en el tiempo (metricas) y graficarlas. Brinda esta funcionalidad como servicio de red / Es fácil de usar y altamente escalable Lo usa github, canonical y rubicon ------------------------------------------------------------------------------------------ Real time monitoring tool 2 simple tasks -> storing numbers that change over time and graphing them Provides this functionality as a network service that is both easy to use and highly scalable
  • #5 Metric name Value Timestamp
  • #7 Carbon: Demonio que se encarga de escribir los chunks de data / metricas -> python Whisper: DB custom Client: Web App / django ------------------------------------------------------------------------------------------ Carbon: Daemon who cares about write on data chunks metrics / Python Whisper: DB custom Client: Web App / django
  • #8 Se encarga de escribir / tomar las metricas del cliente y guardarlas ------------------------------------------------------------------------------------------ Handles the metrics (datapoints) from client and store them
  • #9 MUY performante Mientras más, mejor Podemos capturar / registrar más eventos
  • #10 Lo + importante Hacerlo correr como daemon, setear el path de la config para decirle a donde va a escribir y donde escucha ------------------------------------------------------------------------------------------
  • #11 Lo + importante Hacerlo correr como daemon, setear el path de la config para decirle a donde va a escribir y donde escucha ------------------------------------------------------------------------------------------
  • #13 Como se vende y compra inventario en sitios / mobile apps por medio de una subasta ( similar a los mercados financieros ) ------------------------------------------------------------------------------------------ How Advertising inventory is bought & sold via auction similar to financial markets
  • #14 Azul -> Piso promedio de la subasta en el proveedor nexage ------------------------------------------------------------------------------------------ Blue -> Bid Floor average
  • #15 Azul -> Piso promedio de la subasta en el proveedor nexage Verde -> Lo que estamos dispuestos a pagar Rojo -> Cuántas veces ganamos ------------------------------------------------------------------------------------------ Blue -> Bid floor average on nexage Green -> our bid price to make the deal Red -> How many wins we have
  • #16 Azul -> Piso promedio de la subasta en el proveedor nexage Green -> Lo que estamos dispuestos a pagar ------------------------------------------------------------------------------------------ Blue -> Bid floor average nexage Green -> our bid price to make the deal