Skip to content

Instantly share code, notes, and snippets.

@chelseakomlo
Last active August 30, 2017 18:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chelseakomlo/3962fee0bf022f52b856d386d83c2cc5 to your computer and use it in GitHub Desktop.
Save chelseakomlo/3962fee0bf022f52b856d386d83c2cc5 to your computer and use it in GitHub Desktop.
Places to add tagged metrics in Nomad client:
- Task runner
- Emit resource usage stats of tasks
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "memory", "rss"
value: ResourceUsage.MemoryStats.RSS
proposed tag: "memory"
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "memory", "cache"
value: ResourceUsage.MemoryStats.Cache
proposed tag: "memory"
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "memory", "swap",
value: ResourceUsage.MemoryStats.Swap
proposed tag: "memory"
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "memory", "max_usage"
value: ResourceUsage.MemoryStats.MaxUsage
proposed tag: "memory"
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "memory", "kernel_usage"
value: ResourceUsage.MemoryStats.KernelUsage
proposed tag: "memory"
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "memory", "kernel_max_usage"
value: ResourceUsage.MemoryStats.KernelMaxUsage
proposed tag: "memory"
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "cpu", "total_percent"
value: ResourceUsage.CpuStats.Percent
proposed tag: "cpu"
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "cpu", "system"
value: ResourceUsage.CpuStats.SystemMode
proposed tag: "cpu"
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "cpu", "user"
value: ResourceUsage.CpuStats.UserMode
proposed tag: "cpu"
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "cpu", "throttled_time"
value: ResourceUsage.CpuStats.ThrottledTime
proposed tag: "cpu"
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "cpu", "throttled_periods"
value: ResourceUsage.CpuStats.ThrottledPeriods
proposed tag: "cpu"
- key: "client", "allocs", alloc.Job.Name, alloc.TaskGroup, alloc.ID, task.Name, "cpu", "total_ticks"
value: ResourceUsage.CpuStats.TotalTicks
proposed tag: "cpu"
- Client
- emitHostStats pushes host resource usage stats to remote metrics collection sinks
- key: "client", "host", "memory", nodeID, "total"
value: hStats.Memory.Total
proposed tag: "memory"
- key: "client", "host", "memory", nodeID, "available"
value: hStats.Memory.Available
proposed tag: "memory"
- key: "client", "host", "memory", nodeID, "used"
value: hStats.Memory.Used
proposed tag: "memory"
- key: "client", "host", "memory", nodeID, "free"
value: hStats.Memory.Free
proposed tag: "memory"
- key: "uptime"
value: hStats.Uptime
proposed tag: "stats"
- key: client", "host", "cpu", nodeID, cpu.CPU, "total"
value: cpu.Total
proposed tag: "cpu"
- key: client", "host", "cpu", nodeID, cpu.CPU, "user"
value: cpu.User
proposed tag: "cpu"
- key: client", "host", "cpu", nodeID, cpu.CPU, "idle"
value: cpu.Idle
proposed tag: "cpu"
- key: client", "host", "cpu", nodeID, cpu.CPU, "system"
value: cpu.System
proposed tag: "cpu"
- key: client", "host", "disk", nodeID, disk.Device, "size"
value: disk.Size
proposed tag: "disk"
- key: client", "host", "disk", nodeID, disk.Device, "used"
value: disk.Used
proposed tag: "disk"
- key: client", "host", "disk", nodeID, disk.Device, "available"
value: disk.Available
proposed tag: "disk"
- key: client", "host", "disk", nodeID, disk.Device, "used_percent"
value: disk.UsedPercent
proposed tag: "disk"
- key: client", "host", "disk", nodeID, disk.Device, "inodes_percent"
value: disk.InodesUsedPercent
proposed tag: "disk"
// Emit allocated
- key: client", "allocated", "memory"
value: nodeID allocated.MemoryMB
proposed tag: "memory"
- key: client", "allocated", "disk"
value: nodeID allocated.DiskMB
proposed tag: "disk"
- key: client", "allocated", "cpu", nodeID,
value: allocated.CPU
proposed tag: "cpu"
- key: client", "allocated", "iops", nodeID
value: allocated.IOPS
proposed tag: "iops"
// for every allocation Network:
- key: "client", "allocated", "network", Device, nodeID
value: allocation network MBits
proposed tag: "network"
// emit lower volume client data
- key: "client", "allocations", "migrating", nodeID
value: migrating
proposed tag: "allocations"
- key: "client", "allocations", "blocked", nodeID
value: blocked
proposed tag: "allocations"
- key: "client", "allocations", "pending", nodeID
value: pending
proposed tag: "allocations"
- key: "client", "allocations", "running", nodeID
value: running
proposed tag: "allocations"
- key: "client", "allocations", "terminal", nodeID
value: terminal
proposed tag: "allocations"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment