func (ScraperMemory) Scrape(ctx context.Context, ds datastore.Datastore, ch chan<- prometheus.Metric) error {
	if err := scrapeStarterValues(ch); err != nil {
		return fmt.Errorf("failed to scrape starter values: %w", err)
	}
	return nil
}
Scrape scrape metrics
package metric
import (
	"context"
	"fmt"
	"github.com/prometheus/client_golang/prometheus"
	"github.com/whywaita/myshoes/internal/config"
	"github.com/whywaita/myshoes/pkg/datastore"
	"github.com/whywaita/myshoes/pkg/starter"
)
const memoryName = "memory"
var (
	memoryStarterMaxRunning = prometheus.NewDesc(
		prometheus.BuildFQName(namespace, memoryName, "starter_max_running"),
		"The number of max running in starter (Config)",
		[]string{"starter"}, nil,
	)
	memoryStarterQueueRunning = prometheus.NewDesc(
		prometheus.BuildFQName(namespace, memoryName, "starter_queue_running"),
		"running queue in starter",
		[]string{"starter"}, nil,
	)
	memoryStarterQueueWaiting = prometheus.NewDesc(
		prometheus.BuildFQName(namespace, memoryName, "starter_queue_waiting"),
		"waiting queue in starter",
		[]string{"starter"}, nil,
	)
)
type ScraperMemory struct{}
func (ScraperMemory) Name() string {
	return memoryName
}
func (ScraperMemory) Help() string {
	return "Collect from memory"
}