package nextgentasks

import (
	"time"

	"github.com/tidbcloud/metering/pkg/common/constants"
	"github.com/tidbcloud/metering/pkg/common/metrics"
)

func recordNextGenTaskResultMetric(taskName, provider, result string) {
	labels := map[string]string{
		constants.MetricsTaskName:        taskName,
		constants.MetricsLblProviderType: provider,
		constants.MetricsTaskResultType:  result,
	}

	metrics.MetricsNextGenTaskCount.With(labels).Inc()
}

func recordNextGenTaskDurationMetric(taskName, provider, operation string, duration time.Duration) {
	if duration < 0 {
		duration = 0
	}
	labels := map[string]string{
		constants.MetricsTaskName:        taskName,
		constants.MetricsLblProviderType: provider,
		constants.MetricsTaskOperation:   operation,
	}

	metrics.MetricsNextGenTaskDuration.With(labels).Set(duration.Seconds())
}
