mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
45 lines
1.5 KiB
Go
45 lines
1.5 KiB
Go
|
package dockerfile
|
||
|
|
||
|
import (
|
||
|
"github.com/docker/go-metrics"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
buildsTriggered metrics.Counter
|
||
|
buildsFailed metrics.LabeledCounter
|
||
|
)
|
||
|
|
||
|
// Build metrics prometheus messages, these values must be initialized before
|
||
|
// using them. See the example below in the "builds_failed" metric definition.
|
||
|
const (
|
||
|
metricsDockerfileSyntaxError = "dockerfile_syntax_error"
|
||
|
metricsDockerfileEmptyError = "dockerfile_empty_error"
|
||
|
metricsCommandNotSupportedError = "command_not_supported_error"
|
||
|
metricsErrorProcessingCommandsError = "error_processing_commands_error"
|
||
|
metricsBuildTargetNotReachableError = "build_target_not_reachable_error"
|
||
|
metricsMissingOnbuildArgumentsError = "missing_onbuild_arguments_error"
|
||
|
metricsUnknownInstructionError = "unknown_instruction_error"
|
||
|
metricsBuildCanceled = "build_canceled"
|
||
|
)
|
||
|
|
||
|
func init() {
|
||
|
buildMetrics := metrics.NewNamespace("builder", "", nil)
|
||
|
|
||
|
buildsTriggered = buildMetrics.NewCounter("builds_triggered", "Number of triggered image builds")
|
||
|
buildsFailed = buildMetrics.NewLabeledCounter("builds_failed", "Number of failed image builds", "reason")
|
||
|
for _, r := range []string{
|
||
|
metricsDockerfileSyntaxError,
|
||
|
metricsDockerfileEmptyError,
|
||
|
metricsCommandNotSupportedError,
|
||
|
metricsErrorProcessingCommandsError,
|
||
|
metricsBuildTargetNotReachableError,
|
||
|
metricsMissingOnbuildArgumentsError,
|
||
|
metricsUnknownInstructionError,
|
||
|
metricsBuildCanceled,
|
||
|
} {
|
||
|
buildsFailed.WithValues(r)
|
||
|
}
|
||
|
|
||
|
metrics.Register(buildMetrics)
|
||
|
}
|