0e8e8f0f31
Allows for a plugin type that can be used to scrape metrics. This is useful because metrics are not neccessarily at a standard location... `--metrics-addr` must be set, and must currently be a TCP socket. Even if metrics are done via a unix socket, there's no guarentee where the socket may be located on the system, making bind-mounting such a socket into a container difficult (and racey, failure-prone on daemon restart). Metrics plugins side-step this issue by always listening on a unix socket and then bind-mounting that into a known path in the plugin container. Note there has been similar work in the past (and ultimately punted at the time) for consistent access to the Docker API from within a container. Why not add metrics to the Docker API and just provide a plugin with access to the Docker API? Certainly this can be useful, but gives a lot of control/access to a plugin that may only need the metrics. We can look at supporting API plugins separately for this reason. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
12 lines
256 B
Go
12 lines
256 B
Go
// +build windows
|
|
|
|
package daemon
|
|
|
|
import "github.com/docker/docker/pkg/plugingetter"
|
|
|
|
func registerMetricsPluginCallback(getter plugingetter.PluginGetter, sockPath string) {
|
|
}
|
|
|
|
func (daemon *Daemon) listenMetricsSock() (string, error) {
|
|
return "", nil
|
|
}
|