func NewStartTimeMetricAdjuster()

in collector/receiver/prometheusreceiver/internal/starttimemetricadjuster.go [41:64]


func NewStartTimeMetricAdjuster(logger *zap.Logger, gcInterval time.Duration, startTimeMetricRegex *regexp.Regexp, useCollectorStartTimeFallback, allowResets bool) MetricsAdjuster {
	// Approximate the start time of the collector and use that as the fallback.
	var fallbackStartTime *time.Time
	if useCollectorStartTimeFallback {
		now := time.Now()
		fallbackStartTime = &now
	}

	var resetPointAdjuster *initialPointAdjuster
	if allowResets {
		resetPointAdjuster = &initialPointAdjuster{
			jobsMap:              NewJobsMap(gcInterval),
			logger:               logger,
			useCreatedMetric:     false,
			usePointTimeForReset: true,
		}
	}
	return &startTimeMetricAdjuster{
		startTimeMetricRegex: startTimeMetricRegex,
		fallbackStartTime:    fallbackStartTime,
		resetPointAdjuster:   resetPointAdjuster,
		logger:               logger,
	}
}