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

     1  // SPDX-License-Identifier: GPL-3.0-or-later
     2  
     3  package dnsdist
     4  
     5  import "github.com/netdata/go.d.plugin/agent/module"
     6  
     7  var charts = module.Charts{
     8  	{
     9  		ID:    "queries",
    10  		Title: "Client queries received",
    11  		Units: "queries/s",
    12  		Fam:   "queries",
    13  		Ctx:   "dnsdist.queries",
    14  		Dims: module.Dims{
    15  			{ID: "queries", Name: "all", Algo: module.Incremental},
    16  			{ID: "rdqueries", Name: "recursive", Algo: module.Incremental},
    17  			{ID: "empty-queries", Name: "empty", Algo: module.Incremental},
    18  		},
    19  	},
    20  	{
    21  		ID:    "queries_dropped",
    22  		Title: "Client queries dropped",
    23  		Units: "queries/s",
    24  		Fam:   "queries",
    25  		Ctx:   "dnsdist.queries_dropped",
    26  		Dims: module.Dims{
    27  			{ID: "rule-drop", Name: "rule drop", Algo: module.Incremental},
    28  			{ID: "dyn-blocked", Name: "dynamic blocked", Algo: module.Incremental},
    29  			{ID: "no-policy", Name: "no policy", Algo: module.Incremental},
    30  			{ID: "noncompliant-queries", Name: "non queries", Algo: module.Incremental},
    31  		},
    32  	},
    33  	{
    34  		ID:    "packets_dropped",
    35  		Title: "Packets dropped",
    36  		Units: "packets/s",
    37  		Fam:   "packets",
    38  		Ctx:   "dnsdist.packets_dropped",
    39  		Dims: module.Dims{
    40  			{ID: "acl-drops", Name: "acl", Algo: module.Incremental},
    41  		},
    42  	},
    43  	{
    44  		ID:    "answers",
    45  		Title: "Answers statistics",
    46  		Units: "answers/s",
    47  		Fam:   "answers",
    48  		Ctx:   "dnsdist.answers",
    49  		Dims: module.Dims{
    50  			{ID: "self-answered", Name: "self answered", Algo: module.Incremental},
    51  			{ID: "rule-nxdomain", Name: "nxdomain", Algo: module.Incremental, Mul: -1},
    52  			{ID: "rule-refused", Name: "refused", Algo: module.Incremental, Mul: -1},
    53  			{ID: "trunc-failures", Name: "trunc failures", Algo: module.Incremental, Mul: -1},
    54  		},
    55  	},
    56  	{
    57  		ID:    "backend_responses",
    58  		Title: "Backend responses",
    59  		Units: "responses/s",
    60  		Fam:   "backends",
    61  		Ctx:   "dnsdist.backend_responses",
    62  		Dims: module.Dims{
    63  			{ID: "responses", Name: "responses", Algo: module.Incremental},
    64  		},
    65  	},
    66  	{
    67  		ID:    "backend_commerrors",
    68  		Title: "Backend communication errors",
    69  		Units: "errors/s",
    70  		Fam:   "backends",
    71  		Ctx:   "dnsdist.backend_commerrors",
    72  		Dims: module.Dims{
    73  			{ID: "downstream-send-errors", Name: "send errors", Algo: module.Incremental},
    74  		},
    75  	},
    76  	{
    77  		ID:    "backend_errors",
    78  		Title: "Backend error responses",
    79  		Units: "responses/s",
    80  		Fam:   "backends",
    81  		Ctx:   "dnsdist.backend_errors",
    82  		Dims: module.Dims{
    83  			{ID: "downstream-timeouts", Name: "timeouts", Algo: module.Incremental},
    84  			{ID: "servfail-responses", Name: "servfail", Algo: module.Incremental},
    85  			{ID: "noncompliant-responses", Name: "non compliant", Algo: module.Incremental},
    86  		},
    87  	},
    88  	{
    89  		ID:    "cache",
    90  		Title: "Cache performance",
    91  		Units: "answers/s",
    92  		Fam:   "cache",
    93  		Ctx:   "dnsdist.cache",
    94  		Dims: module.Dims{
    95  			{ID: "cache-hits", Name: "hits", Algo: module.Incremental},
    96  			{ID: "cache-misses", Name: "misses", Algo: module.Incremental, Mul: -1},
    97  		},
    98  	},
    99  	{
   100  		ID:    "servercpu",
   101  		Title: "DNSdist server CPU utilization",
   102  		Units: "ms/s",
   103  		Fam:   "server",
   104  		Ctx:   "dnsdist.servercpu",
   105  		Type:  module.Stacked,
   106  		Dims: module.Dims{
   107  			{ID: "cpu-sys-msec", Name: "system state", Algo: module.Incremental},
   108  			{ID: "cpu-user-msec", Name: "user state", Algo: module.Incremental},
   109  		},
   110  	},
   111  	{
   112  		ID:    "servermem",
   113  		Title: "DNSdist server memory utilization",
   114  		Units: "MiB",
   115  		Fam:   "server",
   116  		Ctx:   "dnsdist.servermem",
   117  		Type:  module.Area,
   118  		Dims: module.Dims{
   119  			{ID: "real-memory-usage", Name: "memory usage", Div: 1 << 20},
   120  		},
   121  	},
   122  	{
   123  		ID:    "query_latency",
   124  		Title: "Query latency",
   125  		Units: "queries/s",
   126  		Fam:   "latency",
   127  		Ctx:   "dnsdist.query_latency",
   128  		Type:  module.Stacked,
   129  		Dims: module.Dims{
   130  			{ID: "latency0-1", Name: "1ms", Algo: module.Incremental},
   131  			{ID: "latency1-10", Name: "10ms", Algo: module.Incremental},
   132  			{ID: "latency10-50", Name: "50ms", Algo: module.Incremental},
   133  			{ID: "latency50-100", Name: "100ms", Algo: module.Incremental},
   134  			{ID: "latency100-1000", Name: "1sec", Algo: module.Incremental},
   135  			{ID: "latency-slow", Name: "slow", Algo: module.Incremental},
   136  		},
   137  	},
   138  	{
   139  		ID:    "query_latency_avg",
   140  		Title: "Average latency for the last N queries",
   141  		Units: "microseconds",
   142  		Fam:   "latency",
   143  		Ctx:   "dnsdist.query_latency_avg",
   144  		Dims: module.Dims{
   145  			{ID: "latency-avg100", Name: "100"},
   146  			{ID: "latency-avg1000", Name: "1k"},
   147  			{ID: "latency-avg10000", Name: "10k"},
   148  			{ID: "latency-avg1000000", Name: "1000k"},
   149  		},
   150  	},
   151  }