code: private void pushEvent(GobblinTrackingEvent event) throws IOException {
  
      Map<String, String> metadata = event.getMetadata();
      String name = getMetricName(metadata, event.getName());
      long timestamp = event.getTimestamp();
      MultiPartEvent multiPartEvent = MultiPartEvent.getEvent(metadata.get(EventSubmitter.EVENT_TYPE));
      if (multiPartEvent == null) {
        influxDBPusher.push(buildEventAsPoint(name, EMTPY_VALUE, timestamp));
      }
      else {
        List<Point> points = Lists.newArrayList();
        for (String field : multiPartEvent.getMetadataFields()) {
          Point point = buildEventAsPoint(JOINER.join(name, field), convertValue(field,  metadata.get(field)), timestamp);
          points.add(point);
        }
        influxDBPusher.push(points);
      }
    }
docs: Extracts the event and its metadata from {@link GobblinTrackingEvent} and creates
  timestamped name value pairs
  
  @param event {@link GobblinTrackingEvent} to be reported
  @throws IOException