├── .bsl-language-server.json
├── .github
└── workflows
│ └── sonar-scanner.yml
├── .gitignore
├── .project
├── .settings
└── org.eclipse.core.resources.prefs
├── DT-INF
└── PROJECT.PMF
├── README.md
├── sonar-project.properties
└── src
├── Catalogs
└── пэмМетрики
│ ├── Forms
│ ├── ФормаСписка
│ │ ├── Attributes
│ │ │ └── Список
│ │ │ │ └── ExtInfo
│ │ │ │ └── ListSettings.dcss
│ │ └── Form.form
│ └── ФормаЭлемента
│ │ ├── Form.form
│ │ ├── Help
│ │ └── ru.html
│ │ └── Module.bsl
│ ├── Help
│ └── ru.html
│ ├── ManagerModule.bsl
│ ├── ObjectModule.bsl
│ └── пэмМетрики.mdo
├── CommonCommands
└── пэмНастройки
│ ├── CommandModule.bsl
│ └── пэмНастройки.mdo
├── CommonForms
└── пэмНастройкиМетрик
│ ├── Form.form
│ ├── Help
│ └── ru.html
│ ├── Module.bsl
│ └── пэмНастройкиМетрик.mdo
├── CommonModules
├── пэмМетрикиВызовСервера
│ ├── Module.bsl
│ └── пэмМетрикиВызовСервера.mdo
├── пэмМетрикиКлиент
│ ├── Module.bsl
│ └── пэмМетрикиКлиент.mdo
├── пэмМетрикиСервер
│ ├── Module.bsl
│ └── пэмМетрикиСервер.mdo
└── пэмМетрикиСерверПовтИсп
│ ├── Module.bsl
│ └── пэмМетрикиСерверПовтИсп.mdo
├── CommonPictures
├── пэмPrometheusLogo
│ ├── Picture.png
│ └── пэмPrometheusLogo.mdo
├── пэмPullGreen
│ ├── Picture.png
│ └── пэмPullGreen.mdo
├── пэмPullRed
│ ├── Picture.png
│ └── пэмPullRed.mdo
├── пэмPushGreen
│ ├── Picture.png
│ └── пэмPushGreen.mdo
└── пэмPushRed
│ ├── Picture.png
│ └── пэмPushRed.mdo
├── Configuration
└── Configuration.mdo
├── Constants
├── пэмАдресСервераPushgateway
│ └── пэмАдресСервераPushgateway.mdo
├── пэмИспользоватьPushgateway
│ └── пэмИспользоватьPushgateway.mdo
├── пэмМногопоточныйРасчетМетрик
│ └── пэмМногопоточныйРасчетМетрик.mdo
├── пэмПервоначальноеЗаполнениеВыполнено
│ └── пэмПервоначальноеЗаполнениеВыполнено.mdo
├── пэмПортСервераPushgateway
│ └── пэмПортСервераPushgateway.mdo
└── пэмПутьНаСервереPushgateway
│ └── пэмПутьНаСервереPushgateway.mdo
├── Enums
├── пэмМетодыПолученияМетрик
│ └── пэмМетодыПолученияМетрик.mdo
└── пэмТипыМетрик
│ └── пэмТипыМетрик.mdo
├── HTTPServices
└── Prometheus
│ ├── Module.bsl
│ └── Prometheus.mdo
├── InformationRegisters
└── пэмСостояниеМетрик
│ ├── ManagerModule.bsl
│ └── пэмСостояниеМетрик.mdo
├── Reports
└── пэмСостояниеМетрик
│ ├── Templates
│ └── MainDataCompositionSchema
│ │ └── Template.dcs
│ └── пэмСостояниеМетрик.mdo
├── Roles
├── пэмНастройкаМетрик
│ ├── Rights.rights
│ └── пэмНастройкаМетрик.mdo
└── пэмПолучениеМетрик
│ ├── Rights.rights
│ └── пэмПолучениеМетрик.mdo
├── ScheduledJobs
├── пэмВыполнитьРасчетМетрик
│ ├── Schedule.schedule
│ └── пэмВыполнитьРасчетМетрик.mdo
└── пэмРегламентныеОперации
│ ├── Schedule.schedule
│ └── пэмРегламентныеОперации.mdo
└── Subsystems
└── Prometheus
├── CommandInterface.cmi
└── Prometheus.mdo
/.bsl-language-server.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://raw.githubusercontent.com/1c-syntax/bsl-language-server/master/src/main/resources/com/github/_1c_syntax/bsl/languageserver/configuration/schema.json",
3 | "diagnostics": {
4 | "computeTrigger": "onType",
5 | "parameters": {
6 | "Typo": {
7 | "minWordLength": 4,
8 | "userWordsToIgnore": "Выводитель"
9 | },
10 | "LineLength": {
11 | "maxLineLength": 140
12 | },
13 | "ConsecutiveEmptyLines": {
14 | "allowedEmptyLinesCount": 2
15 | }
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/.github/workflows/sonar-scanner.yml:
--------------------------------------------------------------------------------
1 | name: sonar-scanner
2 |
3 | on:
4 | pull_request:
5 | branches:
6 | - master
7 | push:
8 | branches:
9 | - master
10 |
11 | jobs:
12 | SonarScanner:
13 | if: github.repository == 'freewms/PDE'
14 | runs-on: ubuntu-latest
15 | steps:
16 | - name: Checkout
17 | uses: actions/checkout@v1
18 | with:
19 | fetch-depth: 0
20 | - name: Configure env vars for SonarCloud scan
21 | env:
22 | ACTIONS_ALLOW_UNSECURE_COMMANDS: true
23 | run: |
24 | echo "::set-env name=PATH::/opt/sonar-scanner/bin:$PATH"
25 |
26 | - name: Compute branch name
27 | env:
28 | ACTIONS_ALLOW_UNSECURE_COMMANDS: true
29 | uses: nixel2007/branch-name@v3
30 |
31 | - name: Извлечение версии
32 | shell: bash
33 | run: echo "##[set-output name=version;]` cat ./src/Configuration/Configuration.mdo | grep -oP '(?<=).*(?=)'`"
34 | id: extract_version
35 |
36 | - name: SonarCloud Scan on push
37 | if: github.event_name == 'push'
38 | uses: nixel2007/sonarcloud-github-action@v1.4
39 | env:
40 | ACTIONS_ALLOW_UNSECURE_COMMANDS: true
41 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
43 | with:
44 | args: >
45 | -Dsonar.host.url=https://sonar.openbsl.ru
46 | -Dsonar.branch.name=${{ env.BRANCH_NAME }}
47 | -Dsonar.projectVersion=${{ steps.extract_version.outputs.version }}
48 |
49 | - name: SonarCloud Scan on PR
50 | if: github.event_name == 'pull_request'
51 | uses: nixel2007/sonarcloud-github-action@v1.4
52 | env:
53 | ACTIONS_ALLOW_UNSECURE_COMMANDS: true
54 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
55 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
56 | with:
57 | args: >
58 | -Dsonar.host.url=https://sonar.openbsl.ru
59 | -Dsonar.pullrequest.key=${{ github.event.pull_request.number }}
60 | -Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }}
61 | -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }}
62 | -Dsonar.scm.revision=${{ github.event.pull_request.head.sha }}
63 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | .scannerwork/
3 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | PDE
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.xtext.ui.shared.xtextBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.xtext.ui.shared.xtextNature
16 | com._1c.g5.v8.dt.core.V8ConfigurationNature
17 |
18 |
19 |
--------------------------------------------------------------------------------
/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding/=UTF-8
3 |
--------------------------------------------------------------------------------
/DT-INF/PROJECT.PMF:
--------------------------------------------------------------------------------
1 | Runtime-Version: 8.3.16
2 | Manifest-Version: 1.0
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Prometheus data exporter (PDE)
2 |
3 | [](https://sonar.openbsl.ru/dashboard?id=PDE)
4 | [](https://sonar.openbsl.ru/dashboard?id=PDE)
5 | [](https://sonar.openbsl.ru/dashboard?id=PDE)
6 | [](https://github.com/freewms/PDE/stargazers)
7 | [](https://github.com/freewms/PDE/releases)
8 | [](https://github.com/freewms/PDE/releases)
9 |
10 | Встраиваемая конфигурация на платформе "1С:Предприятия" для сбора и передачи метрик в систему мониторинга "Prometheus"
11 |
12 | ## Описание
13 |
14 | Статья на [Инфостарт](https://infostart.ru/public/811821/)
15 |
16 | ## Настройка
17 |
18 | Добавление цели для Prometheus. Пути указаны для ОС Debian.
19 |
20 | ### При наличии авторизации на стороне 1С
21 |
22 | ```bash
23 | cat >> /etc/prometheus/prometheus.yml <> /etc/prometheus/prometheus.yml <
2 |
3 |
4 | Normal
5 | dfcece9d-5077-440b-b6b3-45a5cb4538eb
6 |
7 |
8 | Normal
9 | 88619765-ccb3-46c6-ac52-38e9c992ebd4
10 |
11 |
12 | Normal
13 | b75fecce-942b-4aed-abc9-e6a02e460fb3
14 |
15 | Normal
16 | 911b6018-f537-43e8-a417-da56b22f9aec
17 |
18 |
--------------------------------------------------------------------------------
/src/Catalogs/пэмМетрики/Forms/ФормаСписка/Form.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | СписокКомпоновщикНастроекПользовательскиеНастройки
5 | 1
6 | true
7 | true
8 |
9 | true
10 |
11 |
12 | ru
13 | User settings group
14 |
15 | false
16 |
17 | СписокКомпоновщикНастроекПользовательскиеНастройкиРасширеннаяПодсказка
18 | 2
19 | true
20 | true
21 |
22 | true
23 |
24 | Label
25 | true
26 | true
27 |
28 | Left
29 |
30 |
31 | UsualGroup
32 |
33 | Vertical
34 | WeakSeparation
35 | true
36 | true
37 | Auto
38 | Auto
39 |
40 |
41 |
42 | Список
43 | 3
44 | true
45 | true
46 |
47 | true
48 |
49 |
50 | Список
51 |
52 | true
53 | None
54 |
55 | Активность
56 | 25
57 | true
58 | true
59 |
60 | true
61 |
62 |
63 |
64 | Список.Активность
65 |
66 |
67 |
68 | АктивностьРасширеннаяПодсказка
69 | 27
70 | true
71 | true
72 |
73 | true
74 |
75 | Label
76 | true
77 | true
78 |
79 | Left
80 |
81 |
82 |
83 | АктивностьКонтекстноеМеню
84 | 26
85 | true
86 | true
87 |
88 | true
89 |
90 | true
91 |
92 | CheckBoxField
93 | Enter
94 | true
95 | Left
96 | true
97 |
98 |
99 |
100 | Наименование
101 | 19
102 |
103 | ru
104 | Наименование
105 |
106 | true
107 | true
108 |
109 | true
110 |
111 |
112 |
113 | Список.Description
114 |
115 |
116 |
117 | НаименованиеРасширеннаяПодсказка
118 | 21
119 | true
120 | true
121 |
122 | true
123 |
124 | Label
125 | true
126 | true
127 |
128 | Left
129 |
130 |
131 |
132 | НаименованиеКонтекстноеМеню
133 | 20
134 | true
135 | true
136 |
137 | true
138 |
139 | true
140 |
141 | LabelField
142 | Enter
143 | true
144 | Left
145 | true
146 |
147 | true
148 | true
149 |
150 |
151 |
152 | ТипМетрики
153 | 31
154 |
155 | ru
156 | Тип
157 |
158 | true
159 | true
160 |
161 | true
162 |
163 |
164 |
165 | Список.ТипМетрики
166 |
167 |
168 |
169 | ТипМетрикиРасширеннаяПодсказка
170 | 33
171 | true
172 | true
173 |
174 | true
175 |
176 | Label
177 | true
178 | true
179 |
180 | Left
181 |
182 |
183 |
184 | ТипМетрикиКонтекстноеМеню
185 | 32
186 | true
187 | true
188 |
189 | true
190 |
191 | true
192 |
193 | InputField
194 | Enter
195 | true
196 | Left
197 | true
198 |
199 | true
200 | true
201 | true
202 | true
203 | true
204 | true
205 |
206 |
207 |
208 | МетодПолученияМетрики
209 | 28
210 |
211 | ru
212 | Метод
213 |
214 | true
215 | true
216 |
217 | true
218 |
219 |
220 |
221 | Список.МетодПолученияМетрики
222 |
223 |
224 |
225 | МетодПолученияМетрикиРасширеннаяПодсказка
226 | 30
227 | true
228 | true
229 |
230 | true
231 |
232 | Label
233 | true
234 | true
235 |
236 | Left
237 |
238 |
239 |
240 | МетодПолученияМетрикиКонтекстноеМеню
241 | 29
242 | true
243 | true
244 |
245 | true
246 |
247 | true
248 |
249 | InputField
250 | Enter
251 | true
252 | Left
253 | true
254 |
255 | true
256 | true
257 | true
258 | true
259 | true
260 | true
261 |
262 |
263 |
264 | Ссылка
265 | 22
266 | true
267 | true
268 |
269 |
270 | Role.пэмНастройкаМетрик
271 |
272 |
273 | Role.пэмПолучениеМетрик
274 |
275 |
276 |
277 |
278 | Список.Ref
279 |
280 |
281 |
282 | СсылкаРасширеннаяПодсказка
283 | 24
284 | true
285 | true
286 |
287 | true
288 |
289 | Label
290 | true
291 | true
292 |
293 | Left
294 |
295 |
296 |
297 | СсылкаКонтекстноеМеню
298 | 23
299 | true
300 | true
301 |
302 | true
303 |
304 | true
305 |
306 | InputField
307 | Enter
308 | true
309 | Left
310 | true
311 |
312 | true
313 | true
314 | true
315 | true
316 | true
317 | true
318 |
319 |
320 | None
321 |
322 | СписокКоманднаяПанель
323 | 5
324 | true
325 | true
326 |
327 | true
328 |
329 | Left
330 |
331 |
332 | true
333 | true
334 |
335 | true
336 |
337 | СписокСтрокаПоиска
338 | 7
339 |
340 | СписокСтрокаПоискаРасширеннаяПодсказка
341 | 9
342 | true
343 | true
344 |
345 | true
346 |
347 | Label
348 | true
349 | true
350 |
351 | Left
352 |
353 |
354 |
355 | СписокСтрокаПоискаКонтекстноеМеню
356 | 8
357 | true
358 | true
359 |
360 | true
361 |
362 | true
363 |
364 |
365 | true
366 |
367 |
368 |
369 | true
370 | true
371 |
372 | true
373 |
374 | СписокСостояниеПросмотра
375 | 10
376 |
377 | СписокСостояниеПросмотраРасширеннаяПодсказка
378 | 12
379 | true
380 | true
381 |
382 | true
383 |
384 | Label
385 | true
386 | true
387 |
388 | Left
389 |
390 |
391 |
392 | СписокСостояниеПросмотраКонтекстноеМеню
393 | 11
394 | true
395 | true
396 |
397 | true
398 |
399 | true
400 |
401 | ViewStatusAddition
402 |
403 | true
404 | Left
405 |
406 |
407 |
408 | true
409 | true
410 |
411 | true
412 |
413 | СписокУправлениеПоиском
414 | 13
415 |
416 | СписокУправлениеПоискомРасширеннаяПодсказка
417 | 15
418 | true
419 | true
420 |
421 | true
422 |
423 | Label
424 | true
425 | true
426 |
427 | Left
428 |
429 |
430 |
431 | СписокУправлениеПоискомКонтекстноеМеню
432 | 14
433 | true
434 | true
435 |
436 | true
437 |
438 | true
439 |
440 | SearchControlAddition
441 |
442 | true
443 |
444 |
445 |
446 | СписокРасширеннаяПодсказка
447 | 6
448 | true
449 | true
450 |
451 | true
452 |
453 | Label
454 | true
455 | true
456 |
457 | Left
458 |
459 |
460 |
461 | СписокКонтекстноеМеню
462 | 4
463 | true
464 | true
465 |
466 | true
467 |
468 | true
469 |
470 | HierarchicalList
471 | true
472 | true
473 | true
474 | true
475 | true
476 | MultiRow
477 |
478 | 1
479 | 1
480 | AutoUse
481 | AutoUse
482 | true
483 | true
484 | true
485 | Auto
486 | Auto
487 | true
488 | true
489 | true
490 | true
491 |
492 | Список.DefaultPicture
493 |
494 |
495 | 60
496 |
497 | 0001-01-01T00:00:00
498 | 0001-01-01T00:00:00
499 |
500 |
501 | true
502 | СписокКомпоновщикНастроекПользовательскиеНастройки
503 |
504 |
505 |
506 | ФормаКоманднаяПанель
507 | -1
508 | true
509 | true
510 |
511 | true
512 |
513 | Left
514 | true
515 |
516 | true
517 | true
518 | Vertical
519 | true
520 | true
521 | true
522 | true
523 | true
524 |
525 | Список
526 | 1
527 |
528 | DynamicList
529 |
530 |
531 | true
532 |
533 |
534 | true
535 |
536 | true
537 |
538 | Catalog.пэмМетрики
539 | true
540 | true
541 | true
542 | true
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
--------------------------------------------------------------------------------
/src/Catalogs/пэмМетрики/Forms/ФормаЭлемента/Form.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ГруппаШапка
5 | 17
6 |
7 | ГруппаОсновное
8 | 47
9 |
10 | Код
11 | 39
12 |
13 | ru
14 | Имя метрики
15 |
16 | true
17 | true
18 |
19 | true
20 |
21 |
22 |
23 | Объект.Code
24 |
25 |
26 |
27 | КодРасширеннаяПодсказка
28 | 41
29 | true
30 | true
31 |
32 | true
33 |
34 | Label
35 | true
36 | true
37 |
38 | Left
39 |
40 |
41 |
42 | КодКонтекстноеМеню
43 | 40
44 | true
45 | true
46 |
47 | true
48 |
49 | true
50 |
51 | InputField
52 | Enter
53 | true
54 | Left
55 | true
56 |
57 | true
58 | true
59 | true
60 | true
61 | true
62 |
63 |
64 |
65 | Активность
66 | 25
67 | true
68 | true
69 |
70 | true
71 |
72 |
73 |
74 | Объект.Активность
75 |
76 |
77 | Right
78 |
79 | OnChange
80 | АктивностьПриИзменении
81 |
82 |
83 | АктивностьРасширеннаяПодсказка
84 | 27
85 | true
86 | true
87 |
88 | true
89 |
90 | Label
91 | true
92 | true
93 |
94 | Left
95 |
96 |
97 |
98 | АктивностьКонтекстноеМеню
99 | 26
100 | true
101 | true
102 |
103 | true
104 |
105 | true
106 |
107 | CheckBoxField
108 | Enter
109 | true
110 | Left
111 | true
112 |
113 |
114 | true
115 | true
116 |
117 | true
118 |
119 |
120 | ГруппаОсновноеРасширеннаяПодсказка
121 | 48
122 | true
123 | true
124 |
125 | true
126 |
127 | Label
128 | true
129 | true
130 |
131 | Left
132 |
133 |
134 | UsualGroup
135 |
136 | HorizontalIfPossible
137 | true
138 | true
139 | Auto
140 | Auto
141 |
142 |
143 |
144 | ГруппаШапкаОписание
145 | 60
146 |
147 | Наименование
148 | 4
149 | true
150 | true
151 |
152 | true
153 |
154 |
155 |
156 | Объект.Description
157 |
158 |
159 |
160 | НаименованиеРасширеннаяПодсказка
161 | 6
162 | true
163 | true
164 |
165 | true
166 |
167 | Label
168 | true
169 | true
170 |
171 | Left
172 |
173 |
174 |
175 | НаименованиеКонтекстноеМеню
176 | 5
177 | true
178 | true
179 |
180 | true
181 |
182 | true
183 |
184 | InputField
185 | EnterOnInput
186 | true
187 | Left
188 | true
189 |
190 | true
191 | true
192 | true
193 | true
194 | true
195 |
196 |
197 |
198 | ТипМетрики
199 | 7
200 |
201 | ru
202 | Тип
203 |
204 | true
205 | true
206 |
207 | true
208 |
209 |
210 |
211 | Объект.ТипМетрики
212 |
213 |
214 |
215 | ТипМетрикиРасширеннаяПодсказка
216 | 9
217 | true
218 | true
219 |
220 | true
221 |
222 | Label
223 | true
224 | true
225 |
226 | Left
227 |
228 |
229 |
230 | ТипМетрикиКонтекстноеМеню
231 | 8
232 | true
233 | true
234 |
235 | true
236 |
237 | true
238 |
239 | InputField
240 | EnterOnInput
241 | true
242 | Left
243 | true
244 |
245 | true
246 | true
247 | true
248 | true
249 | true
250 |
251 |
252 |
253 | ГруппаШапкаМетод
254 | 49
255 |
256 | МетодПолученияМетрики
257 | 19
258 |
259 | ru
260 | Метод
261 |
262 | true
263 | true
264 |
265 | true
266 |
267 |
268 |
269 | Объект.МетодПолученияМетрики
270 |
271 |
272 |
273 | OnChange
274 | МетодПолученияМетрикиПриИзменении
275 |
276 |
277 | МетодПолученияМетрикиРасширеннаяПодсказка
278 | 21
279 | true
280 | true
281 |
282 | true
283 |
284 | Label
285 | true
286 | true
287 |
288 | Left
289 |
290 |
291 |
292 | МетодПолученияМетрикиКонтекстноеМеню
293 | 20
294 | true
295 | true
296 |
297 | true
298 |
299 | true
300 |
301 | InputField
302 | Enter
303 | true
304 | Left
305 | true
306 |
307 | true
308 | true
309 | true
310 | true
311 | true
312 |
313 |
314 |
315 | ПерсональноеРасписание
316 | 57
317 | true
318 | true
319 |
320 | true
321 |
322 |
323 |
324 | ПерсональноеРасписание
325 |
326 |
327 | Right
328 |
329 | OnChange
330 | ПерсональноеРасписаниеПриИзменении
331 |
332 |
333 | ПерсональноеРасписаниеРасширеннаяПодсказка
334 | 59
335 | true
336 | true
337 |
338 | true
339 |
340 | Label
341 | true
342 | true
343 |
344 | Left
345 |
346 |
347 |
348 | ПерсональноеРасписаниеКонтекстноеМеню
349 | 58
350 | true
351 | true
352 |
353 | true
354 |
355 | true
356 |
357 | CheckBoxField
358 | Enter
359 | true
360 | Left
361 | true
362 |
363 |
364 | true
365 | true
366 |
367 | true
368 |
369 | true
370 | Left
371 |
372 | ГруппаШапкаМетодРасширеннаяПодсказка
373 | 50
374 | true
375 | true
376 |
377 | true
378 |
379 | Label
380 | true
381 | true
382 |
383 | Left
384 |
385 |
386 | UsualGroup
387 |
388 | AlwaysHorizontal
389 | NormalSeparation
390 | true
391 | true
392 | Auto
393 |
394 |
395 | true
396 | true
397 |
398 | true
399 |
400 |
401 | ГруппаШапкаОписаниеРасширеннаяПодсказка
402 | 61
403 | true
404 | true
405 |
406 | true
407 |
408 | Label
409 | true
410 | true
411 |
412 | Left
413 |
414 |
415 | UsualGroup
416 |
417 | Vertical
418 | true
419 | true
420 | Auto
421 |
422 |
423 |
424 | ГруппаШапкаСостояние
425 | 71
426 |
427 | СостояниеМетодаДоставки
428 | 68
429 |
430 | ru
431 | Состояние метода доставки
432 |
433 | true
434 | true
435 |
436 | true
437 |
438 |
439 | СостояниеМетодаДоставкиРасширеннаяПодсказка
440 | 70
441 | true
442 | true
443 |
444 | true
445 |
446 | Label
447 | true
448 | true
449 |
450 | Left
451 |
452 |
453 |
454 | СостояниеМетодаДоставкиКонтекстноеМеню
455 | 69
456 | true
457 | true
458 |
459 | true
460 |
461 | true
462 |
463 | 9
464 | 2
465 | true
466 |
467 | Proportionally
468 | AsFileRef
469 |
470 |
471 |
472 | ОписаниеМетодаДоставкиМетрики
473 | 44
474 |
475 | ru
476 | Описание метода доставки метрики
477 |
478 | true
479 | true
480 |
481 | true
482 |
483 |
484 | ОписаниеМетодаДоставкиМетрикиРасширеннаяПодсказка
485 | 46
486 | true
487 | true
488 |
489 | true
490 |
491 | Label
492 | true
493 | true
494 |
495 | Left
496 |
497 |
498 |
499 | ОписаниеМетодаДоставкиМетрикиКонтекстноеМеню
500 | 45
501 | true
502 | true
503 |
504 | true
505 |
506 | true
507 |
508 | Label
509 | true
510 | true
511 | true
512 | Center
513 |
514 |
515 | Click
516 | ОписаниеМетодаДоставкиМетрикиНажатие
517 |
518 | true
519 | Left
520 |
521 |
522 | true
523 | true
524 |
525 | true
526 |
527 | true
528 |
529 | ГруппаШапкаСостояниеРасширеннаяПодсказка
530 | 72
531 | true
532 | true
533 |
534 | true
535 |
536 | Label
537 | true
538 | true
539 |
540 | Left
541 |
542 |
543 | UsualGroup
544 |
545 | AlwaysHorizontal
546 | true
547 | true
548 | Auto
549 | Auto
550 |
551 |
552 | true
553 | true
554 |
555 | true
556 |
557 |
558 | ГруппаШапкаРасширеннаяПодсказка
559 | 18
560 | true
561 | true
562 |
563 | true
564 |
565 | Label
566 | true
567 | true
568 |
569 | Left
570 |
571 |
572 | UsualGroup
573 |
574 | Vertical
575 | true
576 | true
577 | Auto
578 | Auto
579 |
580 |
581 |
582 | Алгоритм
583 | 33
584 | true
585 | true
586 |
587 | true
588 |
589 |
590 |
591 | Объект.Алгоритм
592 |
593 |
594 | None
595 |
596 | АлгоритмРасширеннаяПодсказка
597 | 35
598 | true
599 | true
600 |
601 | true
602 |
603 | Label
604 | true
605 | true
606 |
607 | Left
608 |
609 |
610 |
611 | АлгоритмКонтекстноеМеню
612 | 34
613 | true
614 | true
615 |
616 | true
617 |
618 | true
619 |
620 | InputField
621 | Enter
622 | true
623 | Left
624 | true
625 |
626 | true
627 | true
628 | true
629 | true
630 | true
631 | true
632 | true
633 |
634 |
635 |
636 | ФормаКоманднаяПанель
637 | -1
638 |
639 | ФормаВыполнитьПроверкуАлгоритма
640 | 42
641 |
642 | ru
643 | Проверить алгоритм
644 |
645 | true
646 | true
647 |
648 | true
649 |
650 |
651 | ФормаВыполнитьПроверкуАлгоритмаРасширеннаяПодсказка
652 | 43
653 | true
654 | true
655 |
656 | true
657 |
658 | Label
659 | true
660 | true
661 |
662 | Left
663 |
664 |
665 | Form.Command.ВыполнитьПроверкуАлгоритма
666 | Auto
667 | true
668 | true
669 | UserCmds
670 | Auto
671 |
672 | true
673 | true
674 |
675 | true
676 |
677 | Left
678 | true
679 |
680 |
681 | OnOpen
682 | ПриОткрытии
683 |
684 |
685 | OnCreateAtServer
686 | ПриСозданииНаСервере
687 |
688 |
689 | FillCheckProcessingAtServer
690 | ОбработкаПроверкиЗаполненияНаСервере
691 |
692 | LockOwnerWindow
693 | true
694 | true
695 | Vertical
696 | true
697 | true
698 | true
699 | true
700 | true
701 |
702 | Объект
703 | 1
704 |
705 | CatalogObject.пэмМетрики
706 |
707 |
708 | true
709 |
710 |
711 | true
712 |
713 | true
714 | true
715 |
716 |
717 | ПредставлениеРасписания
718 |
719 | ru
720 | Представление расписания
721 |
722 | 3
723 |
724 | String
725 |
726 |
727 |
728 | true
729 |
730 |
731 | true
732 |
733 |
734 |
735 | ПерсональноеРасписание
736 |
737 | ru
738 | Персональное расписание
739 |
740 | 5
741 |
742 | Boolean
743 |
744 |
745 | true
746 |
747 |
748 | true
749 |
750 |
751 |
752 | ПараметрыРегламентногоЗадания
753 |
754 | ru
755 | Параметры регламентного задания
756 |
757 | 4
758 |
759 |
760 | true
761 |
762 |
763 | true
764 |
765 |
766 |
767 | ВыполнитьПроверкуАлгоритма
768 |
769 | ru
770 | Выполнить проверку алгоритма
771 |
772 | 1
773 |
774 | ru
775 | Выполнить проверку алгоритма
776 |
777 |
780 |
781 |
782 | ВыполнитьПроверкуАлгоритма
783 |
784 |
785 | Auto
786 |
787 |
788 |
789 |
790 |
791 |
792 |
793 | BeforeWriteAtServer
794 | ПередЗаписьюНаСервере
795 |
796 |
797 |
798 |
--------------------------------------------------------------------------------
/src/Catalogs/пэмМетрики/Forms/ФормаЭлемента/Help/ru.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Catalogs/пэмМетрики/Forms/ФормаЭлемента/Module.bsl:
--------------------------------------------------------------------------------
1 | &НаКлиенте
2 | Процедура МетодПолученияМетрикиПриИзменении(Элемент)
3 |
4 | ПерсональноеРасписание = Ложь;
5 | ПараметрыРегламентногоЗадания.Предопределенное = НЕ ПерсональноеРасписание;
6 | ПодключитьОбработчикОжидания("ОбновитьСостояниеФормы", 0.1, Истина);
7 |
8 | КонецПроцедуры
9 |
10 | &НаСервере
11 | Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
12 |
13 | МаскаИмениМетрики = "[a-zA-Z_:][a-zA-Z0-9_:]*";
14 |
15 | Результат = пэмМетрикиСервер.ПроверитьСтрокуНаСоответствиеМаске(Объект.Код, МаскаИмениМетрики);
16 | Если Результат.ЕстьОшибка Тогда
17 | Отказ = Истина;
18 | Сообщить("Имя метрики не соответствует маске: " + МаскаИмениМетрики);
19 | КонецЕсли;
20 |
21 | КонецПроцедуры
22 |
23 | &НаКлиенте
24 | Процедура ПерсональноеРасписаниеПриИзменении(Элемент)
25 |
26 | ПараметрыРегламентногоЗадания.Предопределенное = НЕ ПерсональноеРасписание;
27 | Если ПерсональноеРасписание Тогда
28 | ПараметрыРегламентногоЗадания.Использование = Истина;
29 | КонецЕсли;
30 | ПодключитьОбработчикОжидания("ОбновитьСостояниеФормы", 0.1, Истина);
31 |
32 | КонецПроцедуры
33 |
34 | &НаСервере
35 | Процедура ВыполнитьПроверкуАлгоритмаРасчетаНаСервере()
36 |
37 | Если Модифицированность ИЛИ НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
38 | Сообщить("Перед выполнением проверки объект необходимо записать.");
39 | Возврат;
40 | КонецЕсли;
41 |
42 | сткВозврат = пэмМетрикиСервер.СформироватьМетрику(Объект.Алгоритм);
43 | Если сткВозврат.Ошибка Тогда
44 |
45 | Сообщить("Процесс проверки расчета завершен с ошибкой на этапе расчета.
46 | |Описание ошибки:
47 | |" + сткВозврат.ОписаниеОшибки);
48 |
49 | Возврат;
50 |
51 | КонецЕсли;
52 |
53 | сткВозврат = пэмМетрикиСервер.ПривестиТаблицуРасчетаМетрикиКСтрокеPrometheus(
54 | Объект.Код,
55 | Объект.ТипМетрики,
56 | сткВозврат.МетрикаТаблицей);
57 |
58 | Если сткВозврат.Ошибка Тогда
59 |
60 | Шаблон = "Процесс проверки расчета завершен с ошибкой на этапе преобразования.
61 | |Итоговая метрика:
62 | |%1
63 | |Описание ошибки:
64 | |%2 ";
65 |
66 | Сообщить(СтрШаблон(Шаблон, сткВозврат.МетрикаСтрокой, сткВозврат.ОписаниеОшибки));
67 |
68 | Возврат;
69 |
70 | КонецЕсли;
71 |
72 | Сообщить("Проверка алгоритма расчета завершена.
73 | |Итоговая метрика:
74 | |" + сткВозврат.МетрикаСтрокой);
75 |
76 | КонецПроцедуры
77 |
78 | &НаКлиенте
79 | Процедура ВыполнитьПроверкуАлгоритма(Команда)
80 |
81 | ВыполнитьПроверкуАлгоритмаРасчетаНаСервере();
82 |
83 | КонецПроцедуры
84 |
85 | &НаКлиенте
86 | Процедура ПриОткрытии(Отказ)
87 |
88 | Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
89 |
90 | Объект.Алгоритм = "
91 | |// В результате работы алгоритма должна получиться таблица значений с именем ""ТаблицаЗначений""
92 | |// Обязательным является наличие колонки ""value""
93 | |// В случае необходимости можно добавить дополнительные колонки, выполняющие фунции разделителей метрик
94 | |// Имена колонок должны состоять только из латинских символов
95 | |// Тип содержимого колонки ""value"" - ""Число""
96 | |// Тип содержимого остальных колонок - ""Строка""
97 | |
98 | |// Пример: |
99 | |ТаблицаЗначений = Новый ТаблицаЗначений;
100 | |ТаблицаЗначений.Колонки.Добавить(""label"", Новый ОписаниеТипов(""Строка""));
101 | |ТаблицаЗначений.Колонки.Добавить(""value"", Новый ОписаниеТипов(""Число""));
102 | |
103 | |ГСЧ = Новый ГенераторСлучайныхЧисел();
104 | |
105 | |НоваяСтрока = ТаблицаЗначений.добавить();
106 | |НоваяСтрока.label = ""Показатель_1"";
107 | |НоваяСтрока.value = ГСЧ.СлучайноеЧисло(0,100);
108 | |
109 | |НоваяСтрока = ТаблицаЗначений.добавить();
110 | |НоваяСтрока.label = ""Показатель_2"";
111 | |НоваяСтрока.value = ГСЧ.СлучайноеЧисло(0,50);";
112 |
113 | КонецЕсли;
114 |
115 | ПодключитьОбработчикОжидания("ОбновитьСостояниеФормы", 0.1, Истина);
116 |
117 | КонецПроцедуры
118 |
119 | &НаКлиенте
120 | Процедура ОбновитьСостояниеФормы() Экспорт
121 |
122 | КартинкаСостояниеМетодаДоставки = БиблиотекаКартинок.пэмPullRed;
123 | ПерсональноеРасписание = НЕ ПараметрыРегламентногоЗадания.Предопределенное;
124 |
125 | Если Объект.МетодПолученияМетрики = ПредопределенноеЗначение("Перечисление.пэмМетодыПолученияМетрик.Pull") Тогда
126 | Если Объект.Активность Тогда
127 | КартинкаСостояниеМетодаДоставки = БиблиотекаКартинок.пэмPullGreen;
128 | Иначе
129 | КартинкаСостояниеМетодаДоставки = БиблиотекаКартинок.пэмPullRed;
130 | КонецЕсли;
131 | ДоступенВыборПерсональногоРасписания = Ложь;
132 | ПредставлениеРасписания = НСтр("ru = 'Расписание доставки определяется настройками Prometheus'");
133 | Иначе
134 | Если Объект.Активность
135 | И ПараметрыРегламентногоЗадания.Использование
136 | И пэмМетрикиВызовСервера.РазрешеноИспользованиеМетодаPush() Тогда
137 | КартинкаСостояниеМетодаДоставки = БиблиотекаКартинок.пэмPushGreen;
138 | Иначе
139 | КартинкаСостояниеМетодаДоставки = БиблиотекаКартинок.пэмPushRed;
140 | КонецЕсли;
141 | ПредставлениеРасписания = пэмМетрикиКлиент.ПолучитьПредставлениеРасписания(ПараметрыРегламентногоЗадания);
142 | ДоступенВыборПерсональногоРасписания = Истина;
143 | КонецЕсли;
144 |
145 | Элементы.ОписаниеМетодаДоставкиМетрики.Заголовок = ПредставлениеРасписания;
146 | Элементы.ПерсональноеРасписание.Доступность = ДоступенВыборПерсональногоРасписания;
147 | Элементы.СостояниеМетодаДоставки.Картинка = КартинкаСостояниеМетодаДоставки;
148 |
149 | КонецПроцедуры
150 |
151 | &НаКлиенте
152 | Процедура ОписаниеМетодаДоставкиМетрикиНажатие(Элемент)
153 |
154 | Если ПараметрыРегламентногоЗадания.Предопределенное Тогда
155 | ОткрытьФорму("ОбщаяФорма.пэмНастройкиМетрик");
156 | Иначе
157 | пэмМетрикиКлиент.ОбработатьИзменениеРасписания(ПараметрыРегламентногоЗадания, ЭтотОбъект);
158 | КонецЕсли;
159 |
160 | КонецПроцедуры
161 |
162 | &НаКлиенте
163 | Процедура АктивностьПриИзменении(Элемент)
164 |
165 | ПодключитьОбработчикОжидания("ОбновитьСостояниеФормы", 0.1, Истина);
166 |
167 | КонецПроцедуры
168 |
169 | &НаСервере
170 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
171 |
172 | ПараметрыРегламентногоЗадания = пэмМетрикиСервер.ПолучитьПараметрыРегламентногоЗадания(Объект.ИдентификаторРегламента);
173 |
174 | КонецПроцедуры
175 |
176 | &НаСервере
177 | Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
178 |
179 | Если ПараметрыРегламентногоЗадания.Предопределенное Тогда
180 | ПараметрыРегламентногоЗадания.Наименование = Метаданные.РегламентныеЗадания.пэмВыполнитьРасчетМетрик.Наименование;
181 | ПараметрыРегламентногоЗадания.Ключ = Метаданные.РегламентныеЗадания.пэмВыполнитьРасчетМетрик.Ключ;
182 | ПараметрыРегламентногоЗадания.Параметры = Неопределено;
183 | Иначе
184 | НаименованиеРегламента = Метаданные.РегламентныеЗадания.пэмВыполнитьРасчетМетрик.Наименование;
185 | НаименованиеРегламента = СтрЗаменить(НаименованиеРегламента, "(Общий регламент)", "(Метрика: " + ТекущийОбъект.Код + ")");
186 | ПараметрыРегламентногоЗадания.Наименование = НаименованиеРегламента;
187 |
188 | КлючРегламента = Метаданные.РегламентныеЗадания.пэмВыполнитьРасчетМетрик.Ключ + " " + ТекущийОбъект.Код;
189 | ПараметрыРегламентногоЗадания.Ключ = КлючРегламента;
190 |
191 | ПараметрыРегламента = Новый Массив;
192 | ПараметрыРегламента.Добавить(ТекущийОбъект.Код);
193 | ПараметрыРегламентногоЗадания.Параметры = ПараметрыРегламента;
194 |
195 | ПараметрыРегламентногоЗадания.Использование = ТекущийОбъект.Активность;
196 | КонецЕсли;
197 |
198 | пэмМетрикиСервер.ОбновитьРегламентноеЗадание(ПараметрыРегламентногоЗадания);
199 | ТекущийОбъект.ИдентификаторРегламента = ПараметрыРегламентногоЗадания.УникальныйИдентификатор;
200 |
201 | КонецПроцедуры
--------------------------------------------------------------------------------
/src/Catalogs/пэмМетрики/Help/ru.html:
--------------------------------------------------------------------------------
1 | Скоро будет справка
2 |
--------------------------------------------------------------------------------
/src/Catalogs/пэмМетрики/ManagerModule.bsl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freewms/PDE/6a2f9e747b64df1d8265dd3e1ee35e721329f58d/src/Catalogs/пэмМетрики/ManagerModule.bsl
--------------------------------------------------------------------------------
/src/Catalogs/пэмМетрики/ObjectModule.bsl:
--------------------------------------------------------------------------------
1 | Процедура ПриЗаписи(Отказ)
2 |
3 | Если ОбменДанными.Загрузка Тогда
4 | Возврат;
5 | КонецЕсли;
6 |
7 | Если Активность = Ложь Тогда
8 | РегистрыСведений.пэмСостояниеМетрик.УдалитьЗапись(ЭтотОбъект);
9 | КонецЕсли;
10 |
11 | КонецПроцедуры
12 |
13 |
--------------------------------------------------------------------------------
/src/Catalogs/пэмМетрики/пэмМетрики.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | пэмМетрики
11 |
12 | ru
13 | Метрики
14 |
15 | true
16 | Catalog.пэмМетрики.StandardAttribute.Code
17 | Catalog.пэмМетрики.StandardAttribute.Description
18 | DontUse
19 | Use
20 |
21 |
22 | ru
23 |
24 |
25 | Managed
26 | Use
27 | 2
28 | true
29 | 50
30 | 100
31 | String
32 | Variable
33 | true
34 | AsDescription
35 |
36 |
37 | pde_last_refresh
38 |
39 | pde_last_refresh
40 |
41 |
42 |
43 | pde_scrape_duration
44 |
45 | pde_scrape_duration
46 |
47 |
48 |
49 | InDialog
50 | BothWays
51 | Catalog.пэмМетрики.Form.ФормаЭлемента
52 | Catalog.пэмМетрики.Form.ФормаСписка
53 |
54 | ТипМетрики
55 |
56 | ru
57 | Тип метрики
58 |
59 |
60 | EnumRef.пэмТипыМетрик
61 |
62 |
63 |
64 | ShowError
65 |
66 | Enum.пэмТипыМетрик.EnumValue.Gauge
67 |
68 |
69 |
70 | МетодПолученияМетрики
71 |
72 | ru
73 | Метод получения метрики
74 |
75 |
76 | EnumRef.пэмМетодыПолученияМетрик
77 |
78 |
79 |
80 |
81 | Enum.пэмМетодыПолученияМетрик.EnumValue.Pull
82 |
83 | Index
84 |
85 |
86 | Активность
87 |
88 | ru
89 | Активность
90 |
91 |
92 | Boolean
93 |
94 |
95 |
96 |
97 |
98 |
99 | Алгоритм
100 |
101 | ru
102 | Алгоритм
103 |
104 |
105 | String
106 |
107 |
108 |
109 |
110 | ShowError
111 |
112 |
113 |
114 |
115 |
116 | ИдентификаторРегламента
117 |
118 | ru
119 | Идентификатор регламента
120 |
121 |
122 | UUID
123 |
124 |
125 |
126 |
127 |
128 |
129 | ФормаЭлемента
130 |
131 | ru
132 | Форма элемента
133 |
134 |
135 |
136 | ru
137 |
138 |
139 | PersonalComputer
140 | MobileDevice
141 |
142 |
143 | ФормаСписка
144 |
145 | ru
146 | Форма списка
147 |
148 | PersonalComputer
149 | MobileDevice
150 |
151 |
152 |
--------------------------------------------------------------------------------
/src/CommonCommands/пэмНастройки/CommandModule.bsl:
--------------------------------------------------------------------------------
1 | #Область ОбработчикиСобытий
2 |
3 | &НаКлиенте
4 | Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
5 |
6 | ПараметрыФормы = Новый Структура();
7 | ОткрытьФорму(
8 | "ОбщаяФорма.пэмНастройкиМетрик",
9 | ПараметрыФормы,
10 | ПараметрыВыполненияКоманды.Источник,
11 | ПараметрыВыполненияКоманды.Уникальность,
12 | ПараметрыВыполненияКоманды.Окно,
13 | ПараметрыВыполненияКоманды.НавигационнаяСсылка);
14 |
15 | КонецПроцедуры
16 |
17 | #КонецОбласти
--------------------------------------------------------------------------------
/src/CommonCommands/пэмНастройки/пэмНастройки.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмНастройки
4 |
5 | ru
6 | Настройки
7 |
8 | ActionsPanelTools
9 |
10 | Auto
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/CommonForms/пэмНастройкиМетрик/Form.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ГруппаPushgateway
5 | 4
6 |
7 | пэмИспользоватьPushgateway
8 | 63
9 |
10 | ru
11 | Разрешить доставку методом PUSH
12 |
13 | true
14 | true
15 |
16 | true
17 |
18 |
19 |
20 | Константы.пэмИспользоватьPushgateway
21 |
22 |
23 | Right
24 |
25 | OnChange
26 | пэмИспользоватьPushgatewayПриИзменении
27 |
28 |
29 | пэмИспользоватьPushgatewayРасширеннаяПодсказка
30 | 65
31 | true
32 | true
33 |
34 | true
35 |
36 | Label
37 | true
38 | true
39 |
40 | Left
41 |
42 |
43 |
44 | пэмИспользоватьPushgatewayКонтекстноеМеню
45 | 64
46 | true
47 | true
48 |
49 | true
50 |
51 | true
52 |
53 | CheckBoxField
54 | Enter
55 | true
56 | Left
57 | true
58 |
59 |
60 |
61 | ГруппаPushgatewayСервер
62 | 30
63 |
64 | ГруппаPushgatewayАдресПорт
65 | 37
66 |
67 | пэмАдресСервераPushgateway
68 | 9
69 |
70 | ru
71 | Адрес
72 |
73 | true
74 | true
75 |
76 | true
77 |
78 |
79 |
80 | Константы.пэмАдресСервераPushgateway
81 |
82 |
83 |
84 | пэмАдресСервераPushgatewayРасширеннаяПодсказка
85 | 11
86 | true
87 | true
88 |
89 | true
90 |
91 | Label
92 | true
93 | true
94 |
95 | Left
96 |
97 |
98 |
99 | пэмАдресСервераPushgatewayКонтекстноеМеню
100 | 10
101 | true
102 | true
103 |
104 | true
105 |
106 | true
107 |
108 | InputField
109 | Enter
110 | true
111 | Left
112 | true
113 |
114 | true
115 | true
116 | true
117 | true
118 | true
119 | true
120 | true
121 |
122 |
123 |
124 | пэмПортСервераPushgateway
125 | 6
126 |
127 | ru
128 | Порт
129 |
130 | true
131 | true
132 |
133 | true
134 |
135 |
136 |
137 | Константы.пэмПортСервераPushgateway
138 |
139 |
140 |
141 | пэмПортСервераPushgatewayРасширеннаяПодсказка
142 | 8
143 | true
144 | true
145 |
146 | true
147 |
148 | Label
149 | true
150 | true
151 |
152 | Left
153 |
154 |
155 |
156 | пэмПортСервераPushgatewayКонтекстноеМеню
157 | 7
158 | true
159 | true
160 |
161 | true
162 |
163 | true
164 |
165 | InputField
166 | Enter
167 | true
168 | Left
169 | true
170 |
171 | true
172 | true
173 | true
174 |
175 | ru
176 | ЧН=; ЧГ=0
177 |
178 | true
179 | true
180 | true
181 |
182 |
183 | true
184 | true
185 |
186 | true
187 |
188 |
189 | ru
190 | Параметры подключения к Pushgateway
191 |
192 |
193 | ru
194 | Группа pushgateway адрес порт
195 |
196 |
197 | ГруппаPushgatewayАдресПортРасширеннаяПодсказка
198 | 38
199 | true
200 | true
201 |
202 | true
203 |
204 | Label
205 | true
206 | true
207 |
208 | Left
209 |
210 |
211 | UsualGroup
212 |
213 | HorizontalIfPossible
214 | true
215 | true
216 | true
217 | Auto
218 | Auto
219 |
220 |
221 |
222 | пэмПутьНаСервереPushgateway
223 | 34
224 |
225 | ru
226 | Путь
227 |
228 | true
229 | true
230 |
231 | true
232 |
233 |
234 |
235 | Константы.пэмПутьНаСервереPushgateway
236 |
237 |
238 |
239 | пэмПутьНаСервереPushgatewayРасширеннаяПодсказка
240 | 36
241 | true
242 | true
243 |
244 | true
245 |
246 | Label
247 | true
248 | true
249 |
250 | Left
251 |
252 |
253 |
254 | пэмПутьНаСервереPushgatewayКонтекстноеМеню
255 | 35
256 | true
257 | true
258 |
259 | true
260 |
261 | true
262 |
263 | InputField
264 | Enter
265 | true
266 | Left
267 | true
268 |
269 | true
270 | true
271 | true
272 | true
273 | true
274 | true
275 |
276 |
277 |
278 | ГруппаНастройкиРегламентногоЗадания
279 | 49
280 |
281 | ИспользоватьОбщийРегламент
282 | 60
283 |
284 | ru
285 | Использовать общий регламент
286 |
287 | true
288 | true
289 |
290 | true
291 |
292 |
293 |
294 | Использование
295 |
296 |
297 | Right
298 |
299 | OnChange
300 | ИспользоватьОбщийРегламентПриИзменении
301 |
302 |
303 | ИспользоватьОбщийРегламентРасширеннаяПодсказка
304 | 62
305 | true
306 | true
307 |
308 | true
309 |
310 | Label
311 | true
312 | true
313 |
314 | Left
315 |
316 |
317 |
318 | ИспользоватьОбщийРегламентКонтекстноеМеню
319 | 61
320 | true
321 | true
322 |
323 | true
324 |
325 | true
326 |
327 | CheckBoxField
328 | Enter
329 | true
330 | Left
331 | true
332 |
333 |
334 |
335 | ОписаниеРасписанияМетрики
336 | 71
337 |
338 | ru
339 | Описание расписания метрики
340 |
341 | true
342 | true
343 |
344 | true
345 |
346 |
347 | ОписаниеРасписанияМетрикиРасширеннаяПодсказка
348 | 73
349 | true
350 | true
351 |
352 | true
353 |
354 | Label
355 | true
356 | true
357 |
358 | Left
359 |
360 |
361 |
362 | ОписаниеРасписанияМетрикиКонтекстноеМеню
363 | 72
364 | true
365 | true
366 |
367 | true
368 |
369 | true
370 |
371 | Label
372 | true
373 | true
374 | true
375 | Center
376 |
377 |
378 | Click
379 | ОписаниеРасписанияМетрикиНажатие
380 |
381 | true
382 | Left
383 |
384 |
385 | true
386 | true
387 |
388 | true
389 |
390 |
391 | ru
392 | Параметры доставки по-умолчанию
393 |
394 |
395 | ГруппаНастройкиРегламентногоЗаданияРасширеннаяПодсказка
396 | 50
397 | true
398 | true
399 |
400 | true
401 |
402 | Label
403 | true
404 | true
405 |
406 | Left
407 |
408 |
409 | UsualGroup
410 |
411 | Vertical
412 | true
413 | true
414 | true
415 | Auto
416 | Auto
417 |
418 |
419 | true
420 | true
421 |
422 | true
423 |
424 |
425 | ГруппаPushgatewayСерверРасширеннаяПодсказка
426 | 31
427 | true
428 | true
429 |
430 | true
431 |
432 | Label
433 | true
434 | true
435 |
436 | Left
437 |
438 |
439 | UsualGroup
440 |
441 | Vertical
442 | true
443 | true
444 | Auto
445 | Auto
446 |
447 |
448 | true
449 | true
450 |
451 | true
452 |
453 |
454 | ru
455 | Настройки метода PUSH
456 |
457 |
458 | ГруппаPushgatewayРасширеннаяПодсказка
459 | 5
460 | true
461 | true
462 |
463 | true
464 |
465 | Label
466 | true
467 | true
468 |
469 | Left
470 |
471 |
472 | UsualGroup
473 |
474 | Vertical
475 | WeakSeparation
476 | true
477 | true
478 | true
479 | Auto
480 | Auto
481 |
482 |
483 |
484 | ГруппаМногопоточность
485 | 20
486 |
487 | пэмМногопоточныйРасчетМетрик
488 | 14
489 |
490 | ru
491 | Использовать многопоточный расчет
492 |
493 | true
494 | true
495 |
496 | true
497 |
498 |
499 |
500 | Константы.пэмМногопоточныйРасчетМетрик
501 |
502 |
503 | Right
504 |
505 | пэмМногопоточныйРасчетМетрикРасширеннаяПодсказка
506 | 16
507 | true
508 | true
509 |
510 | true
511 |
512 | Label
513 | true
514 | true
515 |
516 | Left
517 |
518 |
519 |
520 | пэмМногопоточныйРасчетМетрикКонтекстноеМеню
521 | 15
522 | true
523 | true
524 |
525 | true
526 |
527 | true
528 |
529 | CheckBoxField
530 | Enter
531 | true
532 | Left
533 | true
534 |
535 |
536 | true
537 | true
538 |
539 | true
540 |
541 |
542 | ru
543 | Многопоточная обработка
544 |
545 |
546 | ГруппаМногопоточностьРасширеннаяПодсказка
547 | 21
548 | true
549 | true
550 |
551 | true
552 |
553 | Label
554 | true
555 | true
556 |
557 | Left
558 |
559 |
560 | UsualGroup
561 |
562 | AlwaysHorizontal
563 | WeakSeparation
564 | true
565 | true
566 | true
567 | Auto
568 | Auto
569 |
570 |
571 |
572 | ФормаКоманднаяПанель
573 | -1
574 |
575 | ФормаВыполнитьПервоначальноеЗаполнение
576 | 32
577 |
578 | ru
579 | Первоначальное заполнение
580 |
581 | true
582 | true
583 |
584 | true
585 |
586 |
587 | ФормаВыполнитьПервоначальноеЗаполнениеРасширеннаяПодсказка
588 | 33
589 | true
590 | true
591 |
592 | true
593 |
594 | Label
595 | true
596 | true
597 |
598 | Left
599 |
600 |
601 | Form.Command.ВыполнитьПервоначальноеЗаполнение
602 | Auto
603 | true
604 | true
605 | UserCmds
606 | Auto
607 |
608 | true
609 | true
610 |
611 | true
612 |
613 | Left
614 | true
615 |
616 |
617 | OnOpen
618 | ПриОткрытии
619 |
620 |
621 | OnCreateAtServer
622 | ПриСозданииНаСервере
623 |
624 |
625 | FillCheckProcessingAtServer
626 | ОбработкаПроверкиЗаполненияНаСервере
627 |
628 | true
629 | true
630 | Vertical
631 | true
632 | true
633 | true
634 | true
635 | true
636 |
637 | Константы
638 |
639 | ru
640 | Константы
641 |
642 | 1
643 |
644 | ConstantsSet
645 |
646 |
647 | true
648 |
649 |
650 | true
651 |
652 | true
653 |
654 |
655 | Использование
656 |
657 | ru
658 | Использование
659 |
660 | 6
661 |
662 | Boolean
663 |
664 |
665 | true
666 |
667 |
668 | true
669 |
670 |
671 |
672 | ПараметрыРегламентногоЗадания
673 |
674 | ru
675 | Параметры регламентного задания
676 |
677 | 3
678 |
679 |
680 | true
681 |
682 |
683 | true
684 |
685 |
686 |
687 | ВыполнитьПервоначальноеЗаполнение
688 |
689 | ru
690 | Выполнить первоначальное заполнение
691 |
692 | 1
693 |
694 | ru
695 | Выполнить первоначальное заполнение
696 |
697 |
700 |
701 |
702 | ВыполнитьПервоначальноеЗаполнение
703 |
704 |
705 | Auto
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 | OnWriteAtServer
714 | ПриЗаписиНаСервере
715 |
716 |
717 |
718 |
--------------------------------------------------------------------------------
/src/CommonForms/пэмНастройкиМетрик/Help/ru.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Настройки Pushgateway:
4 |
5 |
6 |
7 |
Параметры подключения к службе Pushgateway для отправки метрик
8 | методом Push.
9 |
10 |
11 |
12 |
13 |
Многопоточная обработка:
14 |
15 |
16 |
17 |
18 |
Используется для параллельного расчета метрик. Может вызывать
19 | повышенную нагрузку на сервер. Использовать с осторожностью!
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/CommonForms/пэмНастройкиМетрик/Module.bsl:
--------------------------------------------------------------------------------
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 | Элементы.ГруппаPushgatewayСервер.Доступность = Константы.пэмИспользоватьPushgateway;
29 | Элементы.ОписаниеРасписанияМетрики.Заголовок = ПредставлениеРасписания;
30 |
31 | КонецПроцедуры
32 |
33 | &НаКлиенте
34 | Процедура ПриОткрытии(Отказ)
35 |
36 | ПодключитьОбработчикОжидания("ОбновитьСостояниеФормы", 0.1, Истина);
37 |
38 | КонецПроцедуры
39 |
40 | &НаСервере
41 | Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
42 |
43 | Если НЕ Константы.пэмИспользоватьPushgateway Тогда
44 | Индекс = ПроверяемыеРеквизиты.Найти("Константы");
45 | ПроверяемыеРеквизиты.Удалить(Индекс);
46 | КонецЕсли;
47 |
48 | КонецПроцедуры
49 |
50 | &НаКлиенте
51 | Процедура ИспользоватьОбщийРегламентПриИзменении(Элемент)
52 |
53 | ПараметрыРегламентногоЗадания.Использование = Использование;
54 | ПодключитьОбработчикОжидания("ОбновитьСостояниеФормы", 0.1, Истина);
55 |
56 | КонецПроцедуры
57 |
58 | &НаКлиенте
59 | Процедура пэмИспользоватьPushgatewayПриИзменении(Элемент)
60 |
61 | Если Константы.пэмИспользоватьPushgateway Тогда
62 | Константы.пэмПутьНаСервереPushgateway = "/metrics/job/pushgateway/instance/product";
63 | Константы.пэмАдресСервераPushgateway = "";
64 | Константы.пэмПортСервераPushgateway = 9091;
65 | Иначе
66 | Константы.пэмПутьНаСервереPushgateway = "";
67 | Константы.пэмАдресСервераPushgateway = "";
68 | Константы.пэмПортСервераPushgateway = 0;
69 | ПараметрыРегламентногоЗадания.Использование = Ложь;
70 | КонецЕсли;
71 |
72 | ПодключитьОбработчикОжидания("ОбновитьСостояниеФормы", 0.1, Истина);
73 |
74 | КонецПроцедуры
75 |
76 | &НаСервере
77 | Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
78 |
79 | пэмМетрикиСервер.ОбновитьРегламентноеЗадание(ПараметрыРегламентногоЗадания);
80 |
81 | КонецПроцедуры
82 |
83 | &НаКлиенте
84 | Процедура ОписаниеРасписанияМетрикиНажатие(Элемент)
85 |
86 | пэмМетрикиКлиент.ОбработатьИзменениеРасписания(ПараметрыРегламентногоЗадания, ЭтотОбъект);
87 |
88 | КонецПроцедуры
--------------------------------------------------------------------------------
/src/CommonForms/пэмНастройкиМетрик/пэмНастройкиМетрик.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмНастройкиМетрик
4 |
5 | ru
6 | Настройки метрик
7 |
8 |
9 |
10 | ru
11 |
12 |
13 | PersonalComputer
14 | MobileDevice
15 |
16 |
--------------------------------------------------------------------------------
/src/CommonModules/пэмМетрикиВызовСервера/Module.bsl:
--------------------------------------------------------------------------------
1 | #Область Служебный_программный_интерфейс
2 |
3 | Функция РазрешеноИспользованиеМетодаPush() Экспорт
4 |
5 | Возврат пэмМетрикиСерверПовтИсп.РазрешеноИспользованиеМетодаPush();
6 |
7 | КонецФункции
8 |
9 | #КонецОбласти
--------------------------------------------------------------------------------
/src/CommonModules/пэмМетрикиВызовСервера/пэмМетрикиВызовСервера.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмМетрикиВызовСервера
4 |
5 | ru
6 | Метрики вызов сервера
7 |
8 | true
9 | true
10 |
11 |
--------------------------------------------------------------------------------
/src/CommonModules/пэмМетрикиКлиент/Module.bsl:
--------------------------------------------------------------------------------
1 | #Область Программный_интерфейс
2 |
3 | Процедура ОбработатьИзменениеРасписания(ПараметрыРегламентногоЗадания, Форма) Экспорт
4 |
5 | Если ПараметрыРегламентногоЗадания.Расписание = Неопределено Тогда
6 | ПараметрыРегламентногоЗадания.Расписание = Новый РасписаниеРегламентногоЗадания();
7 | КонецЕсли;
8 |
9 | ДополнительныеПараметрыОповещения = Новый Структура();
10 | ДополнительныеПараметрыОповещения.Вставить("ПараметрыРегламентногоЗадания",ПараметрыРегламентногоЗадания);
11 | ДополнительныеПараметрыОповещения.Вставить("Форма",Форма);
12 | ОписаниеОповещения = Новый ОписаниеОповещения("ОбработатьИзменениеРасписанияЗавершение",ЭтотОбъект,ДополнительныеПараметрыОповещения);
13 |
14 | Диалог = Новый ДиалогРасписанияРегламентногоЗадания(ПараметрыРегламентногоЗадания.Расписание);
15 | Диалог.Показать(ОписаниеОповещения);
16 |
17 | КонецПроцедуры
18 |
19 | Функция ПолучитьПредставлениеРасписания(ОписаниеРегламентногоЗадания) Экспорт
20 |
21 | Если ОписаниеРегламентногоЗадания = Неопределено Тогда
22 | Возврат НСтр("ru = '<Расписание не задано>'");
23 | КонецЕсли;
24 |
25 | Если ОписаниеРегламентногоЗадания.Использование Тогда
26 | ПрефиксАктивности = НСтр("ru = ''");
27 | Иначе
28 | ПрефиксАктивности = НСтр("ru = '(НЕ АКТИВНО) '");
29 | КонецЕсли;
30 |
31 | Если ОписаниеРегламентногоЗадания.Предопределенное Тогда
32 | ПрефиксТипРасписания = НСтр("ru = 'Общее расписание: '");
33 | Иначе
34 | ПрефиксТипРасписания = НСтр("ru = 'Индивидуальное расписание: '");
35 | КонецЕсли;
36 |
37 | Возврат ПрефиксАктивности + ПрефиксТипРасписания + Строка(ОписаниеРегламентногоЗадания.Расписание);
38 |
39 | КонецФункции
40 |
41 | #КонецОбласти
42 |
43 | #Область Служебные_процедуры_и_Функции
44 |
45 | Процедура ОбработатьИзменениеРасписанияЗавершение(Расписание, ДополнительныеПараметры) Экспорт
46 |
47 | Если Расписание = Неопределено Тогда
48 | Возврат;
49 | КонецЕсли;
50 |
51 | ДополнительныеПараметры.ПараметрыРегламентногоЗадания.Расписание = Расписание;
52 | ДополнительныеПараметры.Форма.ПодключитьОбработчикОжидания("ОбновитьСостояниеФормы",0.1,Истина);
53 |
54 | КонецПроцедуры
55 |
56 | #КонецОбласти
--------------------------------------------------------------------------------
/src/CommonModules/пэмМетрикиКлиент/пэмМетрикиКлиент.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмМетрикиКлиент
4 |
5 | ru
6 | Пэм метрики клиент
7 |
8 | true
9 | true
10 |
11 |
--------------------------------------------------------------------------------
/src/CommonModules/пэмМетрикиСервер/Module.bsl:
--------------------------------------------------------------------------------
1 | #Область Push
2 |
3 | Процедура СформироватьМетрикиРегламентнымЗаданием(Метрика = Неопределено) Экспорт
4 |
5 | Если НЕ пэмМетрикиСерверПовтИсп.РазрешеноИспользованиеМетодаPush() Тогда
6 | Возврат;
7 | КонецЕсли;
8 |
9 | АдресСервера = Константы.пэмАдресСервераPushgateway.Получить();
10 | ПортСервера = Константы.пэмПортСервераPushgateway.Получить();
11 | ПутьНаСервере = Константы.пэмПутьНаСервереPushgateway.Получить();
12 |
13 | Метрики = ПолучитьМетрики(Перечисления.пэмМетодыПолученияМетрик.Push, Метрика);
14 | HTTPСоединение = Новый HTTPСоединение(АдресСервера, ПортСервера, , , , 30);
15 | HTTPЗапрос = Новый HTTPЗапрос(ПутьНаСервере);
16 | HTTPЗапрос.Заголовки.Вставить("Content-Type", "text/plain; version=0.0.4");
17 |
18 | HTTPЗапрос.УстановитьТелоИзСтроки(Метрики, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
19 |
20 | Результат = HTTPСоединение.ВызватьHTTPМетод("POST", HTTPЗапрос);
21 |
22 | Если Результат.КодСостояния > 300 Тогда
23 | ЗаписьЖурналаРегистрации("Prometheus data exporter",
24 | УровеньЖурналаРегистрации.Ошибка,
25 | ,
26 | ,
27 | "Ошибка отправки метрик. Код ответа Pushgateway: " + Результат.КодСостояния);
28 | КонецЕсли;
29 |
30 | КонецПроцедуры
31 |
32 | #КонецОбласти
33 |
34 | #Область Pull
35 |
36 | Функция СформироватьМетрикиПоЗапросу() Экспорт
37 |
38 | Возврат ПолучитьМетрики(Перечисления.пэмМетодыПолученияМетрик.Pull, Неопределено);
39 |
40 | КонецФункции
41 |
42 | #КонецОбласти
43 |
44 | #Область Описание_сервиса
45 |
46 | Функция ВернутьОписаниеСервиса() Экспорт
47 |
48 | Ответ = Новый HTTPСервисОтвет(200);
49 |
50 | Ответ.Заголовки.Вставить("Content-Type", "text/html;charset=UTF-8");
51 | Ответ.Заголовки.Вставить("Pragma", "no-cache");
52 | Ответ.Заголовки.Вставить("Cache-Control", "no-cache");
53 | Ответ.Заголовки.Вставить("Cache-Control", "no-store");
54 | Ответ.Заголовки.Вставить("Content-Language", "en");
55 |
56 | Запрос = Новый Запрос;
57 | Запрос.Текст =
58 | "ВЫБРАТЬ
59 | | пэмМетрики.Ссылка КАК Ссылка,
60 | | пэмМетрики.МетодПолученияМетрики КАК МетодПолученияМетрики,
61 | | пэмМетрики.Активность КАК Активность
62 | |ПОМЕСТИТЬ втСправочникМетрик
63 | |ИЗ
64 | | Справочник.пэмМетрики КАК пэмМетрики
65 | |;
66 | |
67 | |////////////////////////////////////////////////////////////////////////////////
68 | |ВЫБРАТЬ
69 | | втСправочникМетрик.МетодПолученияМетрики КАК Type,
70 | | ""Active"" КАК State,
71 | | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ втСправочникМетрик.Ссылка) КАК Count
72 | |ИЗ
73 | | втСправочникМетрик КАК втСправочникМетрик
74 | |ГДЕ
75 | | втСправочникМетрик.Активность = ИСТИНА
76 | |
77 | |СГРУППИРОВАТЬ ПО
78 | | втСправочникМетрик.МетодПолученияМетрики
79 | |
80 | |ОБЪЕДИНИТЬ ВСЕ
81 | |
82 | |ВЫБРАТЬ
83 | | втСправочникМетрик.МетодПолученияМетрики,
84 | | ""Inactive"",
85 | | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ втСправочникМетрик.Ссылка)
86 | |ИЗ
87 | | втСправочникМетрик КАК втСправочникМетрик
88 | |ГДЕ
89 | | втСправочникМетрик.Активность = ЛОЖЬ
90 | |
91 | |СГРУППИРОВАТЬ ПО
92 | | втСправочникМетрик.МетодПолученияМетрики";
93 | Результат = Запрос.Выполнить().Выгрузить();
94 |
95 | СтрокаHTML =
96 | "Prometheus data exporter
97 | |%1
98 | |
";
99 |
100 | Если Результат.Количество() Тогда
101 | Данные =
102 | "Metrics information:
103 | |
104 | |
105 | | ";
106 | Для Каждого Колонка Из Результат.Колонки Цикл
107 | Данные = Данные + Символы.ПС + "" + Колонка.Заголовок + " | ";
108 | КонецЦикла;
109 | Данные = Данные + Символы.ПС + "
";
110 | Для Каждого Строка Из Результат Цикл
111 | Данные = Данные + Символы.ПС + "";
112 | Для Каждого КолонкаСтроки Из Строка Цикл
113 | Данные = Данные + Символы.ПС + "" + КолонкаСтроки + " | ";
114 | КонецЦикла;
115 | Данные = Данные + Символы.ПС + "
";
116 | КонецЦикла;
117 | Данные = Данные + "
118 | |
119 | |
";
120 | Иначе
121 | Данные = "Metrics is not set yet
";
122 | КонецЕсли;
123 |
124 | СтрокаHTML = СтрЗаменить(СтрокаHTML, "%1", Данные);
125 |
126 | Ответ.УстановитьТелоИзСтроки(СтрокаHTML);
127 |
128 | Возврат Ответ;
129 |
130 | КонецФункции
131 |
132 | #КонецОбласти
133 |
134 | #Область Формирование_метрик
135 |
136 | Функция ПолучитьМетрики(МетодПолученияМетрики, Метрика) Экспорт
137 |
138 | Метрики = "";
139 | Асинхронно = Константы.пэмМногопоточныйРасчетМетрик.Получить();
140 |
141 | Запрос = Новый Запрос;
142 | Запрос.Текст =
143 | "ВЫБРАТЬ
144 | | пэмМетрики.Код КАК ИмяМетрики,
145 | | пэмМетрики.Алгоритм КАК Алгоритм,
146 | | пэмМетрики.ТипМетрики КАК ТипМетрики,
147 | | пэмМетрики.Ссылка КАК Метрика
148 | |ИЗ
149 | | Справочник.пэмМетрики КАК пэмМетрики
150 | |ГДЕ
151 | | ИСТИНА=ИСТИНА";
152 |
153 | Если Метрика = Неопределено Тогда
154 | УсловиеЗапроса = "пэмМетрики.Активность = ИСТИНА
155 | | И пэмМетрики.МетодПолученияМетрики = &МетодПолученияМетрики
156 | | И пэмМетрики.ИдентификаторРегламента = &ПустойИдентификатор";
157 | Иначе
158 | УсловиеЗапроса = "пэмМетрики.Активность = ИСТИНА
159 | | И пэмМетрики.МетодПолученияМетрики = &МетодПолученияМетрики
160 | | И пэмМетрики.Код = &КодМетрики";
161 | КонецЕсли;
162 | Запрос.Текст = СтрЗаменить(Запрос.Текст,"ИСТИНА=ИСТИНА",УсловиеЗапроса);
163 | Запрос.УстановитьПараметр("КодМетрики",Метрика);
164 | Запрос.УстановитьПараметр("МетодПолученияМетрики", МетодПолученияМетрики);
165 | Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса());
166 | Запрос.УстановитьПараметр("ПустойИдентификатор",Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"));
167 | Выборка = Запрос.Выполнить().Выбрать();
168 |
169 | Если Асинхронно Тогда
170 | Метрики = СформироватьМетрикиАсинхронно(Выборка, МетодПолученияМетрики);
171 | Иначе
172 | Метрики = СформироватьМетрикиСинхронно(Выборка, МетодПолученияМетрики);
173 | КонецЕсли;
174 |
175 | Возврат Метрики;
176 |
177 | КонецФункции
178 |
179 | Функция СформироватьМетрикиАсинхронно(Выборка, МетодПолученияМетрики)
180 |
181 | МетрикиСтрокой = "";
182 | МассивФоновыхЗаданий = Новый Массив;
183 | МассивПараметров = Новый Массив;
184 |
185 | // старт расчета
186 | Пока Выборка.Следующий() Цикл
187 |
188 | УникальныйИдентификатор = Новый УникальныйИдентификатор;
189 | АдресВХранилище = ПоместитьВоВременноеХранилище("", УникальныйИдентификатор);
190 |
191 | МассивПараметров.Очистить();
192 | МассивПараметров.Добавить(Выборка.ИмяМетрики);
193 | МассивПараметров.Добавить(Выборка.ТипМетрики);
194 | МассивПараметров.Добавить(Выборка.Алгоритм);
195 | МассивПараметров.Добавить(АдресВХранилище);
196 | МассивПараметров.Добавить(Выборка.Метрика);
197 |
198 | ФоновоеЗадание = ФоновыеЗадания.Выполнить("пэмМетрикиСервер.СформироватьМетрикуФоновымЗаданием", МассивПараметров, АдресВХранилище);
199 | МассивФоновыхЗаданий.Добавить(ФоновоеЗадание);
200 |
201 | КонецЦикла;
202 |
203 | Если НЕ МассивФоновыхЗаданий.Количество() Тогда
204 | Возврат МетрикиСтрокой;
205 | КонецЕсли;
206 |
207 | // Ожидание окончания расчета всех метрик
208 | МассивЗаданийКУдалению = Новый Массив;
209 | Пока Истина Цикл
210 |
211 | Пауза(1);
212 | МассивЗаданийКУдалению.Очистить();
213 | Для Каждого ФоновоеЗадание Из МассивФоновыхЗаданий Цикл
214 |
215 | Если ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ФоновоеЗадание.УникальныйИдентификатор).Состояние = СостояниеФоновогоЗадания.Активно Тогда
216 | Продолжить;
217 | КонецЕсли;
218 |
219 | Попытка
220 | сткВозврат = ПолучитьИзВременногоХранилища(ФоновоеЗадание.Ключ);
221 | Если НЕ сткВозврат.Ошибка Тогда
222 | МетрикиСтрокой = МетрикиСтрокой + сткВозврат.МетрикаСтрокой;
223 | КонецЕсли;
224 | Исключение
225 | МетрикиСтрокой = МетрикиСтрокой + "";
226 | КонецПопытки;
227 |
228 | МассивЗаданийКУдалению.Добавить(ФоновоеЗадание);
229 | КонецЦикла;
230 |
231 | // Удаление уже расчитаных метрик из массива контроля
232 | Для Каждого ЗаданиеКУдалению Из МассивЗаданийКУдалению Цикл
233 | МассивФоновыхЗаданий.Удалить(МассивФоновыхЗаданий.Найти(ЗаданиеКУдалению));
234 | КонецЦикла;
235 |
236 | // Если нечего больше ждать - завершаем общее ожидание
237 | Если НЕ МассивФоновыхЗаданий.Количество() Тогда
238 | Прервать;
239 | КонецЕсли;
240 |
241 | КонецЦикла;
242 |
243 | Возврат МетрикиСтрокой;
244 |
245 | КонецФункции
246 |
247 | Функция СформироватьМетрикиСинхронно(Выборка, МетодПолученияМетрики)
248 |
249 | СтрокаМетрик = "";
250 |
251 | Пока Выборка.Следующий() Цикл
252 |
253 | ДатаНачалаРасчета = ТекущаяДатаСеанса();
254 | ДатаНачалаРасчетаВМиллисекундах = ТекущаяУниверсальнаяДатаВМиллисекундах();
255 |
256 | сткВозврат = СформироватьМетрику(Выборка.Алгоритм);
257 | Если сткВозврат.Ошибка Тогда
258 | Продолжить;
259 | КонецЕсли;
260 |
261 | сткВозврат = ПривестиТаблицуРасчетаМетрикиКСтрокеPrometheus(Выборка.ИмяМетрики, Выборка.ТипМетрики, сткВозврат.МетрикаТаблицей);
262 | Если сткВозврат.Ошибка Тогда
263 | Продолжить;
264 | КонецЕсли;
265 |
266 | СтрокаМетрик = СтрокаМетрик + сткВозврат.МетрикаСтрокой;
267 |
268 | ЗаписатьИнформациюОРасчетеМетрикиФоновымЗаданием(Выборка.Метрика, ДатаНачалаРасчетаВМиллисекундах, ДатаНачалаРасчета);
269 |
270 | КонецЦикла;
271 |
272 | Возврат СтрокаМетрик;
273 |
274 | КонецФункции
275 |
276 | Процедура СформироватьМетрикуФоновымЗаданием(ИмяМетрики, ТипМетрики, Алгоритм, ИдентификаторХранилища, Метрика) Экспорт
277 |
278 | ДатаНачалаРасчета = ТекущаяДатаСеанса();
279 | ДатаНачалаРасчетаВМиллисекундах = ТекущаяУниверсальнаяДатаВМиллисекундах();
280 |
281 | сткВозврат = СформироватьМетрику(Алгоритм);
282 | Если сткВозврат.Ошибка Тогда
283 | ПоместитьВоВременноеХранилище(сткВозврат, ИдентификаторХранилища);
284 | Возврат;
285 | КонецЕсли;
286 |
287 | сткВозврат = ПривестиТаблицуРасчетаМетрикиКСтрокеPrometheus(ИмяМетрики, ТипМетрики, сткВозврат.МетрикаТаблицей);
288 | Если сткВозврат.Ошибка Тогда
289 | ПоместитьВоВременноеХранилище(сткВозврат, ИдентификаторХранилища);
290 | Возврат;
291 | КонецЕсли;
292 |
293 | ПоместитьВоВременноеХранилище(сткВозврат, ИдентификаторХранилища);
294 | ЗаписатьИнформациюОРасчетеМетрикиФоновымЗаданием(Метрика, ДатаНачалаРасчетаВМиллисекундах, ДатаНачалаРасчета);
295 |
296 | КонецПроцедуры
297 |
298 | Функция СформироватьМетрику(Алгоритм) Экспорт
299 |
300 | сткВозврат = Новый Структура;
301 | сткВозврат.Вставить("МетрикаТаблицей", Новый ТаблицаЗначений);
302 | сткВозврат.Вставить("ОписаниеОшибки", "");
303 | сткВозврат.Вставить("Ошибка", Ложь);
304 |
305 | ТаблицаЗначений = Новый ТаблицаЗначений;
306 |
307 | Попытка
308 | УстановитьПривилегированныйРежим(Истина);
309 | Выполнить(Алгоритм);
310 | УстановитьПривилегированныйРежим(Ложь);
311 | Исключение
312 | ОписаниеОшибки = ОписаниеОшибки();
313 | ЗаписьЖурналаРегистрации("Prometheus data exporter",
314 | УровеньЖурналаРегистрации.Ошибка,
315 | ,
316 | ,
317 | ОписаниеОшибки);
318 | сткВозврат.Ошибка = Истина;
319 | сткВозврат.ОписаниеОшибки = ОписаниеОшибки;
320 | Возврат сткВозврат;
321 | КонецПопытки;
322 |
323 | сткВозврат.МетрикаТаблицей = ТаблицаЗначений;
324 |
325 | Возврат сткВозврат;
326 |
327 | КонецФункции
328 |
329 | Функция ПривестиТаблицуРасчетаМетрикиКСтрокеPrometheus(ИмяМетрики, ТипМетрики, МетрикаТаблицейЗначений) Экспорт
330 |
331 | сткВозврат = Новый Структура();
332 | сткВозврат.Вставить("МетрикаСтрокой", "");
333 | сткВозврат.Вставить("Ошибка", Ложь);
334 | сткВозврат.Вставить("ОписаниеОшибки", "");
335 |
336 | Если НЕ МетрикаТаблицейЗначений.Количество() Тогда
337 | сткВозврат.Ошибка = Истина;
338 | сткВозврат.ОписаниеОшибки = "Пустая метрика";
339 | Возврат сткВозврат;
340 | КонецЕсли;
341 |
342 | Попытка
343 |
344 | ЗаписьJSON = Новый ЗаписьJSON;
345 | ЗаписьJSON.УстановитьСтроку();
346 |
347 | Если ЗначениеЗаполнено(ТипМетрики) Тогда
348 | ЗаписьJSON.ЗаписатьБезОбработки("# TYPE ");
349 | ЗаписьJSON.ЗаписатьБезОбработки(ИмяМетрики);
350 | ЗаписьJSON.ЗаписатьБезОбработки(" ");
351 | ЗаписьJSON.ЗаписатьБезОбработки(Метаданные.Перечисления.пэмТипыМетрик.ЗначенияПеречисления[Перечисления.пэмТипыМетрик.Индекс(ТипМетрики)].Синоним);
352 | ЗаписьJSON.ЗаписатьБезОбработки(Символы.ПС);
353 | КонецЕсли;
354 |
355 | Если МетрикаТаблицейЗначений.Колонки.Найти("value") = Неопределено Тогда
356 | ВызватьИсключение "Метрика " + ИмяМетрики + " не содержит колонки value";
357 | КонецЕсли;
358 |
359 | Для Каждого Строка Из МетрикаТаблицейЗначений Цикл
360 |
361 | ЗаписьJSON.ЗаписатьБезОбработки(ИмяМетрики);
362 | ЗаписьJSON.ЗаписатьБезОбработки("{");
363 |
364 | ВыводительРазделитель = Неопределено;
365 |
366 | Для Каждого Колонка Из МетрикаТаблицейЗначений.Колонки Цикл
367 | Если Колонка.Имя = "value" Тогда
368 | Продолжить;
369 | КонецЕсли;
370 |
371 | Если ВыводительРазделитель = Истина Тогда
372 | ЗаписьJSON.ЗаписатьБезОбработки(", ");
373 | КонецЕсли;
374 |
375 | ЗаписьJSON.ЗаписатьБезОбработки(Колонка.Имя);
376 | ЗаписьJSON.ЗаписатьБезОбработки("=""");
377 | ЗаписьJSON.ЗаписатьБезОбработки(Строка[Колонка.Имя]);
378 | ЗаписьJSON.ЗаписатьБезОбработки("""");
379 |
380 | Если ВыводительРазделитель = Неопределено Тогда
381 | ВыводительРазделитель = Истина;
382 | КонецЕсли;
383 |
384 | КонецЦикла;
385 |
386 | ЗаписьJSON.ЗаписатьБезОбработки("} ");
387 | ЗаписьJSON.ЗаписатьБезОбработки(Строка(Формат(Строка["value"], "ЧРД=.; ЧРГ=; ЧДЦ=4; ЧН=; ЧГ=;")));
388 | ЗаписьJSON.ЗаписатьБезОбработки(Символы.ПС);
389 |
390 | КонецЦикла;
391 | Исключение
392 | ОписаниеОшибки = ОписаниеОшибки();
393 | ЗаписьЖурналаРегистрации("Prometheus data exporter",
394 | УровеньЖурналаРегистрации.Ошибка,
395 | ,
396 | ,
397 | ОписаниеОшибки);
398 | сткВозврат.Ошибка = Истина;
399 | сткВозврат.ОписаниеОшибки = ОписаниеОшибки;
400 | Возврат сткВозврат;
401 | КонецПопытки;
402 |
403 | сткВозврат.МетрикаСтрокой = ЗаписьJSON.Закрыть();
404 |
405 | Возврат сткВозврат;
406 |
407 | КонецФункции
408 |
409 | // Таймаут - число. Квант равен 1 секунде
410 | Процедура Пауза(Знач Таймаут) Экспорт
411 |
412 | СистемнаяИнформация = Новый СистемнаяИнформация();
413 | ЭтоWindows = (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86)
414 | Или (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64);
415 |
416 | Таймаут = Таймаут + 1;
417 |
418 | Если ЭтоWindows Тогда
419 | ШаблонКоманды = "ping localhost -n " + Таймаут + " -w 1000";
420 | Иначе
421 | ШаблонКоманды = "ping -c " + Таймаут + " -w 1000 localhost";
422 | КонецЕсли;
423 |
424 | ЗапуститьПриложение(ШаблонКоманды, , Истина);
425 |
426 | КонецПроцедуры
427 |
428 | Процедура ЗаписатьИнформациюОРасчетеМетрикиФоновымЗаданием(Метрика, ДатаНачалаРасчетаВМиллисекундах, ДатаНачалаРасчета)
429 |
430 | МассивПараметровРасчетаМетрик = Новый Массив;
431 | МассивПараметровРасчетаМетрик.Добавить(Метрика);
432 | МассивПараметровРасчетаМетрик.Добавить(ДатаНачалаРасчетаВМиллисекундах);
433 | МассивПараметровРасчетаМетрик.Добавить(ТекущаяУниверсальнаяДатаВМиллисекундах());
434 | МассивПараметровРасчетаМетрик.Добавить(ДатаНачалаРасчета);
435 | ФоновыеЗадания.Выполнить("пэмМетрикиСервер.ЗаписатьИнформациюОРасчетеМетрики", МассивПараметровРасчетаМетрик);
436 |
437 | КонецПроцедуры
438 |
439 | Процедура ЗаписатьИнформациюОРасчетеМетрики(Метрика, ДатаНачалаРасчетаВМиллисекундах, ДатаОкончанияРасчетаВМиллисекундах, ДатаНачалаРасчета) Экспорт
440 |
441 | МенеджерЗаписи = РегистрыСведений.пэмСостояниеМетрик.СоздатьМенеджерЗаписи();
442 | МенеджерЗаписи.Метрика = Метрика;
443 | МенеджерЗаписи.Прочитать();
444 |
445 | МенеджерЗаписи.Метрика = Метрика;
446 | МенеджерЗаписи.ДатаРасчета = ДатаНачалаРасчета;
447 | МенеджерЗаписи.Длительность = ДатаОкончанияРасчетаВМиллисекундах - ДатаНачалаРасчетаВМиллисекундах;
448 |
449 | МенеджерЗаписи.Записать();
450 |
451 | КонецПроцедуры
452 |
453 | // Маска - текстовая строка. Допустимы следующие символы:
454 | // . - любой символ
455 | // + - один или более раз, пример ".+" - один или более любой символ.
456 | // * - ноль или более раз, пример ".*" - любое количество любых символов (даже ни одного).
457 | // [n-m] - символ от m до n. Например: [a-zA-Z_:]* - строка любой длины, состоящая из больших и маленьких латинских символов, знаков "_" и ":" , Еще пример: "[0-9]+" - одна или более цифр(а).
458 | // \d - цифра, пример
459 | // \d+ - одна или более цифр(а).
460 | // \D - не цифра.
461 | // \s - пробельный символ - ТАБ, пробел, перенос строки, возврат каретки и т.п.
462 | // \S - непробельный символ.
463 | // \w - буква, цифра, подчеркивание.
464 | // \W - не буква, не цифра и не подчеркивание соответственно.
465 | // ^ - начало текста, например "^\d+" - строка начинается с цифры.
466 | // $ - конец текста, например "\D+$" - строка заканчивается НЕ цифрой.
467 | // {m,n} - шаблон для от m до n символов, например "\d{2,4}" - от двух до четырех цифр. Можно указать одну и всего цифру для строгого соответвия.
468 | // \ - экранирует спецсимволы. Например, "\." - символ точки.
469 | Функция ПроверитьСтрокуНаСоответствиеМаске(Строка, Маска) Экспорт
470 |
471 | сткВозврат = Новый Структура;
472 | сткВозврат.Вставить("ЕстьОшибка", Истина);
473 | сткВозврат.Вставить("ОписаниеОшибки", "Ошибка в коде");
474 | сткВозврат.Вставить("Результат", Неопределено);
475 |
476 | Чтение = Новый ЧтениеXML;
477 | Чтение.УстановитьСтроку(
478 | "
479 | |
480 | |
481 | |" + Маска + "
482 | |
483 | |
484 | |
485 | |
486 | |
487 | |");
488 |
489 | Модель = ФабрикаXDTO.ПрочитатьXML(Чтение);
490 |
491 | Попытка
492 | МояФабрикаXDTO = Новый ФабрикаXDTO(Модель);
493 | Исключение
494 | сткВозврат.ЕстьОшибка = Истина;
495 | сткВозврат.ОписаниеОшибки = "Ошибка маски";
496 | Возврат сткВозврат;
497 | КонецПопытки;
498 |
499 | Пакет = МояФабрикаXDTO.Пакеты.Получить("sample-my-package");
500 | Тест = МояФабрикаXDTO.Создать(Пакет.Получить("TestObj"));
501 |
502 | Попытка
503 | Тест.TestItem = Строка;
504 | Исключение
505 | сткВозврат.ЕстьОшибка = Истина;
506 | сткВозврат.ОписаниеОшибки = "Строка не соответствует маске";
507 | сткВозврат.Результат = Ложь;
508 | Возврат сткВозврат;
509 | КонецПопытки;
510 |
511 | сткВозврат.ЕстьОшибка = Ложь;
512 | сткВозврат.ОписаниеОшибки = "";
513 | сткВозврат.Результат = Истина;
514 | Возврат сткВозврат;
515 |
516 | КонецФункции
517 |
518 | #КонецОбласти
519 |
520 | #Область Служебный_программный_интерфейс
521 |
522 | Процедура ВыполнитьПервоначальноеЗаполнение() Экспорт
523 |
524 | МассивМетрикДляЗаписи = Новый Массив;
525 |
526 | ОписаниеМетрики = Справочники.пэмМетрики.pde_scrape_duration.ПолучитьОбъект();
527 | ОписаниеМетрики.Наименование = "Длительность расчета метрик (миллисекунд)";
528 | ОписаниеМетрики.ТипМетрики = Перечисления.пэмТипыМетрик.Gauge;
529 | ОписаниеМетрики.МетодПолученияМетрики = Перечисления.пэмМетодыПолученияМетрик.Pull;
530 | ОписаниеМетрики.Активность = Истина;
531 | ОписаниеМетрики.ИдентификаторРегламента = Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000");
532 | ОписаниеМетрики.Алгоритм = "
533 | |ТаблицаЗначений = Новый ТаблицаЗначений;
534 | |ТаблицаЗначений.Колонки.Добавить(""label"", Новый ОписаниеТипов(""Строка""));
535 | |ТаблицаЗначений.Колонки.Добавить(""value"", Новый ОписаниеТипов(""Число""));
536 | |
537 | |Запрос = Новый Запрос;
538 | |Запрос.Текст =
539 | |""ВЫБРАТЬ
540 | || пэмСостояниеМетрик.Метрика.Код КАК label,
541 | || пэмСостояниеМетрик.Длительность КАК value
542 | ||ИЗ
543 | || РегистрСведений.пэмСостояниеМетрик КАК пэмСостояниеМетрик"";
544 | |Результат = Запрос.Выполнить();
545 | |
546 | |Если НЕ Результат.Пустой() Тогда
547 | | ТаблицаЗначений = Результат.Выгрузить();
548 | |КонецЕсли;
549 | |";
550 | МассивМетрикДляЗаписи.Добавить(ОписаниеМетрики);
551 |
552 | ОписаниеМетрики = Справочники.пэмМетрики.pde_last_refresh.ПолучитьОбъект();
553 | ОписаниеМетрики.Наименование = "Задержка обновления метрик (секунд)";
554 | ОписаниеМетрики.ТипМетрики = Перечисления.пэмТипыМетрик.Counter;
555 | ОписаниеМетрики.МетодПолученияМетрики = Перечисления.пэмМетодыПолученияМетрик.Pull;
556 | ОписаниеМетрики.Активность = Истина;
557 | ОписаниеМетрики.ИдентификаторРегламента = Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000");
558 | ОписаниеМетрики.Алгоритм = "
559 | |ТаблицаЗначений = Новый ТаблицаЗначений;
560 | |ТаблицаЗначений.Колонки.Добавить(""label"", Новый ОписаниеТипов(""Строка""));
561 | |ТаблицаЗначений.Колонки.Добавить(""value"", Новый ОписаниеТипов(""Число""));
562 | |
563 | |Запрос = Новый Запрос;
564 | |Запрос.Текст =
565 | |""ВЫБРАТЬ
566 | || пэмСостояниеМетрик.Метрика.Код КАК label,
567 | || РАЗНОСТЬДАТ(пэмСостояниеМетрик.ДатаРасчета, &ТекущаяДата, СЕКУНДА) КАК value
568 | ||ИЗ
569 | || РегистрСведений.пэмСостояниеМетрик КАК пэмСостояниеМетрик"";
570 | |Запрос.УстановитьПараметр(""ТекущаяДата"",ТекущаяДата());
571 | |Результат = Запрос.Выполнить();
572 | |
573 | |Если НЕ Результат.Пустой() Тогда
574 | | ТаблицаЗначений = Результат.Выгрузить();
575 | |КонецЕсли;
576 | |";
577 | МассивМетрикДляЗаписи.Добавить(ОписаниеМетрики);
578 |
579 | НачатьТранзакцию();
580 | Попытка
581 | Константы.пэмПервоначальноеЗаполнениеВыполнено.Установить(Истина);
582 | Для Каждого Метрика Из МассивМетрикДляЗаписи Цикл
583 | Метрика.Записать();
584 | КонецЦикла;
585 | ЗафиксироватьТранзакцию();
586 | Исключение
587 | ОтменитьТранзакцию();
588 | Возврат;
589 | КонецПопытки;
590 |
591 | КонецПроцедуры
592 |
593 | Процедура РегламентныеОперации() Экспорт
594 |
595 | УстановитьПривилегированныйРежим(Истина);
596 |
597 | Если НЕ Константы.пэмПервоначальноеЗаполнениеВыполнено.Получить() Тогда
598 | ВыполнитьПервоначальноеЗаполнение();
599 | КонецЕсли;
600 |
601 | ЗаписьРегистраСостояний = РегистрыСведений.пэмСостояниеМетрик.СоздатьМенеджерЗаписи();
602 | ЗаписьРегистраСостояний.Метрика = Справочники.пэмМетрики.ПустаяСсылка();
603 | ЗаписьРегистраСостояний.Прочитать();
604 | Если ЗаписьРегистраСостояний.Выбран() Тогда
605 | ЗаписьРегистраСостояний.Удалить();
606 | КонецЕсли;
607 |
608 | Запрос = Новый Запрос;
609 | Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
610 | | пэмСостояниеМетрик.Метрика КАК Метрика
611 | |ИЗ
612 | | РегистрСведений.пэмСостояниеМетрик КАК пэмСостояниеМетрик
613 | |ГДЕ
614 | | пэмСостояниеМетрик.Метрика.Активность = ЛОЖЬ";
615 | Выборка = Запрос.Выполнить().Выбрать();
616 | Пока Выборка.Следующий() Цикл
617 | ЗаписьРегистраСостояний.Метрика = Выборка.Метрика;
618 | ЗаписьРегистраСостояний.Удалить();
619 | КонецЦикла;
620 |
621 | УстановитьПривилегированныйРежим(Ложь);
622 |
623 | КонецПроцедуры
624 |
625 | Функция ПолучитьПараметрыРегламентногоЗадания(Идентификатор = Неопределено) Экспорт
626 |
627 | ОписаниеРегламентногоЗадания = ПолучитьОписаниеПараметровРегламентногоЗадания();
628 | РегламентноеЗадание = ПолучитьРегламентноеЗаданиеПоИдентификатору(Идентификатор);
629 |
630 | ЗаполнитьЗначенияСвойств(ОписаниеРегламентногоЗадания, РегламентноеЗадание);
631 |
632 | Возврат ОписаниеРегламентногоЗадания;
633 |
634 | КонецФункции
635 |
636 | Процедура ОбновитьРегламентноеЗадание(ПараметрыРегламентногоЗадания) Экспорт
637 |
638 | УстановитьПривилегированныйРежим(Истина);
639 |
640 | Если
641 | (ПараметрыРегламентногоЗадания.Предопределенное
642 | И ЗначениеЗаполнено(ПараметрыРегламентногоЗадания.УникальныйИдентификатор))
643 | ИЛИ
644 | (НЕ ПараметрыРегламентногоЗадания.Предопределенное
645 | И ЗначениеЗаполнено(ПараметрыРегламентногоЗадания.УникальныйИдентификатор)
646 | И НЕ ПараметрыРегламентногоЗадания.Использование)
647 | Тогда
648 | УдалитьРегламентноеЗаданиеПоИдентификатору(ПараметрыРегламентногоЗадания.УникальныйИдентификатор);
649 | ПараметрыРегламентногоЗадания.УникальныйИдентификатор = Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000");
650 | КонецЕсли;
651 |
652 | Если НЕ ПараметрыРегламентногоЗадания.Предопределенное И НЕ ПараметрыРегламентногоЗадания.Использование Тогда
653 | ПараметрыРегламентногоЗадания.УникальныйИдентификатор = Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000");
654 | Возврат;
655 | КонецЕсли;
656 |
657 | Если ПараметрыРегламентногоЗадания.Предопределенное Тогда
658 | РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.пэмВыполнитьРасчетМетрик);
659 | Иначе
660 | Попытка
661 | РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(ПараметрыРегламентногоЗадания.УникальныйИдентификатор);
662 | Если РегламентноеЗадание.Предопределенное Тогда
663 | РегламентноеЗадание = РегламентныеЗадания.СоздатьРегламентноеЗадание(Метаданные.РегламентныеЗадания.пэмВыполнитьРасчетМетрик);
664 | КонецЕсли;
665 | Исключение
666 | РегламентноеЗадание = РегламентныеЗадания.СоздатьРегламентноеЗадание(Метаданные.РегламентныеЗадания.пэмВыполнитьРасчетМетрик);
667 | КонецПопытки;
668 | КонецЕсли;
669 |
670 | ЗаполнитьЗначенияСвойств(РегламентноеЗадание, ПараметрыРегламентногоЗадания,,"УникальныйИдентификатор");
671 | РегламентноеЗадание.Записать();
672 |
673 | Если ПараметрыРегламентногоЗадания.Предопределенное Тогда
674 | ПараметрыРегламентногоЗадания.УникальныйИдентификатор = Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000");
675 | Иначе
676 | ПараметрыРегламентногоЗадания.УникальныйИдентификатор = РегламентноеЗадание.УникальныйИдентификатор;
677 | КонецЕсли;
678 |
679 | УстановитьПривилегированныйРежим(Ложь);
680 |
681 | КонецПроцедуры
682 |
683 | Функция ПолучитьРегламентноеЗаданиеПоИдентификатору(Идентификатор = Неопределено)
684 |
685 | УстановитьПривилегированныйРежим(Истина);
686 |
687 | Если ЗначениеЗаполнено(Идентификатор) Тогда
688 | Попытка
689 | РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
690 | Исключение
691 | РегламентноеЗадание = РегламентныеЗадания.СоздатьРегламентноеЗадание(Метаданные.РегламентныеЗадания.пэмВыполнитьРасчетМетрик);
692 | КонецПопытки;
693 | Иначе
694 | РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.пэмВыполнитьРасчетМетрик);
695 | КонецЕсли;
696 |
697 | УстановитьПривилегированныйРежим(Ложь);
698 |
699 | Возврат РегламентноеЗадание;
700 |
701 | КонецФункции
702 |
703 | Функция УдалитьРегламентноеЗаданиеПоИдентификатору(Идентификатор)
704 |
705 | Результат = Ложь;
706 |
707 | Попытка
708 | РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);
709 | РегламентноеЗадание.Удалить();
710 | Результат = Истина;
711 | Исключение
712 | Результат = Истина;
713 | КонецПопытки;
714 |
715 | Возврат Результат;
716 |
717 | КонецФункции
718 |
719 | #КонецОбласти
720 |
721 | #Область Служебные_процедуры_и_функции
722 |
723 | Функция ПолучитьОписаниеПараметровРегламентногоЗадания()
724 |
725 | сткПараметрыЗадания = Новый Структура;
726 | сткПараметрыЗадания.Вставить("Использование", Ложь);
727 | сткПараметрыЗадания.Вставить("Предопределенное", Ложь);
728 | сткПараметрыЗадания.Вставить("Расписание", Новый РасписаниеРегламентногоЗадания);
729 | сткПараметрыЗадания.Вставить("Наименование", "");
730 | сткПараметрыЗадания.Вставить("Ключ", "");
731 | сткПараметрыЗадания.Вставить("Параметры", Неопределено);
732 | сткПараметрыЗадания.Вставить("УникальныйИдентификатор", Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"));
733 |
734 | Возврат сткПараметрыЗадания;
735 |
736 | КонецФункции
737 |
738 | #КонецОбласти
739 |
--------------------------------------------------------------------------------
/src/CommonModules/пэмМетрикиСервер/пэмМетрикиСервер.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмМетрикиСервер
4 |
5 | ru
6 | Метрики сервер
7 |
8 | true
9 | true
10 | true
11 |
12 |
--------------------------------------------------------------------------------
/src/CommonModules/пэмМетрикиСерверПовтИсп/Module.bsl:
--------------------------------------------------------------------------------
1 | #Область Служебный_программный_интерфейс
2 |
3 | Функция РазрешеноИспользованиеМетодаPush() Экспорт
4 |
5 | Возврат Константы.пэмИспользоватьPushgateway.Получить();
6 |
7 | КонецФункции
8 |
9 | #КонецОбласти
--------------------------------------------------------------------------------
/src/CommonModules/пэмМетрикиСерверПовтИсп/пэмМетрикиСерверПовтИсп.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмМетрикиСерверПовтИсп
4 |
5 | ru
6 | Метрики сервер повторное использование
7 |
8 | true
9 | true
10 | true
11 |
12 |
--------------------------------------------------------------------------------
/src/CommonPictures/пэмPrometheusLogo/Picture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freewms/PDE/6a2f9e747b64df1d8265dd3e1ee35e721329f58d/src/CommonPictures/пэмPrometheusLogo/Picture.png
--------------------------------------------------------------------------------
/src/CommonPictures/пэмPrometheusLogo/пэмPrometheusLogo.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмPrometheusLogo
4 |
5 | ru
6 | Prometheus logo
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/CommonPictures/пэмPullGreen/Picture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freewms/PDE/6a2f9e747b64df1d8265dd3e1ee35e721329f58d/src/CommonPictures/пэмPullGreen/Picture.png
--------------------------------------------------------------------------------
/src/CommonPictures/пэмPullGreen/пэмPullGreen.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмPullGreen
4 |
5 | ru
6 | Пэм pull green
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/CommonPictures/пэмPullRed/Picture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freewms/PDE/6a2f9e747b64df1d8265dd3e1ee35e721329f58d/src/CommonPictures/пэмPullRed/Picture.png
--------------------------------------------------------------------------------
/src/CommonPictures/пэмPullRed/пэмPullRed.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмPullRed
4 |
5 | ru
6 | Пэм pull red
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/CommonPictures/пэмPushGreen/Picture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freewms/PDE/6a2f9e747b64df1d8265dd3e1ee35e721329f58d/src/CommonPictures/пэмPushGreen/Picture.png
--------------------------------------------------------------------------------
/src/CommonPictures/пэмPushGreen/пэмPushGreen.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмPushGreen
4 |
5 | ru
6 | Пэм push green
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/CommonPictures/пэмPushRed/Picture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/freewms/PDE/6a2f9e747b64df1d8265dd3e1ee35e721329f58d/src/CommonPictures/пэмPushRed/Picture.png
--------------------------------------------------------------------------------
/src/CommonPictures/пэмPushRed/пэмPushRed.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмPushRed
4 |
5 | ru
6 | Пэм push red
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/Configuration/Configuration.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | PDE
4 |
5 | ru
6 | Prometheus data exporter
7 |
8 | Конфигурация для сбора и передачи метрик в систему мониторинга "Prometheus"
9 |
10 |
11 |
12 |
13 |
14 |
15 | 8.3.16
16 | ManagedApplication
17 | PersonalComputer
18 | Russian
19 | http://defbyte.ru
20 | 1.3.8
21 |
22 | AllowOSBackup
23 |
24 |
25 | Language.Русский
26 |
27 | ru
28 | https://github.com/freewms
29 |
30 |
31 | ru
32 | https://github.com/freewms/PDE
33 |
34 | Managed
35 | NotAutoFree
36 | DontUse
37 | DontUse
38 | DontUse
39 | 8.3.12
40 |
41 | Русский
42 |
43 | ru
44 | Русский
45 |
46 | ru
47 |
48 | Subsystem.Prometheus
49 | CommonPicture.пэмPrometheusLogo
50 | CommonPicture.пэмPullGreen
51 | CommonPicture.пэмPullRed
52 | CommonPicture.пэмPushGreen
53 | CommonPicture.пэмPushRed
54 | Role.пэмНастройкаМетрик
55 | Role.пэмПолучениеМетрик
56 | CommonModule.пэмМетрикиСервер
57 | CommonModule.пэмМетрикиКлиент
58 | CommonModule.пэмМетрикиСерверПовтИсп
59 | CommonModule.пэмМетрикиВызовСервера
60 | HTTPService.Prometheus
61 | ScheduledJob.пэмВыполнитьРасчетМетрик
62 | ScheduledJob.пэмРегламентныеОперации
63 | CommonCommand.пэмНастройки
64 | Constant.пэмАдресСервераPushgateway
65 | Constant.пэмПортСервераPushgateway
66 | Constant.пэмИспользоватьPushgateway
67 | Constant.пэмМногопоточныйРасчетМетрик
68 | Constant.пэмПутьНаСервереPushgateway
69 | Constant.пэмПервоначальноеЗаполнениеВыполнено
70 | CommonForm.пэмНастройкиМетрик
71 | Catalog.пэмМетрики
72 | Enum.пэмТипыМетрик
73 | Enum.пэмМетодыПолученияМетрик
74 | Report.пэмСостояниеМетрик
75 | InformationRegister.пэмСостояниеМетрик
76 |
77 |
--------------------------------------------------------------------------------
/src/Constants/пэмАдресСервераPushgateway/пэмАдресСервераPushgateway.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | пэмАдресСервераPushgateway
9 |
10 | ru
11 | PDE: Адрес сервера pushgateway
12 |
13 |
14 | String
15 |
16 |
17 | true
18 |
19 |
20 | ShowError
21 | Managed
22 |
23 |
--------------------------------------------------------------------------------
/src/Constants/пэмИспользоватьPushgateway/пэмИспользоватьPushgateway.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | пэмИспользоватьPushgateway
9 |
10 | ru
11 | PDE: Разрешено использовать pushgateway
12 |
13 |
14 | Boolean
15 |
16 | true
17 |
18 |
19 | Managed
20 |
21 |
--------------------------------------------------------------------------------
/src/Constants/пэмМногопоточныйРасчетМетрик/пэмМногопоточныйРасчетМетрик.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | пэмМногопоточныйРасчетМетрик
9 |
10 | ru
11 | PDE: Разрешен многопоточный расчет метрик
12 |
13 |
14 | Boolean
15 |
16 | true
17 |
18 |
19 | Managed
20 |
21 |
--------------------------------------------------------------------------------
/src/Constants/пэмПервоначальноеЗаполнениеВыполнено/пэмПервоначальноеЗаполнениеВыполнено.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | пэмПервоначальноеЗаполнениеВыполнено
9 |
10 | ru
11 | PDE: Первоначальное заполнение выполнено
12 |
13 |
14 | Boolean
15 |
16 | true
17 |
18 |
19 | Managed
20 |
21 |
--------------------------------------------------------------------------------
/src/Constants/пэмПортСервераPushgateway/пэмПортСервераPushgateway.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | пэмПортСервераPushgateway
9 |
10 | ru
11 | PDE: Порт сервера pushgateway
12 |
13 |
14 | Number
15 |
16 | 5
17 | true
18 |
19 |
20 | true
21 |
22 |
23 | ShowError
24 | Managed
25 |
26 |
--------------------------------------------------------------------------------
/src/Constants/пэмПутьНаСервереPushgateway/пэмПутьНаСервереPushgateway.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | пэмПутьНаСервереPushgateway
9 |
10 | ru
11 | PDE: Путь на сервере pushgateway
12 |
13 |
14 | String
15 |
16 |
17 | true
18 |
19 |
20 | Managed
21 |
22 |
--------------------------------------------------------------------------------
/src/Enums/пэмМетодыПолученияМетрик/пэмМетодыПолученияМетрик.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | пэмМетодыПолученияМетрик
9 |
10 | ru
11 | Методы получения метрик
12 |
13 | true
14 | BothWays
15 |
16 | Pull
17 |
18 | ru
19 | Pull
20 |
21 |
22 |
23 | Push
24 |
25 | ru
26 | Push
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/Enums/пэмТипыМетрик/пэмТипыМетрик.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | пэмТипыМетрик
9 |
10 | ru
11 | Типы метрик
12 |
13 | true
14 | BothWays
15 |
16 | Counter
17 |
18 | ru
19 | counter
20 |
21 |
22 |
23 | Gauge
24 |
25 | ru
26 | gauge
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/HTTPServices/Prometheus/Module.bsl:
--------------------------------------------------------------------------------
1 | #Область ОбработчикиСобытий
2 |
3 | Функция PollingGet(Запрос)
4 |
5 | УстановитьПривилегированныйРежим(Истина);
6 |
7 | //UserAgent = Запрос.Заголовки.Получить("User-Agent");
8 | //Accept = Запрос.Заголовки.Получить("Accept");
9 |
10 | //Если UserAgent = Неопределено ИЛИ Accept = Неопределено Тогда
11 | // Возврат Новый HTTPСервисОтвет(400);
12 | //ИначеЕсли НЕ UserAgent = "Go-http-client/1.1" Тогда
13 | // Возврат пэмМетрикиСервер.ВернутьОписаниеСервиса();
14 | //КонецЕсли;
15 |
16 | //Если (СтрНайти(Accept,"text/plain") = 0) Тогда
17 | // Возврат Новый HTTPСервисОтвет(405);
18 | //КонецЕсли;
19 |
20 | МетрикиСтрокой = пэмМетрикиСервер.СформироватьМетрикиПоЗапросу();
21 |
22 | Если НЕ ЗначениеЗаполнено(МетрикиСтрокой) Тогда
23 | Возврат Новый HTTPСервисОтвет(204);
24 | КонецЕсли;
25 |
26 | Ответ = Новый HTTPСервисОтвет(200);
27 | Ответ.УстановитьТелоИзСтроки(МетрикиСтрокой, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
28 |
29 | Возврат Ответ;
30 |
31 | КонецФункции
32 |
33 | #КонецОбласти
--------------------------------------------------------------------------------
/src/HTTPServices/Prometheus/Prometheus.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | Prometheus
4 |
5 | ru
6 | Phrometeus REST API
7 |
8 | prometheus
9 | AutoUse
10 | 20
11 |
12 | Polling
13 |
14 | ru
15 | Polling
16 |
17 | /polling
18 |
19 | Get
20 |
21 | ru
22 | Get
23 |
24 | PollingGet
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/InformationRegisters/пэмСостояниеМетрик/ManagerModule.bsl:
--------------------------------------------------------------------------------
1 | #Область Служебный_программный_интерфейс
2 |
3 | Процедура УдалитьЗапись(Метрика) Экспорт
4 |
5 | МенеджерЗаписи = РегистрыСведений.пэмСостояниеМетрик.СоздатьМенеджерЗаписи();
6 | МенеджерЗаписи.Метрика = Метрика.Ссылка;
7 | МенеджерЗаписи.Удалить();
8 |
9 | КонецПроцедуры
10 |
11 | #КонецОбласти
--------------------------------------------------------------------------------
/src/InformationRegisters/пэмСостояниеМетрик/пэмСостояниеМетрик.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | пэмСостояниеМетрик
13 |
14 | ru
15 | Состояние метрик
16 |
17 | true
18 | Managed
19 |
20 | ДатаРасчета
21 |
22 | ru
23 | Дата расчета
24 |
25 |
26 | Date
27 |
28 |
29 |
30 |
31 |
32 | Index
33 |
34 |
35 | Длительность
36 |
37 | ru
38 | Длительность
39 |
40 |
41 | Number
42 |
43 | 10
44 | true
45 |
46 |
47 |
48 |
49 |
50 | Index
51 |
52 |
53 | Метрика
54 |
55 | ru
56 | Метрика
57 |
58 |
59 | CatalogRef.пэмМетрики
60 |
61 |
62 |
63 | Use
64 |
65 | true
66 |
67 |
68 |
--------------------------------------------------------------------------------
/src/Reports/пэмСостояниеМетрик/Templates/MainDataCompositionSchema/Template.dcs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ИсточникДанных1
5 | Local
6 |
7 |
8 | НаборДанных1
9 |
10 | Метрика
11 | Метрика
12 |
13 | true
14 |
15 |
16 |
17 | ДатаРасчета
18 | ДатаРасчета
19 |
20 |
21 | Длительность
22 | Длительность
23 |
24 | ИсточникДанных1
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 | Asc
54 |
55 |
56 |
57 |
58 |
59 |
60 | Метрика.Код
61 |
62 |
63 |
64 |
65 |
66 | Текст
67 |
68 |
69 | ru
70 | Метрика
71 |
72 |
73 |
74 |
75 | DontUse
76 | DontUse
77 | DontUse
78 |
79 |
80 |
81 |
82 | Метрика.Наименование
83 |
84 |
85 |
86 |
87 |
88 | Текст
89 |
90 |
91 | ru
92 | Наименование
93 |
94 |
95 |
96 |
97 | DontUse
98 | DontUse
99 | DontUse
100 |
101 |
102 |
103 |
104 | Длительность
105 |
106 |
107 |
108 |
109 |
110 | Текст
111 |
112 |
113 | ru
114 | Длительность расчета (миллисекунд)
115 |
116 |
117 |
118 |
119 | DontUse
120 | DontUse
121 | DontUse
122 |
123 |
124 |
125 |
126 | ДатаРасчета
127 |
128 |
129 |
130 |
131 |
132 | Текст
133 |
134 |
135 | ru
136 | Дата последнего расчета
137 |
138 |
139 |
140 |
141 | DontUse
142 | DontUse
143 | DontUse
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
--------------------------------------------------------------------------------
/src/Reports/пэмСостояниеМетрик/пэмСостояниеМетрик.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | пэмСостояниеМетрик
8 |
9 | ru
10 | Состояние метрик
11 |
12 | true
13 | Report.пэмСостояниеМетрик.Template.MainDataCompositionSchema
14 |
15 | MainDataCompositionSchema
16 |
17 | ru
18 | Main data composition schema
19 |
20 | DataCompositionSchema
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/Roles/пэмНастройкаМетрик/Rights.rights:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | true
5 | false
6 |
21 |
28 |
99 |
142 |
149 |
156 |
163 |
178 |
193 |
200 |
215 |
226 |
233 |
240 |
247 |
254 |
255 |
--------------------------------------------------------------------------------
/src/Roles/пэмНастройкаМетрик/пэмНастройкаМетрик.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмНастройкаМетрик
4 |
5 | ru
6 | PDE: Настройка метрик
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/Roles/пэмПолучениеМетрик/Rights.rights:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | true
5 | false
6 |
49 |
56 |
67 |
68 |
--------------------------------------------------------------------------------
/src/Roles/пэмПолучениеМетрик/пэмПолучениеМетрик.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмПолучениеМетрик
4 |
5 | ru
6 | PDE: Получение метрик
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/ScheduledJobs/пэмВыполнитьРасчетМетрик/Schedule.schedule:
--------------------------------------------------------------------------------
1 |
2 |
3 | Mon
4 | Tue
5 | Wed
6 | Thu
7 | Fri
8 | Sat
9 | Sun
10 | Jan
11 | Feb
12 | Mar
13 | Apr
14 | May
15 | Jun
16 | Jul
17 | Aug
18 | Sep
19 | Oct
20 | Nov
21 | Dec
22 |
23 |
--------------------------------------------------------------------------------
/src/ScheduledJobs/пэмВыполнитьРасчетМетрик/пэмВыполнитьРасчетМетрик.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмВыполнитьРасчетМетрик
4 |
5 | ru
6 | Расчет метрик Prometheus
7 |
8 | CommonModule.пэмМетрикиСервер.СформироватьМетрикиРегламентнымЗаданием
9 | Расчет метрик Prometheus (Общий регламент)
10 | пэмМетрикиСерверСформироватьМетрикиРегламентнымЗаданием
11 | true
12 |
13 |
--------------------------------------------------------------------------------
/src/ScheduledJobs/пэмРегламентныеОперации/Schedule.schedule:
--------------------------------------------------------------------------------
1 |
2 |
3 | Mon
4 | Tue
5 | Wed
6 | Thu
7 | Fri
8 | Sat
9 | Sun
10 | Jan
11 | Feb
12 | Mar
13 | Apr
14 | May
15 | Jun
16 | Jul
17 | Aug
18 | Sep
19 | Oct
20 | Nov
21 | Dec
22 |
23 |
--------------------------------------------------------------------------------
/src/ScheduledJobs/пэмРегламентныеОперации/пэмРегламентныеОперации.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | пэмРегламентныеОперации
4 |
5 | ru
6 | Регламентные операции Prometheus
7 |
8 | CommonModule.пэмМетрикиСервер.РегламентныеОперации
9 | Регламентные операции Prometheus
10 | пэмМетрикиСервер.РегламентныеОперации
11 |
12 | true
13 | 3
14 | 10
15 |
16 |
--------------------------------------------------------------------------------
/src/Subsystems/Prometheus/CommandInterface.cmi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | InformationRegister.пэмСостояниеМетрик.StandardCommand.OpenList
6 |
7 |
8 |
9 | Constant.пэмАдресСервераPushgateway.StandardCommand.Open
10 |
11 |
12 |
13 | Constant.пэмИспользоватьPushgateway.StandardCommand.Open
14 |
15 |
16 |
17 | Constant.пэмМногопоточныйРасчетМетрик.StandardCommand.Open
18 |
19 |
20 |
21 | Constant.пэмПортСервераPushgateway.StandardCommand.Open
22 |
23 |
24 |
25 | Constant.пэмПутьНаСервереPushgateway.StandardCommand.Open
26 |
27 |
28 |
29 | Constant.пэмПервоначальноеЗаполнениеВыполнено.StandardCommand.Open
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/src/Subsystems/Prometheus/Prometheus.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 | Prometheus
4 |
5 | ru
6 | Prometheus
7 |
8 | true
9 | true
10 |
11 | CommonPicture.пэмPrometheusLogo
12 |
13 | CommonForm.пэмНастройкиМетрик
14 | CommonCommand.пэмНастройки
15 | Catalog.пэмМетрики
16 | InformationRegister.пэмСостояниеМетрик
17 | Constant.пэмАдресСервераPushgateway
18 | Constant.пэмПортСервераPushgateway
19 | Constant.пэмИспользоватьPushgateway
20 | Constant.пэмМногопоточныйРасчетМетрик
21 | CommonModule.пэмМетрикиСервер
22 | Role.пэмНастройкаМетрик
23 | Role.пэмПолучениеМетрик
24 | ScheduledJob.пэмВыполнитьРасчетМетрик
25 | CommonPicture.пэмPrometheusLogo
26 | HTTPService.Prometheus
27 | Enum.пэмТипыМетрик
28 | Enum.пэмМетодыПолученияМетрик
29 | Report.пэмСостояниеМетрик
30 | Constant.пэмПутьНаСервереPushgateway
31 | Constant.пэмПервоначальноеЗаполнениеВыполнено
32 | CommonModule.пэмМетрикиКлиент
33 | CommonModule.пэмМетрикиСерверПовтИсп
34 | CommonModule.пэмМетрикиВызовСервера
35 | ScheduledJob.пэмРегламентныеОперации
36 | CommonPicture.пэмPullGreen
37 | CommonPicture.пэмPullRed
38 | CommonPicture.пэмPushGreen
39 | CommonPicture.пэмPushRed
40 |
41 |
--------------------------------------------------------------------------------