github.com/netdata/go.d.plugin@v0.58.1/modules/dockerhub/charts.go (about) 1 // SPDX-License-Identifier: GPL-3.0-or-later 2 3 package dockerhub 4 5 import ( 6 "strings" 7 8 "github.com/netdata/go.d.plugin/agent/module" 9 ) 10 11 type ( 12 // Charts is an alias for module.Charts 13 Charts = module.Charts 14 // Dims is an alias for module.Dims 15 Dims = module.Dims 16 // Dim is an alias for module.Dim 17 Dim = module.Dim 18 ) 19 20 var charts = Charts{ 21 { 22 ID: "pulls_sum", 23 Title: "Pulls Summary", 24 Units: "pulls", 25 Fam: "pulls", 26 Dims: Dims{ 27 {ID: "pull_sum", Name: "sum"}, 28 }, 29 }, 30 { 31 ID: "pulls", 32 Title: "Pulls", 33 Units: "pulls", 34 Fam: "pulls", 35 Type: module.Stacked, 36 }, 37 { 38 ID: "pulls_rate", 39 Title: "Pulls Rate", 40 Units: "pulls/s", 41 Fam: "pulls", 42 Type: module.Stacked, 43 }, 44 { 45 ID: "stars", 46 Title: "Stars", 47 Units: "stars", 48 Fam: "stars", 49 Type: module.Stacked, 50 }, 51 { 52 ID: "status", 53 Title: "Current Status", 54 Units: "status", 55 Fam: "status", 56 }, 57 { 58 ID: "last_updated", 59 Title: "Time Since Last Updated", 60 Units: "seconds", 61 Fam: "last updated", 62 }, 63 } 64 65 func addReposToCharts(repositories []string, cs *Charts) { 66 for _, name := range repositories { 67 dimName := strings.Replace(name, "/", "_", -1) 68 _ = cs.Get("pulls").AddDim(&Dim{ 69 ID: "pull_count_" + name, 70 Name: dimName, 71 }) 72 _ = cs.Get("pulls_rate").AddDim(&Dim{ 73 ID: "pull_count_" + name, 74 Name: dimName, 75 Algo: module.Incremental, 76 }) 77 _ = cs.Get("stars").AddDim(&Dim{ 78 ID: "star_count_" + name, 79 Name: dimName, 80 }) 81 _ = cs.Get("status").AddDim(&Dim{ 82 ID: "status_" + name, 83 Name: dimName, 84 }) 85 _ = cs.Get("last_updated").AddDim(&Dim{ 86 ID: "last_updated_" + name, 87 Name: dimName, 88 }) 89 } 90 }