anchor.diff:  captures the required data and sends it to the publisher via the `events`
   channel.
   
  -The actual sending is done inside the `exportSystemStats()` function, here is an
  -example code snippet:
  -
  -[source,go]
  -----------------------------------------------------------------------
  -  event := common.MapStr{
  -      "timestamp": common.Time(time.Now()), <1>
  -      "type":      "system",
  -      "load":      load_stat,
  -      "cpu":       cpu_stat,
  -      "mem":       mem_stat,
  -      "swap":      swap_stat,
  -  }
  -
  -  t.events <- event
  -----------------------------------------------------------------------
  -
  -<1> The `timestamp` fields needs to be of time `common.Time`.
  +The actual sending is done inside the `exportSystemStats()`:
  +
  +[source,go]
  +----------------------------------------------------------------------
  +
  +func (t *Topbeat) exportSystemStats() error {
  +
  +	load_stat, err := GetSystemLoad()
  +	if err != nil {
  +		logp.Warn("Getting load statistics: %v", err)
  +		return err
  +	}
  +
  +	[...]
  +
  +	event := common.MapStr{ <1>
  +		"timestamp": common.Time(time.Now()), <2>
  +		"type":      "system",
  +		"load":      load_stat,
  +		"cpu":       cpu_stat,
  +		"mem":       mem_stat,
  +		"swap":      swap_stat,
  +	}
  +
  +	t.events <- event <3>
  +
  +	return nil
  +}
  +----------------------------------------------------------------------
  +
  +<1> Creating the event object.
  +<2> The `timestamp` fields needs to be of time `common.Time`.
  +<3> Sending the event.
   
   === Cleanup
   
  
positive.code: }
  ----------------------------------------------------------------------
  
  Now that you have the big picture, lets dig into the code.
  
  == Beat specific code
  
  
negative.code: 
  At the high level, a simple Beat like Topbeat has two main components: one that
  collects the actual data and the Publisher. They communicate via a Go channel,
  over which **events** are sent. The Publisher is implemented in libbeat, so you
  typically only have to worry about the logic specific to your Beat. Besides the
  Publisher, libbeat offers common services like configuration management,
  logging, daemonizing/Windows service handling and in the future it will offer
  data processing modules like filtering or sampling.
  
  image:./images/beat_overview.png[Beat overview architecture]
  
  An event is a JSON like object (Golang type `map[string]interface{}`) that
  contains the collected data and which is indexed into Elasticsearch. The only
  rules are that it must contain a `timestamp` field and a `type` field. Beyond
  that, these events can contain anything and they can be created as often as
  needed.
  
  [source,json]
  ----------------------------------------------------------------------
  