Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #3213 from matrix-org/rav/consent_handler | Richard van der Hoff | 2018-05-16 | 1 | -2/+74 |
|\ | | | | | ConsentResource to gather policy consent from users | ||||
| * | ConsentResource to gather policy consent from users | Richard van der Hoff | 2018-05-15 | 1 | -2/+74 |
| | | | | | | | | | | Hopefully there are enough comments and docs in this that it makes sense on its own. | ||||
* | | Set Server header in SynapseRequest | Richard van der Hoff | 2018-05-10 | 1 | -10/+4 |
|/ | | | | | | | | | | | | (instead of everywhere that writes a response. Or rather, the subset of places which write responses where we haven't forgotten it). This also means that we don't have to have the mysterious version_string attribute in anything with a request handler. Unfortunately it does mean that we have to pass the version string wherever we instantiate a SynapseSite, which has been c&ped 150 times, but that is code that ought to be cleaned up anyway really. | ||||
* | Remove redundant request_handler decorator | Richard van der Hoff | 2018-05-10 | 1 | -7/+2 |
| | | | | | | This is needless complexity; we might as well use the wrapper directly. Also rename wrap_request_handler->wrap_json_request_handler. | ||||
* | Factor wrap_request_handler_with_logging out of wrap_request_handler | Richard van der Hoff | 2018-05-10 | 1 | -54/+66 |
| | | | | ... so that it can be used on non-JSON endpoints | ||||
* | Remove include_metrics param | Richard van der Hoff | 2018-05-10 | 1 | -17/+7 |
| | | | | | The metrics are now available via the request, so this is redundant and can go away at last. | ||||
* | Move outgoing_responses_counter handling to RequestMetrics | Richard van der Hoff | 2018-05-10 | 1 | -4/+0 |
| | | | | it's much neater there. | ||||
* | Bump requests_counter in wrapped_request_handler | Richard van der Hoff | 2018-05-10 | 1 | -4/+11 |
| | | | | less magic | ||||
* | Move RequestMetrics handling into SynapseRequest.processing() | Richard van der Hoff | 2018-05-10 | 1 | -13/+6 |
| | | | | | It fits quite nicely here, and opens the path to getting rid of the "include_metrics" mess. | ||||
* | Make RequestMetrics take a raw time rather than a clock | Richard van der Hoff | 2018-05-10 | 1 | -2/+2 |
| | | | | ... which is going to make it easier to move around. | ||||
* | Move request_id management into SynapseRequest | Richard van der Hoff | 2018-05-10 | 1 | -15/+16 |
| | |||||
* | Move RequestsMetrics to its own file | Richard van der Hoff | 2018-05-09 | 1 | -124/+4 |
| | | | | | | This is useful in its own right, because server.py is full of stuff; but more importantly, I want to do some refactoring that will cause a circular reference as it is. | ||||
* | more bytes strings | Adrian Tschira | 2018-04-29 | 1 | -1/+1 |
| | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | Merge pull request #3061 from NotAFile/add-some-byte-strings | Richard van der Hoff | 2018-04-09 | 1 | -2/+2 |
|\ | | | | | Add b prefixes to some strings that are bytes in py3 | ||||
| * | Add b prefixes to some strings that are bytes in py3 | Adrian Tschira | 2018-04-04 | 1 | -2/+2 |
| | | | | | | | | | | | | This has no effect on python2 Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | | Revert "Merge pull request #3066 from matrix-org/rav/remove_redundant_metrics" | Richard van der Hoff | 2018-04-09 | 1 | -0/+26 |
| | | | | | | | | | | | | | | We aren't ready to release this yet, so I'm reverting it for now. This reverts commit d1679a4ed7947b0814e0f2af9b888a16c588f1a1, reversing changes made to e089100c6231541c446e37e157dec8feed02d283. | ||||
* | | Add response size metrics | Erik Johnston | 2018-04-06 | 1 | -0/+7 |
| | | |||||
* | | Remove redundant metrics which were deprecated in 0.27.0. | Richard van der Hoff | 2018-04-04 | 1 | -26/+0 |
|/ | |||||
* | Add Cache-Control headers to all JSON APIs | Erik Johnston | 2018-03-21 | 1 | -0/+1 |
| | | | | | | | | | | | | It is especially important that sync requests don't get cached, as if a sync returns the same token given then the client will call sync with the same parameters again. If the previous response was cached it will get reused, resulting in the client tight looping making the same request and never making any progress. In general, clients will expect to get up to date data when requesting APIs, and so its safer to do a blanket no cache policy than only whitelisting APIs that we know will break things if they get cached. | ||||
* | Merge branch 'master' of github.com:matrix-org/synapse into develop | Erik Johnston | 2018-03-19 | 1 | -2/+0 |
|\ | |||||
| * | Replace ujson with simplejson | Erik Johnston | 2018-03-15 | 1 | -3/+2 |
| | | |||||
* | | Replace some ujson with simplejson to make it work | Erik Johnston | 2018-03-16 | 1 | -1/+2 |
| | | |||||
* | | Add some docstrings to help figure this out | Richard van der Hoff | 2018-03-09 | 1 | -2/+26 |
| | | |||||
* | | Add a metric which increments when a request is received | Richard van der Hoff | 2018-03-09 | 1 | -2/+10 |
| | | | | | | | | | | | | 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. | ||||
* | | refactor JsonResource | Richard van der Hoff | 2018-03-09 | 1 | -32/+46 |
| | | | | | | | | | | rephrase the OPTIONS and unrecognised request handling so that they look similar to the common flow. | ||||
* | | Merge remote-tracking branch 'origin/develop' into rav/track_db_scheduling | Richard van der Hoff | 2018-01-17 | 1 | -9/+9 |
|\ \ | |||||
| * \ | Merge pull request #2793 from matrix-org/rav/db_txn_time_in_millis | Richard van der Hoff | 2018-01-17 | 1 | -1/+3 |
| |\ \ | | | | | | | | | Track db txn time in millisecs | ||||
| * | | | Fix 'NoneType' object has no attribute 'writeHeaders' | Richard van der Hoff | 2018-01-16 | 1 | -9/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid throwing a (harmless) exception when we try to write an error response to an http request where the client has disconnected. This comes up as a CRITICAL error in the logs which tends to mislead people into thinking there's an actual problem | ||||
* | | | | Track DB scheduling delay per-request | Richard van der Hoff | 2018-01-16 | 1 | -0/+7 |
| |/ / |/| | | | | | | | | | | | | | | For each request, track the amount of time spent waiting for a db connection. This entails adding it to the LoggingContext and we may as well add metrics for it while we are passing. | ||||
* | | | Track db txn time in millisecs | Richard van der Hoff | 2018-01-16 | 1 | -1/+3 |
|/ / | | | | | | | ... to reduce the amount of floating-point foo we do. | ||||
* | | Reorganise request and block metrics | Richard van der Hoff | 2018-01-15 | 1 | -14/+42 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to circumvent the number of duplicate foo:count metrics increasing without bounds, it's time for a rearrangement. The following are all deprecated, and replaced with synapse_util_metrics_block_count: synapse_util_metrics_block_timer:count synapse_util_metrics_block_ru_utime:count synapse_util_metrics_block_ru_stime:count synapse_util_metrics_block_db_txn_count:count synapse_util_metrics_block_db_txn_duration:count The following are all deprecated, and replaced with synapse_http_server_response_count: synapse_http_server_requests synapse_http_server_response_time:count synapse_http_server_response_ru_utime:count synapse_http_server_response_ru_stime:count synapse_http_server_response_db_txn_count:count synapse_http_server_response_db_txn_duration:count The following are renamed (the old metrics are kept for now, but deprecated): synapse_util_metrics_block_timer:total -> synapse_util_metrics_block_time_seconds synapse_util_metrics_block_ru_utime:total -> synapse_util_metrics_block_ru_utime_seconds synapse_util_metrics_block_ru_stime:total -> synapse_util_metrics_block_ru_stime_seconds synapse_util_metrics_block_db_txn_count:total -> synapse_util_metrics_block_db_txn_count synapse_util_metrics_block_db_txn_duration:total -> synapse_util_metrics_block_db_txn_duration_seconds synapse_http_server_response_time:total -> synapse_http_server_response_time_seconds synapse_http_server_response_ru_utime:total -> synapse_http_server_response_ru_utime_seconds synapse_http_server_response_ru_stime:total -> synapse_http_server_response_ru_stime_seconds synapse_http_server_response_db_txn_count:total -> synapse_http_server_response_db_txn_count synapse_http_server_response_db_txn_duration:total synapse_http_server_response_db_txn_duration_seconds | ||||
* | | Update http request metrics before calling servlet | Richard van der Hoff | 2018-01-09 | 1 | -11/+19 |
|/ | | | | | Make sure that we set the servlet name in the metrics object *before* calling the servlet, in case the servlet throws an exception. | ||||
* | Improve tracebacks on exceptions | Richard van der Hoff | 2017-11-27 | 1 | -3/+9 |
| | | | | | Use failure.Failure to recover our failure, which will give us a useful stacktrace, unlike the rethrown exception. | ||||
* | replace 'except:' with 'except Exception:' | Richard van der Hoff | 2017-10-23 | 1 | -1/+1 |
| | | | | what could possibly go wrong | ||||
* | Initial group server implementation | Erik Johnston | 2017-07-10 | 1 | -1/+3 |
| | |||||
* | allow Authorization header which handling got implemented in #1098 | Krombel | 2017-06-16 | 1 | -1/+1 |
| | | | | Signed-off-by: Matthias Kesler <krombel@krombel.de> | ||||
* | Set CORs headers on responses from the media repo | Mark Haines | 2016-11-02 | 1 | -5/+18 |
| | |||||
* | Add exception logging. Fix typo | Erik Johnston | 2016-08-22 | 1 | -3/+3 |
| | |||||
* | Allow request handlers to override metric name | Erik Johnston | 2016-08-22 | 1 | -21/+31 |
| | |||||
* | Use top level measure | Erik Johnston | 2016-08-22 | 1 | -15/+1 |
| | |||||
* | Add a top level measure | Erik Johnston | 2016-08-19 | 1 | -45/+46 |
| | |||||
* | Remove redundant measure | Erik Johnston | 2016-08-19 | 1 | -35/+34 |
| | |||||
* | Measure http.server render | Erik Johnston | 2016-08-19 | 1 | -28/+30 |
| | |||||
* | Log when adding listeners | Richard van der Hoff | 2016-07-25 | 1 | -0/+1 |
| | |||||
* | Fix more typos in per-request metrics | Mark Haines | 2016-04-28 | 1 | -4/+5 |
| | |||||
* | Fix typo in request metrics | Mark Haines | 2016-04-28 | 1 | -1/+1 |
| | |||||
* | Add a comment explaining why automatic metric reporting is disabled for ↵ | Mark Haines | 2016-04-28 | 1 | -0/+4 |
| | | | | JsonResource | ||||
* | Check if report_metrics is True | Mark Haines | 2016-04-28 | 1 | -3/+4 |
| | |||||
* | Report per request metrics for all of the things using request_handler | Mark Haines | 2016-04-28 | 1 | -38/+63 |
| | |||||
* | Intern all the things | Erik Johnston | 2016-03-23 | 1 | -4/+6 |
| | |||||
* | Catch the exceptions thrown by twisted when you write to a closed connection | Mark Haines | 2016-02-12 | 1 | -1/+20 |
| | |||||
* | Fix up logcontexts | Erik Johnston | 2016-02-08 | 1 | -3/+2 |
| | |||||
* | Add metrics to pushers | Erik Johnston | 2016-02-08 | 1 | -0/+10 |
| | |||||
* | Allowing tagging log contexts | Erik Johnston | 2016-02-03 | 1 | -15/+26 |
| | |||||
* | copyrights | Matthew Hodgson | 2016-01-07 | 1 | -1/+1 |
| | |||||
* | Fix typo | Daniel Wagner-Hall | 2015-12-16 | 1 | -1/+1 |
| | |||||
* | Include errcode on Internal Server Error | Daniel Wagner-Hall | 2015-12-14 | 1 | -2/+5 |
| | |||||
* | Track the time spent in the database per request. | Mark Haines | 2015-12-07 | 1 | -0/+15 |
| | | | | and track the number of transactions that request started. | ||||
* | Add metrics to track the cpu on the main thread consumed by each type of request | Mark Haines | 2015-12-04 | 1 | -0/+17 |
| | |||||
* | Host /unstable and /r0 versions of r0 APIs | Daniel Wagner-Hall | 2015-12-01 | 1 | -6/+7 |
| | |||||
* | Remove syutil dependency in favour of smaller single-purpose libraries | Mark Haines | 2015-08-24 | 1 | -6/+6 |
| | |||||
* | Don't 500 if a group is missing from the regex | Mark Haines | 2015-07-06 | 1 | -1/+1 |
| | |||||
* | Disable twisted access logging. Move access logging to SynapseRequest object | Erik Johnston | 2015-06-15 | 1 | -58/+32 |
| | |||||
* | Log more when we have processed the request | Erik Johnston | 2015-06-15 | 1 | -2/+12 |
| | |||||
* | Create SynapseRequest that overrides __repr__ to not print access_token | Erik Johnston | 2015-06-15 | 1 | -11/+3 |
| | |||||
* | Make http.server request logging more verbose, but redact access_tokens | Erik Johnston | 2015-06-15 | 1 | -2/+12 |
| | |||||
* | Remove log line | Erik Johnston | 2015-05-29 | 1 | -1/+0 |
| | |||||
* | Add config option to turn off freezing events. Use new encode_json api and ↵ | Erik Johnston | 2015-05-29 | 1 | -4/+13 |
| | | | | ujson.loads | ||||
* | Fix up leak. Add warnings. | Erik Johnston | 2015-05-08 | 1 | -2/+4 |
| | |||||
* | Unused import | David Baker | 2015-04-30 | 1 | -1/+1 |
| | |||||
* | Doesn't look like this is used anymore | David Baker | 2015-04-30 | 1 | -13/+0 |
| | |||||
* | Merge branch 'develop' into csauth | David Baker | 2015-04-24 | 1 | -97/+124 |
|\ | | | | | | | | | Conflicts: synapse/http/server.py | ||||
| * | Combine the request wrappers in rest/media/v1 and http/server into a single ↵ | Mark Haines | 2015-04-21 | 1 | -3/+12 |
| | | | | | | | | wrapper decorator | ||||
| * | Split out the JsonResource request logging and error handling into a ↵ | Mark Haines | 2015-04-21 | 1 | -94/+113 |
| | | | | | | | | separate wrapper function | ||||
* | | Explain how I justified to myself making JsonResource not always send JSON. | David Baker | 2015-04-01 | 1 | -0/+7 |
| | | |||||
* | | Completely replace fallback auth for C/S V2: | David Baker | 2015-04-01 | 1 | -2/+5 |
| | | | | | | | | | | | | | | * Now only the auth part goes to fallback, not the whole operation * Auth fallback is a normal API endpoint, not a static page * Params like the recaptcha pubkey can just live in the config Involves a little engineering on JsonResource so its servlets aren't always forced to return JSON. I should document this more, in fact I'll do that now. | ||||
* | | Make docs a bit more true | David Baker | 2015-03-31 | 1 | -1/+1 |
| | | |||||
* | | Grammar and deduplication | David Baker | 2015-03-31 | 1 | -5/+4 |
|/ | |||||
* | Add a DistributionMetric to HTTP request/response processing time in the server | Paul "LeoNerd" Evans | 2015-03-16 | 1 | -0/+9 |
| | |||||
* | actually uphold the bind_host parameter. in theory should make ipv6 binds ↵ | Matthew Hodgson | 2015-03-14 | 1 | -1/+6 |
| | | | | work like bind_host: 'fe80::1%lo0' | ||||
* | Appease pep8 | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -3/+5 |
| | |||||
* | Count incoming HTTP requests per servlet that responds | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -7/+11 |
| | |||||
* | Use _ instead of . as a metric namespacing separator, for Prometheus | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -2/+2 |
| | |||||
* | Rename Metrics' "keys" to "labels" | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -2/+2 |
| | |||||
* | Add vector counters to HTTP clients and servers; count the requests by ↵ | Paul "LeoNerd" Evans | 2015-03-12 | 1 | -0/+14 |
| | | | | method and responses by method and response code | ||||
* | Slightly reduce the insane amounts of indentation in main http server ↵ | Paul "LeoNerd" Evans | 2015-03-05 | 1 | -21/+23 |
| | | | | response path, by 'continue'ing around a non-match or falling through | ||||
* | Use git aware version string in User-Agent and Server headers | Erik Johnston | 2015-02-18 | 1 | -9/+18 |
| | |||||
* | Fix bug where variable was not always defined | Erik Johnston | 2015-02-11 | 1 | -2/+1 |
| | |||||
* | Log when we receive a request, when we send a response and how long it took ↵ | Erik Johnston | 2015-02-09 | 1 | -2/+21 |
| | | | | to process it. | ||||
* | Oops: second part of commit dc938606 | David Baker | 2015-01-22 | 1 | -6/+2 |
| | |||||
* | Update copyright notices | Mark Haines | 2015-01-06 | 1 | -2/+2 |
| | |||||
* | Set a content-length for JSON responses | Mark Haines | 2015-01-06 | 1 | -0/+1 |
| | |||||
* | Include version in User-Agent and Server headers | Mark Haines | 2014-12-22 | 1 | -3/+6 |
| | |||||
* | Fix tests and remove debug logging | Erik Johnston | 2014-12-12 | 1 | -4/+0 |
| | |||||
* | Consistently url decode and decode as utf 8 the URL parts | Erik Johnston | 2014-12-12 | 1 | -1/+11 |
| | |||||
* | Get uploads working with new media repo | Mark Haines | 2014-12-02 | 1 | -2/+2 |
| | |||||
* | Write the upload portion of version 1 of the media repository | Mark Haines | 2014-12-02 | 1 | -7/+14 |
| | |||||
* | Fix pep8 codestyle warnings | Mark Haines | 2014-11-20 | 1 | -2/+1 |
| | |||||
* | Use module loggers rather than the root logger. Exceptions caused by bad ↵ | Mark Haines | 2014-11-20 | 1 | -1/+1 |
| | | | | clients shouldn't cause ERROR level logging. Fix sql logging to use 'repr' rather than 'str' | ||||
* | Add a request-id to each log line | Mark Haines | 2014-10-30 | 1 | -1/+12 |
| | |||||
* | fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org ↵ | Matthew Hodgson | 2014-09-03 | 1 | -1/+1 |
| | | | | hasn't been incorporated in time for launch. | ||||
* | move contentrepo class to it's own file | Mark Haines | 2014-09-03 | 1 | -162/+1 |
| | |||||
* | Set status message for ratelimit error responses | Mark Haines | 2014-09-03 | 1 | -5/+9 |
| | |||||
* | given everything's apparently gone https:// by default for c-s, change this ↵ | Matthew Hodgson | 2014-09-01 | 1 | -1/+5 |
| | | | | hardcoding... | ||||
* | missed a s#/matrix#/_matrix/g | Matthew Hodgson | 2014-08-31 | 1 | -1/+1 |
| | |||||
* | For the content repo, don't just use homeserver.hostname as that might not ↵ | Erik Johnston | 2014-08-24 | 1 | -1/+3 |
| | | | | include the port due to SRV. | ||||
* | Make the content repo work with in daemon mode. Return the full url on ↵ | Erik Johnston | 2014-08-22 | 1 | -6/+20 |
| | | | | upload. Update the webclient to use new content repo api. | ||||
* | Reduce the amount of incredibly spammy stack traces. Expected errors (e.g. ↵ | Kegan Dougal | 2014-08-19 | 1 | -1/+13 |
| | | | | SynapseErrors) shouldn't have their full trace logged every time. Don't send responses to disconnected requests. | ||||
* | Small amounts of cleanup and bonus round comments. | Kegan Dougal | 2014-08-18 | 1 | -4/+8 |
| | |||||
* | Implemented GETs for the ContentRepoResource. It all actually appears to be ↵ | Kegan Dougal | 2014-08-18 | 1 | -11/+60 |
| | | | | working. | ||||
* | hs: Make the uploads directory if it doesn't exist. Namespace uploads by the ↵ | Kegan Dougal | 2014-08-18 | 1 | -5/+46 |
| | | | | base64 encoded user id of the uploader. Make a reasonable attempt to retry clashing upload paths. Try to guess a sensible file extension depending on the content type. | ||||
* | Auth content uploads. Added a mapping function from request > filename. ↵ | Kegan Dougal | 2014-08-18 | 1 | -12/+32 |
| | | | | Added exception handling for content uploads. webclient: Only prefix the client API path on doRequest, not doBaseRequest (this would've broken the identity server auth too). Added matrixService.uploadContent. May not require mFileUpload anymore. | ||||
* | Added /matrix/content path, HS resource_for_content_repo attribute and ↵ | Kegan Dougal | 2014-08-18 | 1 | -0/+28 |
| | | | | FileUploadResource. Added stub methods. | ||||
* | If the web client is enabled, automatically redirect root '/' to the web ↵ | Kegan Dougal | 2014-08-14 | 1 | -0/+17 |
| | | | | client path. | ||||
* | Removed http_server from HomeServer. Updated unit tests to use either ↵ | Kegan Dougal | 2014-08-14 | 1 | -9/+3 |
| | | | | resource_for_federation or resource_for_client depending on what is being tested. | ||||
* | Start phasing out HttpServer: we should be using Resources instead. Added ↵ | Kegan Dougal | 2014-08-14 | 1 | -0/+5 |
| | | | | resource_for_client/federation/web_client to the HomeServer and hooked the C-S servlets to operate on resource_for_client. Dynamically construct the Resource tree. | ||||
* | add in whitespace after copyright statements to improve legibility | Matthew Hodgson | 2014-08-13 | 1 | -0/+1 |
| | |||||
* | Just say yes to OPTIONS requests, since we want to turn on CORS headers for ↵ | Erik Johnston | 2014-08-12 | 1 | -0/+5 |
| | | | | all paths | ||||
* | Reference Matrix Home Server | matrix.org | 2014-08-12 | 1 | -0/+181 |