code: func ReportTimingFromCtx(ctx context.Context, reporters []Reporter, typ string, err error) {
  	code := errors.CodeFromError(err)
  	status := "ok"
  	if err != nil {
  		status = "failed"
  	}
  	if len(reporters) > 0 {
  		startTime := pcontext.GetFromPropagateCtx(ctx, constants.StartTimeKey)
  		route := pcontext.GetFromPropagateCtx(ctx, constants.RouteKey)
  		elapsed := time.Since(time.Unix(0, startTime.(int64)))
  		tags := getTags(ctx, map[string]string{
  			"route":  route.(string),
  			"status": status,
  			"type":   typ,
  			"code":   code,
  		})
  		for _, r := range reporters {
  			r.ReportSummary(ResponseTime, tags, float64(elapsed.Nanoseconds()))
  		}
  	}
  }
docs: // ReportTimingFromCtx reports the latency from the context