pubsub: fix opencensus pull count by counting synchronous pull msgs

Fixes #1645

Change-Id: I11e9732a6008f022b5ee71a075167cdaa7b39db3
Reviewed-on: https://code-review.googlesource.com/c/gocloud/+/48210
Reviewed-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jean de Klerk <deklerk@google.com>
diff --git a/pubsub/iterator.go b/pubsub/iterator.go
index b245577..ce61545 100644
--- a/pubsub/iterator.go
+++ b/pubsub/iterator.go
@@ -197,6 +197,7 @@
 	if err != nil {
 		return nil, it.fail(err)
 	}
+	recordStat(it.ctx, PullCount, int64(len(rmsgs)))
 	msgs, err := convertMessages(rmsgs)
 	if err != nil {
 		return nil, it.fail(err)
diff --git a/pubsub/pullstream.go b/pubsub/pullstream.go
index 1c332ef..dd0e6c6 100644
--- a/pubsub/pullstream.go
+++ b/pubsub/pullstream.go
@@ -173,9 +173,6 @@
 		var err error
 		recordStat(s.ctx, StreamResponseCount, 1)
 		res, err = spc.Recv()
-		if err == nil {
-			recordStat(s.ctx, PullCount, int64(len(res.ReceivedMessages)))
-		}
 		return err
 	}, gax.WithRetry(func() gax.Retryer { return &streamingPullRetryer{defaultRetryer: &defaultRetryer{}} }))
 	return res, err