diff --git a/cmd/containerd/command/main.go b/cmd/containerd/command/main.go index 21967a17b..e3b9dbc05 100644 --- a/cmd/containerd/command/main.go +++ b/cmd/containerd/command/main.go @@ -30,6 +30,7 @@ import ( "github.com/containerd/containerd/defaults" "github.com/containerd/containerd/errdefs" "github.com/containerd/containerd/log" + _ "github.com/containerd/containerd/metrics" // import containerd build info "github.com/containerd/containerd/mount" "github.com/containerd/containerd/services/server" srvconfig "github.com/containerd/containerd/services/server/config" diff --git a/metrics/metrics.go b/metrics/metrics.go new file mode 100644 index 000000000..1debd87dc --- /dev/null +++ b/metrics/metrics.go @@ -0,0 +1,29 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package metrics + +import ( + "github.com/containerd/containerd/version" + goMetrics "github.com/docker/go-metrics" +) + +func init() { + ns := goMetrics.NewNamespace("containerd", "", nil) + c := ns.NewLabeledCounter("build_info", "containerd build information", "version", "revision") + c.WithValues(version.Version, version.Revision).Inc() + goMetrics.Register(ns) +}