1
|
import * as prom from 'prom-client';
|
2
|
|
3
|
|
4
|
export class Prometheus {
|
5
|
|
6
|
register = new prom.Registry();
|
7
|
|
8
|
counters: Map<string, prom.Counter> = new Map<string, prom.Counter>([
|
9
|
["/", new prom.Counter({
|
10
|
name: 'home',
|
11
|
help: 'Home Page Counter',
|
12
|
registers: [this.register]
|
13
|
})],
|
14
|
["/search/publication", new prom.Counter({
|
15
|
name: 'search_publication',
|
16
|
help: 'Publication Landing Page Counter',
|
17
|
registers: [this.register]
|
18
|
})],
|
19
|
["/search/dataset", new prom.Counter({
|
20
|
name: 'search_dataset',
|
21
|
help: 'Dataset Landing Page Counter',
|
22
|
registers: [this.register]
|
23
|
})],
|
24
|
["/search/software", new prom.Counter({
|
25
|
name: 'search_software',
|
26
|
help: 'Software Landing Page Counter',
|
27
|
registers: [this.register]
|
28
|
})],
|
29
|
["/search/other", new prom.Counter({
|
30
|
name: 'search_other',
|
31
|
help: 'Other Landing Page Counter',
|
32
|
registers: [this.register]
|
33
|
})],
|
34
|
["/search/project", new prom.Counter({
|
35
|
name: 'search_project',
|
36
|
help: 'Project Landing Page Counter',
|
37
|
registers: [this.register]
|
38
|
})],
|
39
|
["/search/dataprovider", new prom.Counter({
|
40
|
name: 'search_dataprovider',
|
41
|
help: 'DataProvider Landing Page Counter',
|
42
|
registers: [this.register]
|
43
|
})],
|
44
|
["/search/organization", new prom.Counter({
|
45
|
name: 'search_organization',
|
46
|
help: 'organization Landing Page Counter',
|
47
|
registers: [this.register]
|
48
|
})],
|
49
|
["/search/find", new prom.Counter({
|
50
|
name: 'search_find',
|
51
|
help: 'Main Search Page Counter',
|
52
|
registers: [this.register]
|
53
|
})],
|
54
|
["/search/find/publications", new prom.Counter({
|
55
|
name: 'search_find_publications',
|
56
|
help: 'Publications Search Page Counter',
|
57
|
registers: [this.register]
|
58
|
})],
|
59
|
["/search/find/datasets", new prom.Counter({
|
60
|
name: 'search_find_datasets',
|
61
|
help: 'Datasets Search Page Counter',
|
62
|
registers: [this.register]
|
63
|
})],
|
64
|
["/search/find/software", new prom.Counter({
|
65
|
name: 'search_find_software',
|
66
|
help: 'Software Search Page Counter',
|
67
|
registers: [this.register]
|
68
|
})],
|
69
|
["/search/find/other", new prom.Counter({
|
70
|
name: 'search_find_other',
|
71
|
help: 'Other Search Page Counter',
|
72
|
registers: [this.register]
|
73
|
})],
|
74
|
["/search/find/projects", new prom.Counter({
|
75
|
name: 'search_find_projects',
|
76
|
help: 'Projects Search Page Counter',
|
77
|
registers: [this.register]
|
78
|
})],
|
79
|
["/search/find/dataproviders", new prom.Counter({
|
80
|
name: 'search_find_dataproviders',
|
81
|
help: 'DataProviders Search Page Counter',
|
82
|
registers: [this.register]
|
83
|
})],
|
84
|
["/search/find/organizations", new prom.Counter({
|
85
|
name: 'search_find_organizations',
|
86
|
help: 'Organizations Search Page Counter',
|
87
|
registers: [this.register]
|
88
|
})],
|
89
|
["/search/advanced/publications", new prom.Counter({
|
90
|
name: 'search_advanced_publications',
|
91
|
help: 'Publications Advanced Search Page Counter',
|
92
|
registers: [this.register]
|
93
|
})],
|
94
|
["/search/advanced/datasets", new prom.Counter({
|
95
|
name: 'search_advanced_datasets',
|
96
|
help: 'Datasets Advanced Search Page Counter',
|
97
|
registers: [this.register]
|
98
|
})],
|
99
|
["/search/advanced/software", new prom.Counter({
|
100
|
name: 'search_advanced_software',
|
101
|
help: 'Software Advanced Search Page Counter',
|
102
|
registers: [this.register]
|
103
|
})],
|
104
|
["/search/advanced/other", new prom.Counter({
|
105
|
name: 'search_advanced_other',
|
106
|
help: 'Other Advanced Search Page Counter',
|
107
|
registers: [this.register]
|
108
|
})],
|
109
|
["/search/advanced/projects", new prom.Counter({
|
110
|
name: 'search_advanced_projects',
|
111
|
help: 'Projects Advanced Search Page Counter',
|
112
|
registers: [this.register]
|
113
|
})],
|
114
|
["/search/advanced/dataproviders", new prom.Counter({
|
115
|
name: 'search_advanced_dataproviders',
|
116
|
help: 'DataProviders Advanced Search Page Counter',
|
117
|
registers: [this.register]
|
118
|
})],
|
119
|
["/search/advanced/organizations", new prom.Counter({
|
120
|
name: 'search_advanced_organizations',
|
121
|
help: 'Organizations Advanced Search Page Counter',
|
122
|
registers: [this.register]
|
123
|
})]
|
124
|
]);
|
125
|
}
|