3 import "github.com/rcrowley/go-metrics"
6 // ContainerCreateTimer holds the metrics timer associated with container creation
7 ContainerCreateTimer = metrics.NewTimer()
8 // ContainerDeleteTimer holds the metrics timer associated with container deletion
9 ContainerDeleteTimer = metrics.NewTimer()
10 // ContainerStartTimer holds the metrics timer associated with container start duration
11 ContainerStartTimer = metrics.NewTimer()
12 // ContainerStatsTimer holds the metrics timer associated with container stats generation
13 ContainerStatsTimer = metrics.NewTimer()
14 // ContainersCounter keeps track of the number of active containers
15 ContainersCounter = metrics.NewCounter()
16 // EventSubscriberCounter keeps track of the number of active event subscribers
17 EventSubscriberCounter = metrics.NewCounter()
18 // TasksCounter keeps track of the number of active supervisor tasks
19 TasksCounter = metrics.NewCounter()
20 // ExecProcessTimer holds the metrics timer associated with container exec
21 ExecProcessTimer = metrics.NewTimer()
22 // ExitProcessTimer holds the metrics timer associated with reporting container exit status
23 ExitProcessTimer = metrics.NewTimer()
24 // EpollFdCounter keeps trac of how many process are being monitored
25 EpollFdCounter = metrics.NewCounter()
28 // Metrics return the list of all available metrics
29 func Metrics() map[string]interface{} {
30 return map[string]interface{}{
31 "container-create-time": ContainerCreateTimer,
32 "container-delete-time": ContainerDeleteTimer,
33 "container-start-time": ContainerStartTimer,
34 "container-stats-time": ContainerStatsTimer,
35 "containers": ContainersCounter,
36 "event-subscribers": EventSubscriberCounter,
37 "tasks": TasksCounter,
38 "exec-process-time": ExecProcessTimer,
39 "exit-process-time": ExitProcessTimer,
40 "epoll-fds": EpollFdCounter,