Commit graph

77 commits

Author SHA1 Message Date
genofire
d2b707e838 prometheus: labels are always strings
Change-Id: 4192b04373567e5470c03a984a9e40366a8c1f4d

Signed-off-by: genofire <geno+dev@fireorbit.de>
2022-09-08 08:40:41 +01:00
Michael Meeks
29d68aa033 prometheus: don't export string values.
continue to use the pid as a short-ish label to disambiguate metrics,
but also define the pid with more labels in the 1st instance.

doc_pid{host="localhost",key="https://localhost:9980/.../hello-world.odt",filename="hello-world.odt"} 1261609
doc_views{pid=1261609} 2
doc_views_active{pid=1261609} 2
doc_is_modified{pid=1261609} 1
...

Change-Id: I573f6d5c8ceb9a7daee83d1f2ee9f42b8e0cd089
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2022-09-06 21:18:29 +01:00
Michael Meeks
3a1deab1d4 Prometheus - log per-document details for getMetrics.
This should perform and still be reasonably compact even
for large numbers of documents.

Change-Id: I3820af6c23806d569c23a893bd8db040dfb351e8
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2022-09-05 12:31:33 +01:00
Pranam Lashkari
e9d441c490 introduce unconditional logging method
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I590ade9d6687a8b0d364a257f107559db4d81b03
2022-06-16 09:39:14 +01:00
Henry Castro
455532c218 wsd: admin: fix typo
Change-Id: Ia9714fbadf7cdafa84fd58354e1b72dc36084ad3
Signed-off-by: Henry Castro <hcastro@collabora.com>
2022-04-27 09:18:21 +01:00
Michael Meeks
96b15bd704 Count and report on various internal exceptions.
An initial set of seven of these, easy to add more as/when needed.

Change-Id: I6c65e052d00f9eaa10adee3c9464043e4c594848
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2022-02-18 13:51:41 +00:00
Yunusemre Şentürk
a41995accd Admin: make time output thread secure
Change-Id: I3927ef9989de2217dee6c4b3034c9ffbd8fb184d
Signed-off-by: Yunusemre Şentürk <yunusemre@collabora.com>
2022-01-21 16:52:20 +01:00
Yunusemre Şentürk
801b67c353 Admin: force un-conditional logging when docstats enabled
Change-Id: Iea0a75927b495735787496468ab39d5314992a50
Signed-off-by: Yunusemre Şentürk <yunusemre@collabora.com>
2022-01-21 10:17:46 +00:00
Yunusemre Şentürk
2314c40873 Admin: introduce docstats subsection in logging in config
Change-Id: Icccc9d842703b3159965f67be2bf16404d50bad6
Signed-off-by: Yunusemre Şentürk <yunusemre@collabora.com>
2022-01-17 16:28:08 +00:00
Yunusemre Şentürk
23e9f086e2 Admin: add log info about adding a document.
Change-Id: Ia440662d341803c56a810563a76269835469bb2e
Signed-off-by: Yunusemre Şentürk <yunusemre@collabora.com>
2022-01-08 10:59:15 +00:00
Andras Timar
f07ff8c7e0 rename: remaining lool->cool changes
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ib7d4e804bebe52dead8d53b0e0bbaed0f08bf3d0
2021-11-18 14:14:11 +01:00
Gabriel Masei
e45358ab8f admin: add resource consuming docs cleanup metrics
Signed-off-by: Gabriel Masei <gabriel.masei@1and1.ro>
Change-Id: Ia65f0eeca8a9eccca17359bcb784b82ab6740317
2021-11-09 11:02:12 +01:00
Michael Meeks
81ea2266dd prevent division by zero
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ibce3908b4d2c849548bece4e5819aa74dc1992d2
2021-10-25 17:00:02 +01:00
Andras Timar
0b1f5f6def prevent division by zero
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I9f9523336ddcbe24906787cfc3210f3471768ea8
2021-09-20 09:06:12 -04:00
Rash419
ea4d455f3a Admin Console: add wopihost name in the dashboard
Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I8ce68653200bb16877f6ced57fc77f6291b375a8
2021-09-09 10:13:40 +05:30
Gabriel Masei
21d514ecff admin: add support for lost kits cleanup
Signed-off-by: Gabriel Masei <gabriel.masei@1and1.ro>
Change-Id: I31969196aa138b6da964c867679ec23f34c89fd0
2021-04-01 22:09:44 +01:00
Ashod Nakashian
47630f826e wsd: use steady_clock for measuring time interval
chrono::system_clock can go back in time.
For time interval measurements, where we don't
care about the local time, a monotonic clock
should be used.

This avoids the server uptime jumping around
with daylight saving (or indeed by regular
synchronization with an atomic clock), among
other cases.

Change-Id: I09f9b24c82d19439348a2e66cad9e9de7d755208
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2020-12-08 09:26:41 +00:00
Gleb Popov
3ee1ee0b50 AdminModel.cpp: Fix build with libc++.
Change-Id: I46a5d8a44c9d329d52ef355f228be63b8af06947
Signed-off-by: Gleb Popov <6yearold@gmail.com>
2020-11-16 14:02:23 +00:00
Andras Timar
0002fdfd6c fix license headers
Change-Id: I8623770b32d278a45357dc7f757fabfadd2b4af7
2020-10-01 11:56:43 +02:00
gokaysatir
30dfb54ca4 loleaflet: Admin console overview details.
Change-Id: Ia796d457e26a5867547fb4b2b4b78b10c64d7c95
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/99689
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>
2020-08-07 16:03:39 +02:00
Ashod Nakashian
02da27a436 wsd: improve readability
Change-Id: I2f85ebff783ebb799324b0aa95f5d0d023c19231
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/96381
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Jenkins
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-07-01 07:40:10 +02:00
Gabriel Masei
ac17984226 admin: cleanup resource consuming kits
Change-Id: Ifafbadc61b788adc90c03fb92e0231f9e599c360
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95794
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-06-09 11:25:44 +02:00
Gabriel Masei
16f6d8c25a admin: notify subscribers that doc memory has changed
Change-Id: I139c7d49a2cd1b86c3a281613f5628f6af8b3365
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95133
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-06-04 12:59:34 +02:00
Ashod Nakashian
6ab64ac992 wsd: single-char string literals -> char
Change-Id: I163d6fe1c80334317d38f8fed2199ad2b31a0f8a
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95335
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Jenkins
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-06-02 17:22:26 +02:00
Ashod Nakashian
224ef08c7f wsd: single-char string literals -> char
More readable and typically more efficient.

Change-Id: I9bd5bfc91f4ac255bb8ae0987708fb8b56b398f8
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95285
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2020-06-02 01:31:26 +02:00
Michael Meeks
afcca641e5 AdminModel::removeDocument: fix the other key issue by code sharing.
Change-Id: I0f841b0b54f44827f397e57e22c0d845cfb121ba
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/93401
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-05-04 11:16:44 +02:00
Miklos Vajna
6bdcca933d AdminModel::removeDocument: hold a copy of doc key before erase
Change-Id: I3713976b980897c6eb3e1d9e95476c5ff3dbbba1
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/93398
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-05-04 09:43:42 +02:00
Gabriel Masei
b1e970371e admin: fix kit CPU metrics computation
Change-Id: Ib0f8411fa3919b4cffe640c13d87e1a644ed8e69
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/93149
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
2020-04-29 16:46:32 +02:00
Pranam Lashkari
8b349716eb killpoco: removed Poco::Process completely
Change-Id: Iba67abf9342c11517c69c1d94903bf4752aa87d6
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/83770
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2020-04-29 14:27:54 +02:00
Gabriel Masei
d006204478 wsd: admin: send smaps fd along websocket upgrade request
Change-Id: I2c5c23284b7578f4c177ec337cc1262bf1259e96
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/93074
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-04-28 17:20:07 +02:00
Gabriel Masei
93bd4875a2 admin: fix kit_memory_usage metrics computation
Change-Id: I2f1d4f2320336e690fcf84fb9c26b5142f53508e
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92979
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-04-27 16:21:01 +02:00
Gabriel Masei
6b486f229a wsd: admin: move kit memory reporting from kit to admin module
Sometimes kit process goes into a heavy processing state (or even hangs)
and is not able to report its memory usage. Thus we can't implement cleanup
of problematic kit processes based on memory information reported by kit.
By moving memory reporting to admin module we avoid this problem.

Change-Id: Icf274e3a3a97b33623a93f9d2dc1e640ad9b7d99
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92752
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-04-25 09:11:35 +02:00
Michael Meeks
b0f7cf992f Admin: cleanup lifecycle of Document.
When moving items across to _expiredDocuments we could end up
default copy constructors and destructors instead of swapping,
which can cause grief when extended. Switch to unique_ptr to
protect us in the future & clean.

Change-Id: I5bcdb95786c783eaacde972bbed4e5e7efc67f02
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92888
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-04-25 09:11:13 +02:00
Miklos Vajna
eeb4d53a1e admin_fuzzer: fix too large param to mem stats size setter
Change-Id: I30dfa5cd917769e05cfdd4fad2a0e5ee8cc79dfb
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92568
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-04-20 15:44:21 +02:00
Miklos Vajna
72cfcf7f3e admin_fuzzer: fix too large param to cpu_stats_size setter
Don't pop an empty container, also use stol() so it does not throw
std::out_of_range.

Change-Id: Id81cb00ccfb0ecc234b8f6fa89edf5a0d8c6d353
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92524
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-04-20 11:18:05 +02:00
Gabriel Masei
0ac330f599 Add segmentation fault metric for Kit processes
Change-Id: Ifb0de004274213ef512f601e4419f98f456c7288
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/91857
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-04-08 15:06:39 +02:00
Miklos Vajna
60908ed88c admin: only kill document pids
unit-admin is currently disabled, so... how to reproduce:

Edit loleaflet/admin/src/AdminSocketOverview.js to try to kill e.g. pid
0.

Expected result:

[ admin ] WRN  Invalid PID to kill (not a document pid)| wsd/Admin.cpp:168

Change-Id: I06dda68b38096689c1b9327cefba2cbfc96805f8
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/91868
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-04-08 10:23:59 +02:00
Gabriel Masei
2164f5207c Add REST endpoint for admin metrics.
Change-Id: I701485631931334d27594c4907cb770f9888e5bf
Reviewed-on: https://gerrit.libreoffice.org/82492
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
2019-11-25 13:06:01 +01:00
Pranam Lashkari
a6b0e5b827 killpoco: removed StringTokenizer from wsd directory
removed use of Poco::StringTokenizer from the wsd directory using LOOLProtocol::tokenize and std::vecor<std::string>

Change-Id: Ic50b4d4d71d4ffd005aacf6aef0ed2bfde66d40d
Reviewed-on: https://gerrit.libreoffice.org/82569
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2019-11-13 09:51:04 +01:00
George
360d5a0956 added server uptime field to admin console
Change-Id: Id23fee1299b87095f186ce7aaa8c2d2e0f3cef52
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2019-07-19 21:14:01 +01:00
Miklos Vajna
5c443ca7d9 DocBasicInfo: make members private
Nicely shows that all these members are only set once in the constructor
and otherwise only read.

Change-Id: I4b48a9d0faa50efc4bec30ce94239b7438bbf889
2018-12-21 09:07:40 +01:00
Jan Holesovsky
f44b59b2d1 wsd: dump history in trace-logging only
(cherry picked from commit 1d5074146ad4532d86e7b5cfa7d0f518feee13c5)

Change-Id: Ibbefb93aa378f6faecbdb8b8c4f59013696b73c7
2018-10-16 20:12:23 -04:00
Ashod Nakashian
7f569a61dc wsd: anonymize jailed filename
Change-Id: I0af46ae6779caf9851e3142889940e4f774f9eb9
2018-10-16 20:12:23 -04:00
Jérémie Lesage
238b754f2b add docKey in documents response 2018-06-29 18:10:25 +01:00
Ashod Nakashian
7be98efd93 ut: log timestamp to track timeouts better
And improve the logging support in unit-tests to
help troubleshoot issues faster and more accurately.
Also makes the code more readable (hopefully).

Change-Id: I4f8aafb5245e2f774b03231591a74544f9ec84aa
Reviewed-on: https://gerrit.libreoffice.org/48645
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2018-02-11 19:21:15 +01:00
Miklos Vajna
1dde430bcf wsd: spell out non-trivial autos to improve readability
Change-Id: I0e1f169fc39e5c722704e1cae487147d929f7350
2018-02-07 10:18:12 +01:00
Miklos Vajna
46c0873c29 wsd: can avoid copying these in AdminModel
Change-Id: Id092585e93cca3bd4d52531cf628c1f205fcfe8b
2018-02-06 16:06:24 +01:00
Ashod Nakashian
59398af621 wsd: simpler and more efficient OOM killing
Change-Id: I118abdffba4e7ab57fe6a29a3a9fc420d871bdc0
Reviewed-on: https://gerrit.libreoffice.org/47738
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2018-01-11 08:12:09 +01:00
Ashod Nakashian
57d535b15b wsd: lambda cleanup and better readability
Change-Id: Iabb850be7a7c162847514ee0fb600297accfcffb
Reviewed-on: https://gerrit.libreoffice.org/47364
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2018-01-06 22:13:50 +01:00
Pranav Kant
f63858433b loplugin:includeform
Change-Id: Ib62a7aa61062f00698aa3e8a144438de5c57e53d
2017-12-20 21:21:05 +05:30