func()

in aggregators/internal/telemetry/metrics.go [246:286]


func (i *Metrics) registerCallback(meter metric.Meter, provider pebbleProvider) (err error) {
	i.registration, err = meter.RegisterCallback(func(ctx context.Context, obs metric.Observer) error {
		pm := provider()
		obs.ObserveInt64(i.pebbleMemtableTotalSize, int64(pm.MemTable.Size))
		obs.ObserveInt64(i.pebbleTotalDiskUsage, int64(pm.DiskSpaceUsage()))

		obs.ObserveInt64(i.pebbleFlushes, pm.Flush.Count)
		obs.ObserveInt64(i.pebbleFlushedBytes, int64(pm.Levels[0].BytesFlushed))

		obs.ObserveInt64(i.pebbleCompactions, pm.Compact.Count)
		obs.ObserveInt64(i.pebblePendingCompaction, int64(pm.Compact.EstimatedDebt))
		obs.ObserveInt64(i.pebbleMarkedForCompactionFiles, int64(pm.Compact.MarkedFiles))

		obs.ObserveInt64(i.pebbleTableReadersMemEstimate, pm.TableCache.Size)
		obs.ObserveInt64(i.pebbleKeysTombstones, int64(pm.Keys.TombstoneCount))

		lm := pm.Total()
		obs.ObserveInt64(i.pebbleNumSSTables, lm.NumFiles)
		obs.ObserveInt64(i.pebbleIngestedBytes, int64(lm.BytesIngested))
		obs.ObserveInt64(i.pebbleCompactedBytesRead, int64(lm.BytesRead))
		obs.ObserveInt64(i.pebbleCompactedBytesWritten, int64(lm.BytesCompacted))
		obs.ObserveInt64(i.pebbleReadAmplification, int64(lm.Sublevels))
		return nil
	},
		i.pebbleMemtableTotalSize,
		i.pebbleTotalDiskUsage,
		i.pebbleFlushes,
		i.pebbleFlushedBytes,
		i.pebbleCompactions,
		i.pebbleIngestedBytes,
		i.pebbleCompactedBytesRead,
		i.pebbleCompactedBytesWritten,
		i.pebbleReadAmplification,
		i.pebbleNumSSTables,
		i.pebbleTableReadersMemEstimate,
		i.pebblePendingCompaction,
		i.pebbleMarkedForCompactionFiles,
		i.pebbleKeysTombstones,
	)
	return
}