MCPcopy Index your code
hub / github.com/php/frankenphp / TestPrometheusMetrics_StopWorkerRequest

Function TestPrometheusMetrics_StopWorkerRequest

metrics_test.go:44–96  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

42}
43
44func TestPrometheusMetrics_StopWorkerRequest(t *testing.T) {
45 m := createPrometheusMetrics()
46 m.TotalWorkers("test_worker", 2)
47 m.StopWorkerRequest("test_worker", 2*time.Second)
48
49 inputs := []struct {
50 name string
51 c prometheus.Collector
52 metadata string
53 expect string
54 }{
55 {
56 name: "Testing WorkerRequestCount",
57 c: m.workerRequestCount,
58 metadata: `
59 # HELP frankenphp_worker_request_count
60 # TYPE frankenphp_worker_request_count counter
61 `,
62 expect: `
63 frankenphp_worker_request_count{worker="test_worker"} 1
64 `,
65 },
66 {
67 name: "Testing BusyWorkers",
68 c: m.busyWorkers,
69 metadata: `
70 # HELP frankenphp_busy_workers Number of busy PHP workers for this worker
71 # TYPE frankenphp_busy_workers gauge
72 `,
73 expect: `
74 frankenphp_busy_workers{worker="test_worker"} -1
75 `,
76 },
77 {
78 name: "Testing WorkerRequestTime",
79 c: m.workerRequestTime,
80 metadata: `
81 # HELP frankenphp_worker_request_time
82 # TYPE frankenphp_worker_request_time counter
83 `,
84 expect: `
85 frankenphp_worker_request_time{worker="test_worker"} 2
86 `,
87 },
88 }
89
90 for _, input := range inputs {
91 t.Run(input.name, func(t *testing.T) {
92 require.NoError(t, testutil.CollectAndCompare(input.c, strings.NewReader(input.metadata+input.expect)))
93 })
94
95 }
96}
97
98func TestPrometheusMetrics_StartWorkerRequest(t *testing.T) {
99 m := createPrometheusMetrics()

Callers

nothing calls this directly

Calls 3

createPrometheusMetricsFunction · 0.85
TotalWorkersMethod · 0.65
StopWorkerRequestMethod · 0.65

Tested by

no test coverage detected