MCPcopy Create free account
hub / github.com/cloudreve/cloudreve / GetQueueMetrics

Function GetQueueMetrics

service/admin/task.go:21–73  ·  view source on GitHub ↗
(c *gin.Context)

Source from the content-addressed store, hash-verified

19)
20
21func GetQueueMetrics(c *gin.Context) ([]QueueMetric, error) {
22 res := []QueueMetric{}
23 dep := dependency.FromContext(c)
24
25 mediaMeta := dep.MediaMetaQueue(c)
26 entityRecycle := dep.EntityRecycleQueue(c)
27 ioIntense := dep.IoIntenseQueue(c)
28 remoteDownload := dep.RemoteDownloadQueue(c)
29 thumb := dep.ThumbQueue(c)
30
31 res = append(res, QueueMetric{
32 Name: setting.QueueTypeMediaMeta,
33 BusyWorkers: mediaMeta.BusyWorkers(),
34 SuccessTasks: mediaMeta.SuccessTasks(),
35 FailureTasks: mediaMeta.FailureTasks(),
36 SubmittedTasks: mediaMeta.SubmittedTasks(),
37 SuspendingTasks: mediaMeta.SuspendingTasks(),
38 })
39 res = append(res, QueueMetric{
40 Name: setting.QueueTypeEntityRecycle,
41 BusyWorkers: entityRecycle.BusyWorkers(),
42 SuccessTasks: entityRecycle.SuccessTasks(),
43 FailureTasks: entityRecycle.FailureTasks(),
44 SubmittedTasks: entityRecycle.SubmittedTasks(),
45 SuspendingTasks: entityRecycle.SuspendingTasks(),
46 })
47 res = append(res, QueueMetric{
48 Name: setting.QueueTypeIOIntense,
49 BusyWorkers: ioIntense.BusyWorkers(),
50 SuccessTasks: ioIntense.SuccessTasks(),
51 FailureTasks: ioIntense.FailureTasks(),
52 SubmittedTasks: ioIntense.SubmittedTasks(),
53 SuspendingTasks: ioIntense.SuspendingTasks(),
54 })
55 res = append(res, QueueMetric{
56 Name: setting.QueueTypeRemoteDownload,
57 BusyWorkers: remoteDownload.BusyWorkers(),
58 SuccessTasks: remoteDownload.SuccessTasks(),
59 FailureTasks: remoteDownload.FailureTasks(),
60 SubmittedTasks: remoteDownload.SubmittedTasks(),
61 SuspendingTasks: remoteDownload.SuspendingTasks(),
62 })
63 res = append(res, QueueMetric{
64 Name: setting.QueueTypeThumb,
65 BusyWorkers: thumb.BusyWorkers(),
66 SuccessTasks: thumb.SuccessTasks(),
67 FailureTasks: thumb.FailureTasks(),
68 SubmittedTasks: thumb.SubmittedTasks(),
69 SuspendingTasks: thumb.SuspendingTasks(),
70 })
71
72 return res, nil
73}
74
75const (
76 taskTypeCondition = "task_type"

Callers 1

AdminGetQueueMetricsFunction · 0.92

Calls 11

FromContextFunction · 0.92
MediaMetaQueueMethod · 0.65
EntityRecycleQueueMethod · 0.65
IoIntenseQueueMethod · 0.65
RemoteDownloadQueueMethod · 0.65
ThumbQueueMethod · 0.65
BusyWorkersMethod · 0.65
SuccessTasksMethod · 0.65
FailureTasksMethod · 0.65
SubmittedTasksMethod · 0.65
SuspendingTasksMethod · 0.65

Tested by

no test coverage detected