master
go 75 lines 1.67 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package httpcheck
4
5 import (
6 "github.com/netdata/netdata/go/plugins/plugin/framework/collectorapi"
7 )
8
9 const (
10 prioResponseTime = collectorapi.Priority + iota
11 prioResponseLength
12 prioResponseStatus
13 prioResponseInStatusDuration
14 )
15
16 var httpCheckCharts = collectorapi.Charts{
17 responseTimeChart.Copy(),
18 responseLengthChart.Copy(),
19 responseStatusChart.Copy(),
20 responseInStatusDurationChart.Copy(),
21 }
22
23 var responseTimeChart = collectorapi.Chart{
24 ID: "response_time",
25 Title: "HTTP Response Time",
26 Units: "ms",
27 Fam: "response",
28 Ctx: "httpcheck.response_time",
29 Priority: prioResponseTime,
30 Dims: collectorapi.Dims{
31 {ID: "time"},
32 },
33 }
34
35 var responseLengthChart = collectorapi.Chart{
36 ID: "response_length",
37 Title: "HTTP Response Body Length",
38 Units: "characters",
39 Fam: "response",
40 Ctx: "httpcheck.response_length",
41 Priority: prioResponseLength,
42 Dims: collectorapi.Dims{
43 {ID: "length"},
44 },
45 }
46
47 var responseStatusChart = collectorapi.Chart{
48 ID: "request_status",
49 Title: "HTTP Check Status",
50 Units: "boolean",
51 Fam: "status",
52 Ctx: "httpcheck.status",
53 Priority: prioResponseStatus,
54 Dims: collectorapi.Dims{
55 {ID: "success"},
56 {ID: "no_connection"},
57 {ID: "timeout"},
58 {ID: "redirect"},
59 {ID: "bad_content"},
60 {ID: "bad_status"},
61 {ID: "bad_header"},
62 },
63 }
64
65 var responseInStatusDurationChart = collectorapi.Chart{
66 ID: "current_state_duration",
67 Title: "HTTP Current State Duration",
68 Units: "seconds",
69 Fam: "status",
70 Ctx: "httpcheck.in_state",
71 Priority: prioResponseInStatusDuration,
72 Dims: collectorapi.Dims{
73 {ID: "in_state", Name: "time"},
74 },
75 }