Oneric
8e5defe6ca
stats: estimate remote user count
...
This value is currently only used by Prometheus metrics
but (after optimisng the peer query inthe preceeding commit)
the most costly part of instance stats.
2025-01-07 20:27:28 +01:00
Oneric
138b1aea2f
stats: use cheaper peers query
...
This query is one of the top cost offenders during an instances
lifetime. For small instances it was shown to take up 30-50% percent of
the total database query time, while for bigger isntaces it still held
a spot in the top 3 — alost as or even more expensive overall than
timeline queries!
The good news is, there’s a cheaper way using the instance table:
no need to process each entry, no need to filter NULLs
and no need to dedupe. EXPLAIN estimates the cost of the
old query as 13272.39 and the cost of the new query as 395.74
for me; i.e. a 33-fold reduction.
Results can slightly differ. E.g. we might have an old user
predating the instance tables existence and no interaction with since
or no instance table entry due to failure to query nodeinfo.
Conversely, we might have an instance entry but all known users got
deleted since.
However, this seems unproblematic in practice
and well worth the perf improvment.
Given the previous query didn’t exclude unreachable instances
neither does the new query.
2025-01-07 20:27:28 +01:00
Oneric
8b5183cb74
stats: fix stat spec
2025-01-07 20:27:28 +01:00
FloatingGhost
7b76fdeed3
update stats every 5 minutes
2022-12-16 17:22:56 +00:00
FloatingGhost
b91e671c0d
add remote user count for the heck of it
2022-12-16 17:22:26 +00:00
Alexander Strizhakov
da5d21a1cf
don't use continue in Stats init for test env
2021-02-27 09:39:15 +03:00
Mark Felder
860b5c7804
Change user.deactivated field to user.is_active
2021-01-15 11:24:46 -06:00
Haelwenn (lanodan) Monnier
c4439c630f
Bump Copyright to 2021
...
grep -rl '# Copyright © .* Pleroma' * | xargs sed -i 's;Copyright © .* Pleroma .*;Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/ >;'
2021-01-13 07:49:50 +01:00
Alexander Strizhakov
de2499e54b
don't run update in tests
2020-09-09 10:48:18 +03:00
Alexander Strizhakov
87d2805791
combo fixes
2020-09-08 17:40:23 +02:00
Alexander Strizhakov
ee67c98e55
removing Stats worker from Oban cron jobs
2020-09-07 19:16:14 +03:00
Roman Chvanikov
cbe383ae83
Update stats admin endpoint
2020-05-09 11:30:37 +03:00
Roman Chvanikov
39d2f2118a
update counter_cache logic
2020-05-09 01:20:50 +03:00
Egor Kislitsyn
88a14da817
Add OpenAPI spec for InstanceController
2020-05-05 17:24:16 +04:00
lain
f5bda09de6
Stats: Use invisible
property for filtering.
2020-04-22 19:02:22 +02:00
lain
8b88e2a6e2
Stats: Ignore internal users for user count.
2020-04-22 15:31:37 +02:00
Mark Felder
cdb05633a6
Generate instance stats on startup
2020-03-04 13:33:26 -06:00
Haelwenn (lanodan) Monnier
6da6540036
Bump copyright years of files changed after 2020-01-07
...
Done via the following command:
git diff fcd5dd259a
--stat --name-only | xargs sed -i '/Pleroma Authors/c# Copyright © 2017-2020 Pleroma Authors <https:\/\/pleroma.social\/>'
2020-03-02 06:08:45 +01:00
eugenijm
7ad5c51f23
Admin API: GET /api/pleroma/admin/stats
to get status count by visibility scope
2020-02-24 21:46:37 +03:00
Maksim Pechnikov
ac3abb5414
moved Pleroma.Stats to Oban Periodic jobs
2019-11-26 10:54:30 +03:00
Ivan Tashkinov
10ff01acd9
[ #1304 ] Moved all non-mutes / non-blocks fields from User.Info to User. WIP.
2019-10-16 21:59:21 +03:00
rinpatch
e8a8d50138
Collect stats immediately after init
2019-08-15 01:01:13 +03:00
stwf
d81f63845a
Implement Pleroma.Stats as GenServer
2019-08-14 11:59:33 -04:00
stwf
51bdf0cab6
use default child_specs
2019-08-14 11:55:17 -04:00
Alexander Strizhakov
bfeb33e951
Merge develop
...
Merge conflict in lib/pleroma/activity.ex
2019-05-08 14:34:36 +00:00
Haelwenn (lanodan) Monnier
a3a9cec483
[Credo] fix Credo.Check.Readability.AliasOrder
2019-03-13 04:26:54 +01:00
Haelwenn (lanodan) Monnier
6a6a5b3251
de-group alias/es
2019-02-09 16:31:17 +01:00
Haelwenn (lanodan) Monnier
8bcfac93a8
Make credo happy
2019-02-09 14:59:20 +01:00
Ivan Tashkinov
954dc4a4ad
[ #502 ] Fixed user_count
in /api/v1/instance
to include only active local users.
2019-01-17 19:16:02 +03:00
Ivan Tashkinov
90433b988e
[ #518 ] Fixed /api/v1/instance ("domain_count" value) and /api/v1/instance/peers responses.
2019-01-16 11:07:46 +03:00
William Pitcock
980b5288ed
update copyright years to 2019
2018-12-31 15:41:47 +00:00
William Pitcock
2791ce9a1f
add license boilerplate to pleroma core
2018-12-23 20:56:42 +00:00
Mark Felder
636f0fa402
Clean up unused aliases and imports
2018-05-04 21:25:31 +00:00
lain
4afbef39f4
Format the code.
2018-03-30 15:01:53 +02:00
lain
26ccb768d3
Make test output easier to read.
2018-02-12 10:14:11 +01:00
Roger Braun
2f291576e4
Fix compile errors on 1.4.5
2018-02-08 16:03:30 +01:00
Roger Braun
0f722a8c22
Stats: Make less crashy and improve query.
2018-01-20 18:38:30 +01:00
eal
d8db39564e
Move user count to stats agent.
2018-01-14 08:15:11 +02:00
eal
9717166d10
Add a stats agent for storing data from expensive queries.
2018-01-13 18:24:16 +02:00