Report reports the metrics data to the provided recorder.
(r estats.AsyncMetricsRecorder)
| 714 | |
| 715 | // Report reports the metrics data to the provided recorder. |
| 716 | func (b *rlsBalancer) Report(r estats.AsyncMetricsRecorder) error { |
| 717 | b.cacheMu.Lock() |
| 718 | currentSize := b.dataCache.currentSize |
| 719 | entriesLen := int64(len(b.dataCache.entries)) |
| 720 | rlsServerTarget := b.dataCache.rlsServerTarget |
| 721 | grpcTarget := b.dataCache.grpcTarget |
| 722 | uuid := b.dataCache.uuid |
| 723 | shutdown := b.dataCache.shutdown.HasFired() |
| 724 | b.cacheMu.Unlock() |
| 725 | |
| 726 | if shutdown { |
| 727 | return nil |
| 728 | } |
| 729 | |
| 730 | cacheSizeMetric.Record(r, currentSize, grpcTarget, rlsServerTarget, uuid) |
| 731 | cacheEntriesMetric.Record(r, entriesLen, grpcTarget, rlsServerTarget, uuid) |
| 732 | return nil |
| 733 | } |