github.com/netdata/go.d.plugin@v0.58.1/modules/bind/charts.go (about)

     1  // SPDX-License-Identifier: GPL-3.0-or-later
     2  
     3  package bind
     4  
     5  import (
     6  	"github.com/netdata/go.d.plugin/agent/module"
     7  )
     8  
     9  type (
    10  	// Charts is an alias for module.Charts.
    11  	Charts = module.Charts
    12  	// Chart is an alias for module.Chart.
    13  	Chart = module.Chart
    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  const (
    21  	// TODO: add to orchestrator module
    22  	basePriority = 70000
    23  
    24  	keyReceivedRequests    = "received_requests"
    25  	keyQueriesSuccess      = "queries_success"
    26  	keyRecursiveClients    = "recursive_clients"
    27  	keyProtocolsQueries    = "protocols_queries"
    28  	keyQueriesAnalysis     = "queries_analysis"
    29  	keyReceivedUpdates     = "received_updates"
    30  	keyQueryFailures       = "query_failures"
    31  	keyQueryFailuresDetail = "query_failures_detail"
    32  	keyNSStats             = "nsstats"
    33  	keyInOpCodes           = "in_opcodes"
    34  	keyInQTypes            = "in_qtypes"
    35  	keyInSockStats         = "in_sockstats"
    36  
    37  	keyResolverStats     = "view_resolver_stats_%s"
    38  	keyResolverRTT       = "view_resolver_rtt_%s"
    39  	keyResolverInQTypes  = "view_resolver_qtypes_%s"
    40  	keyResolverCacheHits = "view_resolver_cachehits_%s"
    41  	keyResolverNumFetch  = "view_resolver_numfetch_%s"
    42  )
    43  
    44  var charts = map[string]Chart{
    45  	keyRecursiveClients: {
    46  		ID:       keyRecursiveClients,
    47  		Title:    "Global Recursive Clients",
    48  		Units:    "clients",
    49  		Fam:      "clients",
    50  		Ctx:      "bind.recursive_clients",
    51  		Priority: basePriority + 1,
    52  	},
    53  	keyReceivedRequests: {
    54  		ID:       keyReceivedRequests,
    55  		Title:    "Global Received Requests by IP version",
    56  		Units:    "requests/s",
    57  		Fam:      "requests",
    58  		Ctx:      "bind.requests",
    59  		Type:     module.Stacked,
    60  		Priority: basePriority + 2,
    61  	},
    62  	keyQueriesSuccess: {
    63  		ID:       keyQueriesSuccess,
    64  		Title:    "Global Successful Queries",
    65  		Units:    "queries/s",
    66  		Fam:      "queries",
    67  		Ctx:      "bind.queries_success",
    68  		Priority: basePriority + 3,
    69  	},
    70  	keyProtocolsQueries: {
    71  		ID:       keyProtocolsQueries,
    72  		Title:    "Global Queries by IP Protocol",
    73  		Units:    "queries/s",
    74  		Fam:      "queries",
    75  		Ctx:      "bind.protocol_queries",
    76  		Type:     module.Stacked,
    77  		Priority: basePriority + 4,
    78  	},
    79  	keyQueriesAnalysis: {
    80  		ID:       keyQueriesAnalysis,
    81  		Title:    "Global Queries Analysis",
    82  		Units:    "queries/s",
    83  		Fam:      "queries",
    84  		Ctx:      "bind.global_queries",
    85  		Type:     module.Stacked,
    86  		Priority: basePriority + 5,
    87  	},
    88  	keyReceivedUpdates: {
    89  		ID:       keyReceivedUpdates,
    90  		Title:    "Global Received Updates",
    91  		Units:    "updates/s",
    92  		Fam:      "updates",
    93  		Ctx:      "bind.global_updates",
    94  		Type:     module.Stacked,
    95  		Priority: basePriority + 6,
    96  	},
    97  	keyQueryFailures: {
    98  		ID:       keyQueryFailures,
    99  		Title:    "Global Query Failures",
   100  		Units:    "failures/s",
   101  		Fam:      "failures",
   102  		Ctx:      "bind.global_failures",
   103  		Priority: basePriority + 7,
   104  	},
   105  	keyQueryFailuresDetail: {
   106  		ID:       keyQueryFailuresDetail,
   107  		Title:    "Global Query Failures Analysis",
   108  		Units:    "failures/s",
   109  		Fam:      "failures",
   110  		Ctx:      "bind.global_failures_detail",
   111  		Type:     module.Stacked,
   112  		Priority: basePriority + 8,
   113  	},
   114  	keyNSStats: {
   115  		ID:       keyNSStats,
   116  		Title:    "Global Server Statistics",
   117  		Units:    "operations/s",
   118  		Fam:      "other",
   119  		Ctx:      "bind.nsstats",
   120  		Priority: basePriority + 9,
   121  	},
   122  	keyInOpCodes: {
   123  		ID:       keyInOpCodes,
   124  		Title:    "Incoming Requests by OpCode",
   125  		Units:    "requests/s",
   126  		Fam:      "requests",
   127  		Ctx:      "bind.in_opcodes",
   128  		Type:     module.Stacked,
   129  		Priority: basePriority + 10,
   130  	},
   131  	keyInQTypes: {
   132  		ID:       keyInQTypes,
   133  		Title:    "Incoming Requests by Query Type",
   134  		Units:    "requests/s",
   135  		Fam:      "requests",
   136  		Ctx:      "bind.in_qtypes",
   137  		Type:     module.Stacked,
   138  		Priority: basePriority + 11,
   139  	},
   140  	keyInSockStats: {
   141  		ID:       keyInSockStats,
   142  		Title:    "Socket Statistics",
   143  		Units:    "operations/s",
   144  		Fam:      "sockets",
   145  		Ctx:      "bind.in_sockstats",
   146  		Priority: basePriority + 12,
   147  	},
   148  
   149  	keyResolverRTT: {
   150  		ID:       keyResolverRTT,
   151  		Title:    "Resolver Round Trip Time",
   152  		Units:    "queries/s",
   153  		Fam:      "view %s",
   154  		Ctx:      "bind.resolver_rtt",
   155  		Type:     module.Stacked,
   156  		Priority: basePriority + 22,
   157  	},
   158  	keyResolverStats: {
   159  		ID:       keyResolverStats,
   160  		Title:    "Resolver Statistics",
   161  		Units:    "operations/s",
   162  		Fam:      "view %s",
   163  		Ctx:      "bind.resolver_stats",
   164  		Priority: basePriority + 23,
   165  	},
   166  	keyResolverInQTypes: {
   167  		ID:       keyResolverInQTypes,
   168  		Title:    "Resolver Requests by Query Type",
   169  		Units:    "requests/s",
   170  		Fam:      "view %s",
   171  		Ctx:      "bind.resolver_qtypes",
   172  		Type:     module.Stacked,
   173  		Priority: basePriority + 24,
   174  	},
   175  	keyResolverNumFetch: {
   176  		ID:       keyResolverNumFetch,
   177  		Title:    "Resolver Active Queries",
   178  		Units:    "queries",
   179  		Fam:      "view %s",
   180  		Ctx:      "bind.resolver_active_queries",
   181  		Priority: basePriority + 25,
   182  	},
   183  	keyResolverCacheHits: {
   184  		ID:       keyResolverCacheHits,
   185  		Title:    "Resolver Cache Hits",
   186  		Units:    "operations/s",
   187  		Fam:      "view %s",
   188  		Ctx:      "bind.resolver_cachehits",
   189  		Type:     module.Area,
   190  		Priority: basePriority + 26,
   191  		Dims: Dims{
   192  			{ID: "%s_CacheHits", Name: "hits", Algo: module.Incremental},
   193  			{ID: "%s_CacheMisses", Name: "misses", Algo: module.Incremental, Mul: -1},
   194  		},
   195  	},
   196  }