Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Stop sub-classing object (#8249) | Patrick Cloke | 2020-09-04 | 2 | -10/+10 |
| | |||||
* | Convert runWithConnection to async. (#8121) | Patrick Cloke | 2020-08-19 | 1 | -1/+1 |
| | |||||
* | Convert run_as_background_process inner function to async. (#8032) | Patrick Cloke | 2020-08-06 | 1 | -22/+12 |
| | |||||
* | Improve stacktraces from exceptions in background processes (#7808) | Richard van der Hoff | 2020-07-09 | 1 | -1/+9 |
| | | | use `Failure()` to fish out the real exception. | ||||
* | Add some metrics for inbound and outbound federation processing times (#7755) | Erik Johnston | 2020-06-30 | 1 | -0/+6 |
| | |||||
* | Set Content-Length for Metrics requests (#7730) | Christian Svensson | 2020-06-23 | 1 | -1/+4 |
| | | | | | | HTTP requires the response to contain a Content-Length header unless chunked encoding is being used. Prometheus metrics endpoint did not set this, causing software such as prometheus-proxy to not be able to scrape synapse for metrics. Signed-off-by: Christian Svensson <blue@cmd.nu> | ||||
* | Replace iteritems/itervalues/iterkeys with native versions. (#7692) | Patrick Cloke | 2020-06-15 | 1 | -4/+2 |
| | |||||
* | Make inflight background metrics more efficient. (#7597) | Erik Johnston | 2020-05-29 | 1 | -34/+70 |
| | | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> | ||||
* | synapse.metrics: implement detailed memory usage reporting on PyPy (#7536) | Ivan Shapovalov | 2020-05-22 | 1 | -1/+78 |
| | | | | | | PyPy's gc.get_stats() returns an object containing detailed allocator statistics which could be beneficial to collect as metrics. Signed-off-by: Ivan Shapovalov <intelfx@intelfx.name> | ||||
* | Allow configuration of Synapse's cache without using synctl or environment ↵ | Amber Brown | 2020-05-11 | 1 | -4/+8 |
| | | | | variables (#6391) | ||||
* | Add prometheus metrics for the number of active pushers (#7103) | Richard van der Hoff | 2020-03-19 | 2 | -7/+10 |
| | |||||
* | Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957) | Patrick Cloke | 2020-02-21 | 2 | -3/+3 |
| | | | | Ensure good comprehension hygiene using flake8-comprehensions. | ||||
* | Fix up some typechecking (#6150) | Amber Brown | 2019-10-02 | 2 | -4/+4 |
| | | | | | | * type checking fixes * changelog | ||||
* | Update comments and docstring | Richard van der Hoff | 2019-09-25 | 1 | -4/+6 |
| | |||||
* | Add wrap_as_background_process decorator. | Erik Johnston | 2019-09-24 | 1 | -1/+28 |
| | | | | | This does the same thing as `run_as_background_process` but means we don't need to create superfluous functions. | ||||
* | Fix for structured logging tests stomping on logs (#6023) | Amber Brown | 2019-09-13 | 2 | -4/+5 |
| | |||||
* | Add a build info metric to Prometheus (#6005) | Amber Brown | 2019-09-10 | 1 | -0/+12 |
| | |||||
* | Support Prometheus_client 0.4.0+ (#5636) | Amber Brown | 2019-07-18 | 3 | -20/+275 |
| | |||||
* | Move logging utilities out of the side drawer of util/ and into logging/ (#5606) | Amber Brown | 2019-07-04 | 1 | -1/+1 |
| | |||||
* | Don't log GC 0s at INFO (#5557) | Amber Brown | 2019-06-28 | 1 | -1/+4 |
| | |||||
* | Run Black. (#5482) | Amber Brown | 2019-06-20 | 2 | -22/+18 |
| | |||||
* | Prometheus histograms are cumalative | Erik Johnston | 2019-06-14 | 1 | -1/+0 |
| | |||||
* | fix prometheus rendering error | Amber H. Brown | 2019-06-14 | 1 | -1/+1 |
| | |||||
* | Expose statistics on extrems to prometheus (#5384) | Amber Brown | 2019-06-13 | 1 | -20/+92 |
| | |||||
* | Add metrics for number of outgoing EDUs, by type (#4695) | Richard van der Hoff | 2019-02-20 | 1 | -2/+0 |
| | |||||
* | Fix exception in background metrics collection | Erik Johnston | 2018-10-03 | 1 | -2/+6 |
| | | | | | We attempted to iterate through a list on a separate thread without doing the necessary copying. | ||||
* | Add missing logger | Erik Johnston | 2018-09-20 | 1 | -0/+4 |
| | |||||
* | Handle exceptions thrown by background tasks | Erik Johnston | 2018-09-20 | 1 | -0/+2 |
| | | | | Fixes #3921 | ||||
* | Remove spurious comment | Erik Johnston | 2018-09-14 | 1 | -2/+0 |
| | |||||
* | Add in flight real time metrics for Measure blocks | Erik Johnston | 2018-09-14 | 1 | -1/+109 |
| | |||||
* | isort | Erik Johnston | 2018-08-21 | 1 | -1/+2 |
| | |||||
* | Make the in flight background process metrics thread safe | Erik Johnston | 2018-08-20 | 1 | -5/+20 |
| | |||||
* | fix metric name | Richard van der Hoff | 2018-08-07 | 1 | -1/+1 |
| | |||||
* | more metrics for the federation and appservice senders | Richard van der Hoff | 2018-08-07 | 1 | -0/+13 |
| | |||||
* | Fix some looping_call calls which were broken in #3604 | Richard van der Hoff | 2018-07-26 | 1 | -2/+8 |
| | | | | | | | | | It turns out that looping_call does check the deferred returned by its callback, and (at least in the case of client_ips), we were relying on this, and I broke it in #3604. Update run_as_background_process to return the deferred, and make sure we return it to clock.looping_call. | ||||
* | Resource tracking for background processes | Richard van der Hoff | 2018-07-18 | 1 | -0/+179 |
| | | | | | | | | | | | | | | | | This introduces a mechanism for tracking resource usage by background processes, along with an example of how it will be used. This will help address #3518, but more importantly will give us better insights into things which are happening but not being shown up by the request metrics. We *could* do this with Measure blocks, but: - I think having them pulled out as a completely separate metric class will make it easier to distinguish top-level processes from those which are nested. - I want to be able to report on in-flight background processes, and I don't think we want to do this for *all* Measure blocks. | ||||
* | run isort | Amber Brown | 2018-07-09 | 1 | -6/+5 |
| | |||||
* | Attempt to be more performant on PyPy (#3462) | Amber Brown | 2018-06-28 | 1 | -1/+2 |
| | |||||
* | Fix description of "python_gc_time" metric | Richard van der Hoff | 2018-06-21 | 1 | -1/+1 |
| | |||||
* | spell gauge correctly | Matthew Hodgson | 2018-06-16 | 1 | -1/+1 |
| | |||||
* | add a last seen metric (#3396) | Amber Brown | 2018-06-14 | 1 | -0/+21 |
| | |||||
* | Hopefully, fix LaterGuage error handling | Richard van der Hoff | 2018-06-04 | 1 | -3/+6 |
| | |||||
* | Run Prometheus on a different port, optionally. (#3274) | Amber Brown | 2018-05-31 | 2 | -1/+6 |
| | |||||
* | pep8 | Matthew Hodgson | 2018-05-29 | 1 | -0/+1 |
| | |||||
* | disable CPUMetrics if no /proc/self/stat | Matthew Hodgson | 2018-05-29 | 1 | -0/+3 |
| | | | | fixes build on macOS again | ||||
* | invalid syntax :( | Amber Brown | 2018-05-28 | 1 | -2/+1 |
| | |||||
* | update metrics to be in seconds | Amber Brown | 2018-05-28 | 1 | -9/+10 |
| | |||||
* | pepeightttt | Amber Brown | 2018-05-23 | 1 | -0/+1 |
| | |||||
* | add back CPU metrics | Amber Brown | 2018-05-23 | 1 | -1/+35 |
| | |||||
* | more cleanup | Amber Brown | 2018-05-22 | 1 | -3/+1 |
| | |||||
* | cleanup | Amber Brown | 2018-05-22 | 1 | -6/+22 |
| | |||||
* | fixes | Amber Brown | 2018-05-22 | 1 | -2/+10 |
| | |||||
* | Merge remote-tracking branch 'origin/develop' into 3218-official-prom | Amber Brown | 2018-05-22 | 1 | -1/+5 |
|\ | |||||
* | | replacing portions | Amber Brown | 2018-05-21 | 1 | -119/+63 |
| | | |||||
* | | don't need the resource portion | Amber Brown | 2018-05-21 | 1 | -23/+0 |
| | | |||||
* | | remove old metrics libs | Amber Brown | 2018-05-21 | 2 | -450/+0 |
|/ | |||||
* | Note that label values can be anything | Erik Johnston | 2018-05-03 | 1 | -1/+2 |
| | |||||
* | Fix metrics that have integer value labels | Erik Johnston | 2018-05-03 | 1 | -1/+1 |
| | |||||
* | Make _escape_character take MatchObject | Erik Johnston | 2018-05-02 | 1 | -2/+10 |
| | |||||
* | Escape label values in prometheus metrics | Erik Johnston | 2018-05-02 | 1 | -2/+20 |
| | |||||
* | s/list/tuple | Erik Johnston | 2018-04-12 | 1 | -2/+2 |
| | |||||
* | Track last processed event received_ts | Erik Johnston | 2018-04-11 | 1 | -0/+13 |
| | |||||
* | Track where event stream processing have gotten up to | Erik Johnston | 2018-04-11 | 1 | -0/+13 |
| | |||||
* | Add GaugeMetric | Erik Johnston | 2018-04-11 | 2 | -1/+38 |
| | |||||
* | Don't disable GC when running on PyPy | Vincent Breitmoser | 2018-04-10 | 1 | -1/+7 |
| | | | | | | | | PyPy's incminimark GC can't be triggered manually. From what I observed there are no obvious issues with just letting it run normally. And unlike CPython, it actually returns unused RAM to the system. Signed-off-by: Vincent Breitmoser <look@my.amazin.horse> | ||||
* | Add a metric which increments when a request is received | Richard van der Hoff | 2018-03-09 | 1 | -0/+16 |
| | | | | | | It's useful to know when there are peaks in incoming requests - which isn't quite the same as there being peaks in outgoing responses, due to the time taken to handle requests. | ||||
* | report metrics on number of cache evictions | Richard van der Hoff | 2018-02-05 | 1 | -1/+10 |
| | |||||
* | Add some comments about the reactor tick time metric | Richard van der Hoff | 2018-01-19 | 1 | -1/+6 |
| | |||||
* | better exception logging in callbackmetrics | Richard van der Hoff | 2018-01-18 | 1 | -1/+8 |
| | | | | when we fail to render a metric, give a clue as to which metric it was | ||||
* | mechanism to render metrics with alternative names | Richard van der Hoff | 2018-01-15 | 1 | -13/+40 |
| | |||||
* | Add some comments to metrics classes | Richard van der Hoff | 2018-01-15 | 1 | -1/+27 |
| | |||||
* | Make Counter render floats | Richard van der Hoff | 2018-01-12 | 1 | -3/+10 |
| | | | | | | | | Prometheus handles all metrics as floats, and sometimes we store non-integer values in them (notably, durations in seconds), so let's render them as floats too. (Note that the standard client libraries also treat Counters as floats.) | ||||
* | Rename the python-specific metrics now the docs claim that we have done | Paul "LeoNerd" Evans | 2016-11-03 | 1 | -7/+9 |
| | |||||
* | Since we don't export per-filetype fd counts any more, delete all the code ↵ | Paul "LeoNerd" Evans | 2016-11-03 | 1 | -36/+4 |
| | | | | related to that too | ||||
* | Remove now-unused 'resource' import | Paul "LeoNerd" Evans | 2016-11-03 | 1 | -8/+0 |
| | |||||
* | Now we have new-style metrics don't bother exporting legacy-named process ones | Paul "LeoNerd" Evans | 2016-11-03 | 1 | -16/+1 |
| | |||||
* | Set up the process collector during metrics __init__; that way all ↵ | Paul "LeoNerd" Evans | 2016-10-27 | 1 | -0/+3 |
| | | | | split-process workers have it | ||||
* | Pass the Metrics group into the process collector instead of having it find ↵ | Paul "LeoNerd" Evans | 2016-10-27 | 1 | -7/+3 |
| | | | | its own one; this avoids it needing to import from synapse.metrics | ||||
* | Allow creation of a 'subspace' within a Metrics object, returning another one | Paul "LeoNerd" Evans | 2016-10-27 | 1 | -0/+3 |
| | |||||
* | Split callback metric lambda functions down onto their own lines to keep ↵ | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -8/+16 |
| | | | | line lengths under 90 | ||||
* | Adjust code for <100 char line limit | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -1/+1 |
| | |||||
* | Cut the raw /proc/self/stat line up into named fields at collection time | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -8/+22 |
| | |||||
* | Move the process metrics collector code into its own file | Paul "LeoNerd" Evans | 2016-10-19 | 2 | -141/+159 |
| | |||||
* | A slightly neater way to manage metric collector functions | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -2/+8 |
| | |||||
* | appease pep8 | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -3/+5 |
| | |||||
* | Also guard /proc/self/fds-related code with a suitable psuedoconstant | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -3/+5 |
| | |||||
* | Guard registration of process-wide metrics by existence of the requisite ↵ | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -45/+50 |
| | | | | /proc entries | ||||
* | Add standard process_start_time_seconds metric | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -0/+15 |
| | |||||
* | Add standard process_max_fds metric | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -0/+13 |
| | |||||
* | Add standard process_open_fds metric | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -20/+29 |
| | |||||
* | Add standard process_*_memory_bytes metrics | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -0/+8 |
| | |||||
* | Use /proc/self/stat to generate the new process_cpu_*_seconds_total metrics | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -4/+12 |
| | |||||
* | Export CPU usage metrics also under prometheus-standard metric name | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -0/+15 |
| | |||||
* | Callback metric values might not just be integers - allow floats | Paul "LeoNerd" Evans | 2016-10-19 | 1 | -2/+2 |
| | |||||
* | Make psutil optional | Erik Johnston | 2016-08-08 | 2 | -5/+13 |
| | |||||
* | Don't explode if we have no snapshots yet | Erik Johnston | 2016-07-20 | 1 | -0/+3 |
| | |||||
* | Add metrics for psutil derived memory usage | Erik Johnston | 2016-07-20 | 2 | -1/+46 |
| | |||||
* | Don't track total objects as its too expensive to calculate | Erik Johnston | 2016-06-07 | 1 | -1/+0 |
| | |||||
* | Record some more GC metrics | Erik Johnston | 2016-06-07 | 1 | -0/+5 |
| | |||||
* | Also record number of unreachable objects | Erik Johnston | 2016-06-07 | 1 | -2/+4 |
| | |||||
* | Change the way we do stats | Erik Johnston | 2016-06-07 | 1 | -7/+3 |
| | |||||
* | Merge pull request #771 from matrix-org/erikj/gc_tick | Erik Johnston | 2016-06-07 | 1 | -0/+26 |
|\ | | | | | Manually run GC on reactor tick. | ||||
| * | Count number of GC collects | Erik Johnston | 2016-05-16 | 1 | -5/+11 |
| | | |||||
| * | Add a comment | Erik Johnston | 2016-05-13 | 1 | -0/+5 |
| | | |||||
| * | Manually run GC on reactor tick. | Erik Johnston | 2016-05-09 | 1 | -0/+15 |
| | | | | | | | | This also adds a metric for amount of time spent in GC. | ||||
* | | Change CacheMetrics to be quicker | Erik Johnston | 2016-06-03 | 2 | -32/+28 |
|/ | | | | | | We change it so that each cache has an individual CacheMetric, instead of having one global CacheMetric. This means that when a cache tries to increment a counter it does not need to go through so many indirections. | ||||
* | copyrights | Matthew Hodgson | 2016-01-07 | 3 | -3/+3 |
| | |||||
* | Check that /proc/self/fd exists before listing it | Mark Haines | 2015-09-07 | 1 | -0/+4 |
| | |||||
* | The maxrss reported by getrusage is in kilobytes, not pages | Mark Haines | 2015-09-07 | 1 | -4/+3 |
| | |||||
* | Also check for presence of 'threadCallQueue' in reactor | Erik Johnston | 2015-08-18 | 1 | -1/+8 |
| | |||||
* | Use more helpful variable names | Erik Johnston | 2015-08-18 | 1 | -3/+3 |
| | |||||
* | Fix pending_calls metric to not lie | Erik Johnston | 2015-08-14 | 1 | -3/+18 |
| | |||||
* | Don't time getDelayedCalls | Erik Johnston | 2015-08-13 | 1 | -1/+1 |
| | |||||
* | Add some metrics about the reactor | Erik Johnston | 2015-08-13 | 1 | -0/+29 |
| | |||||
* | Appease pep8 | Paul "LeoNerd" Evans | 2015-04-01 | 1 | -0/+1 |
| | |||||
* | Report process open filehandles in metrics | Paul "LeoNerd" Evans | 2015-04-01 | 1 | -0/+34 |
| | |||||
* | Appease pyflakes | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -1/+1 |
| | |||||
* | Delete unused import of NOT_READY_YET | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -1/+0 |
| | |||||
* | Appease pep8 | Paul "LeoNerd" Evans | 2015-03-12 | 3 | -7/+9 |
| | |||||
* | Replace the @metrics.counted annotations in federation with ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -17/+0 |
| | | | | specifically-written counters and distributions | ||||
* | Add an .inc_by() method to CounterMetric; implement DistributionMetric a ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -23/+14 |
| | | | | neater way | ||||
* | Don't forbid '_' in metric basenames any more, to allow things like foo_time | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -5/+0 |
| | |||||
* | Rename TimerMetric to DistributionMetric; as it could count more than just time | Paul "LeoNerd" Evans | 2015-03-12 | 2 | -14/+18 |
| | |||||
* | Export CacheMetric as hits+total, rather than hits+misses, as it's easier to ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -5/+6 |
| | | | | derive hit ratio from that | ||||
* | Remember to emit final linefeed from /metrics page, or Prometheus gets upset | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -0/+2 |
| | |||||
* | Prometheus needs "escaped" label values | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -2/+6 |
| | |||||
* | Kill unused CounterMetric.fetch() method | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -3/+0 |
| | |||||
* | Use _ instead of . as a metric namespacing separator, for Prometheus | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -3/+11 |
| | |||||
* | Have all @metrics.counted use a single metric name vectored on the method ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -2/+9 |
| | | | | name, rather than a brand new scalar counter per counted method | ||||
* | Bugfix to rendering output of vectored TimerMetrics | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -3/+2 |
| | |||||
* | Rename Metrics' "keys" to "labels" | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -12/+12 |
| | |||||
* | Provide some process resource usage metrics | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -0/+27 |
| | |||||
* | Neater register_* methods on overall Metrics container | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -22/+12 |
| | |||||
* | Neater implementation of metric render methods by pulling out 'render' as a ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -18/+15 |
| | | | | base method that calls self.render_item | ||||
* | Initial hack at a TimerMetric; for storing counts + duration accumulators | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -0/+48 |
| | |||||
* | Ensure that /_synapse/metrics response is UTF-8 encoded | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -1/+2 |
| | |||||
* | Implement vector CallbackMetrics | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -2/+6 |
| | |||||
* | Neater introspection methods on BaseMetric so that subclasses don't need to ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -4/+11 |
| | | | | touch self.keys directly | ||||
* | Rename CacheCounterMetric to just CacheMetric; add a CallbackMetric ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 2 | -7/+12 |
| | | | | component to give the size of the cache | ||||
* | Ensure that exceptions while rendering individual metrics don't stop others ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -1/+10 |
| | | | | from being rendered anyway - especially useful for CallbackMetric | ||||
* | Initial attempt at a scalar callback-based metric to give instantaneous ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 2 | -1/+24 |
| | | | | snapshot gauges | ||||
* | Create the concept of a cachecounter metric; generating two counters ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 2 | -7/+47 |
| | | | | specific to caches | ||||
* | Have the MetricsResource actually render metric counters | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -1/+3 |
| | |||||
* | An initial implementation of a 'metrics' instance, similar to a 'logger' for ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -0/+69 |
| | | | | keeping counter stats on method calls | ||||
* | Initial tiny attempt at (vectorable) counter metrics | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -0/+54 |
| | |||||
* | A trivial 'hello world'-style resource on /_synapse/metrics, with optional ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -0/+37 |
commandline flag |