summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/httpcheck/charts.go
blob: efb0f874b6c8d9853a87871697a627fe93a91caa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// SPDX-License-Identifier: GPL-3.0-or-later

package httpcheck

import (
	"github.com/netdata/netdata/go/go.d.plugin/agent/module"
)

const (
	prioResponseTime = module.Priority + iota
	prioResponseLength
	prioResponseStatus
	prioResponseInStatusDuration
)

var httpCheckCharts = module.Charts{
	responseTimeChart.Copy(),
	responseLengthChart.Copy(),
	responseStatusChart.Copy(),
	responseInStatusDurationChart.Copy(),
}

var responseTimeChart = module.Chart{
	ID:       "response_time",
	Title:    "HTTP Response Time",
	Units:    "ms",
	Fam:      "response",
	Ctx:      "httpcheck.response_time",
	Priority: prioResponseTime,
	Dims: module.Dims{
		{ID: "time"},
	},
}

var responseLengthChart = module.Chart{
	ID:       "response_length",
	Title:    "HTTP Response Body Length",
	Units:    "characters",
	Fam:      "response",
	Ctx:      "httpcheck.response_length",
	Priority: prioResponseLength,
	Dims: module.Dims{
		{ID: "length"},
	},
}

var responseStatusChart = module.Chart{
	ID:       "request_status",
	Title:    "HTTP Check Status",
	Units:    "boolean",
	Fam:      "status",
	Ctx:      "httpcheck.status",
	Priority: prioResponseStatus,
	Dims: module.Dims{
		{ID: "success"},
		{ID: "no_connection"},
		{ID: "timeout"},
		{ID: "redirect"},
		{ID: "bad_content"},
		{ID: "bad_status"},
		{ID: "bad_header"},
	},
}

var responseInStatusDurationChart = module.Chart{
	ID:       "current_state_duration",
	Title:    "HTTP Current State Duration",
	Units:    "seconds",
	Fam:      "status",
	Ctx:      "httpcheck.in_state",
	Priority: prioResponseInStatusDuration,
	Dims: module.Dims{
		{ID: "in_state", Name: "time"},
	},
}