/**
  * Start an event which will be timed. The startTime and endTime are added to timingInfo only
  * after endEvent is called. For every startEvent there should be a corresponding endEvent. If you
  * start the same event without ending it, this will overwrite the old event. i.e. There is no
  * support for recursive events yet. Having said that, if you start and end an event in that
  * sequence multiple times, all events are logged in timingInfo in that order.
  *
  * <p>This feature is enabled if the system property
  * "apphub.dep.amazonaws.sdk.enableRuntimeProfiling" is set, or if a {@link
  * RequestMetricCollector} is in use either at the request, web service client, or AWS SDK level.
  *
  * @param eventName - The name of the event to start
  * @see AwsSdkMetrics
  */
 @Override
 public void startEvent(String eventName) {
   /* This will overwrite past events */
   eventsBeingProfiled.put // ignoring the wall clock time
       (eventName, TimingInfo.startTimingFullSupport(System.nanoTime()));
 }
 /**
  * This constructor should be used in the case when AWS SDK metrics collector is enabled.
  *
  * @see AWSRequestMetricsFullSupport
  */
 public AWSRequestMetricsFullSupport() {
   super(TimingInfo.startTimingFullSupport());
 }